Linux

CentOS 6.4でオンラインストレージ「Box」をWebDAV(davfs2)マウント:rpmforgeからfstab設定:LinuxでBoxをマウント編

boxにWebdavでアクセス失敗して困っている人へ

boxにWebdavでアクセス失敗する人はURLを確認してください。
「https://www.box.com/dav」と「https://app.box.com/dav」ではアクセスできませんでした。
「https://dav.box.com/dav」です。

Nexus 5でもBoxで50GBプレゼントキャンペーン

iPhoneで50GBの容量をGETできると話題のオンラインストレージBoxですが、とりあえずNexus 5でBoxのアプリを入れてみたらLGのデバイスでも50GBプレゼントキャンペーンが適応されました。

思わぬところで50GBのオンラインストレージが手に入ったので、VPSのファイルバックアップ先としてWebDAV利用してみます。

試した環境は「さくらのVPS 2G」と「ServersMan@VPS」です。

rpmforgeのインストールからfstab設定

まずはdavfs2が必要なのでrpmforgeからインストールします。

[code language=”bash”]
[root@vp52 ~]# rpm –import http://apt.sw.be/RPM-GPG-KEY.dag.txt
[root@vp52 ~]# rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm を取得中
準備中… ########################################### [100%]
1:rpmforge-release ########################################### [100%]
[root@vp52 ~]#
[/code]

davfs2をインストールします。

[code language=”bash”]
[root@vp52 ~]# yum install -y davfs2
Loaded plugins: fastestmirror
・・・・・・・・・・・・・
・・・・・・・・・・・・・省略・・・・・・・・・・・・・
・・・・・・・・・・・・・
Dependencies Resolved
===============================================================================================================
Package Arch Version Repository Size
===============================================================================================================
Installing:
davfs2 x86_64 1.4.6-1.el6.rf rpmforge 218 k
Installing for dependencies:
libproxy x86_64 0.3.0-4.el6_3 base 39 k
libproxy-bin x86_64 0.3.0-4.el6_3 base 8.2 k
libproxy-python x86_64 0.3.0-4.el6_3 base 8.4 k
neon x86_64 0.29.3-3.el6_4 base 119 k
pakchois x86_64 0.4-3.2.el6 base 21 k
Transaction Summary
===============================================================================================================
Install 6 Package(s)
・・・・・・・・・・・・・
・・・・・・・・・・・・・省略・・・・・・・・・・・・・
・・・・・・・・・・・・・
Installed:
davfs2.x86_64 0:1.4.6-1.el6.rf
Dependency Installed:
libproxy.x86_64 0:0.3.0-4.el6_3 libproxy-bin.x86_64 0:0.3.0-4.el6_3 libproxy-python.x86_64 0:0.3.0-4.el6_3
neon.x86_64 0:0.29.3-3.el6_4 pakchois.x86_64 0:0.4-3.2.el6
Complete!
[root@vp52 ~]#
[/code]

Boxをマウントするディレクトリを作成します。


[code language=”bash”]
[root@vp52 ~]# mkdir /var/box
[/code]

とりあえずBoxをマウントできるかテスト



[code language=”bash”]
[root@vp52 ~]# mount -t davfs https://www.box.com/dav /var/box/
Please enter the username to authenticate with server
https://www.box.com/dav or hit enter for none.
Username: *******@gmail.com
Please enter the password to authenticate user *******@gmail.com with server
https://www.box.com/dav or hit enter for none.
Password:
/sbin/mount.davfs: Mounting failed.
302 Found
[root@vp52 ~]#
[/code]

Boxのwebdavのマウント失敗。。。
302 Foundリダイレクトされてる??
ブラウザで確認してみると、https://www.box.com/davからhttps://app.box.com/davへリダイレクトされていました。
https://www.box.com/davは古いのかな?

app.box.comでマウントの再チャレンジ


[code language=”bash”]
[root@vp52 ~]# mount -t davfs https://app.box.com/dav /var/box/
/sbin/mount.davfs: Mounting failed.
404 Not Found
[root@vp52 ~]#
[/code]

app.box.comでもwebdavのマウントできませんでした。。。
今度は404 Not Found
ここまで来て始めてBoxのオンラインヘルプページを見てアクセスURLが「https://dav.box.com/dav」だということを知る。

[code language=”bash”]
[root@vp52 ~]# mount -t davfs https://dav.box.com/dav /var/box/
Please enter the username to authenticate with server
https://dav.box.com/dav or hit enter for none.
Username: *******@gmail.com
Please enter the password to authenticate user *******@gmail.com with server
https://dav.box.com/dav or hit enter for none.
Password:
[root@vp52 ~]#
[/code]

BoxをWebDAVマウントできた。

Boxのアカウント情報davfs2に設定する。



[code language=”bash”]
[root@vp52 ~]# vi /etc/davfs2/secrets

# /home/otto/.davfs2/certs/private/otto.crt geheim
# otto_private.crt "this is extraordinary secret"
# "otto private.crt" this\ is\ secret,\ too.
https://dav.box.com/dav メールアドレス パスワード
[/code]

ロックファイルを作らないようにdavfs2.confuse_locksを0に設定する。



[code language=”bash”]
[root@vp52 ~]# cat /etc/davfs2/davfs2.conf
# use_locks 1
use_locks 0
# lock_owner <user-name>
[/code]

Boxを自動でマウントしたいのでfstabへ記載する。


[code language=”bash”]
[root@vp52 ~]# cat /etc/fstab
none /dev/pts devpts rw,gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
https://dav.box.com/dav /var/box davfs rw,user,noauto 0 0
[root@vp52 ~]#
[/code]

※マウントに失敗した理由※
Box.comのWebDAVのURLはいろいろなブログで「https://www.box.com/dav」、「https://app.box.com/dav」など紹介されていましたが、自分がマウント成功したのは「https://dav.box.com/dav」でした。

mysqlのリカバリーでmysqlbinlog: unknown variable ‘default-character-set=utf8’

mysqlがクラッシュして、binlogを確認しようとしたら

[root@cl.051.db ~]# mysqlbinlog /var/mysqld/mybin-log.000121
mysqlbinlog: unknown variable 'default-character-set=utf8'
[root@cl.051.db ~]# 

my.cnfの[client]にdefault-character-setが指定されていることが原因のようなので下記のコマンドにしたら、OKだった。

[root@cl.051.db ~]#mysqlbinlog --no-defaults /var/mysqld/mybin-log.000121

CentOS6.2にサーバ仮想化ソフトOpenVZをインストール

VPSやレンタルサーバを借りてると、Parallels Virtuozzo(OpenVZの有料版)が使われてる機会が多いので
centos6.2にサーバ仮想化ソフトOpenVZをインストールして試してみました。

centos6.2にサーバ仮想化ソフトOpenVZをインストールして試してみました。

まずはopenvzのレポジトリ(openvz.repo)を追加します。

次にOpenVZ用のカーネルなどを(openvz.repo)からインストール。

これでOpenVZ対応のカーネルがインストールされているはずなのでgrub.confを見てみる。

ちゃんと(2.6.32-042stab044.11)になってる、が1/18日に最新版がでていた(2.6.32-042stab044.17)、一応アップデート

Ubuntu 10.04.3 LTSでAndroidのOSをビルド

AndroidのOSをビルドをしてみた。

マシンが余ったので、Ubuntu 10.04.3LTS(2.6.32-35-generic)をインストールしてAndroidのOSをビルドしてみた。
chromeOSのビルドをしたときもそうですが、yum、aptで育ったのでmakeは苦手です。
androidOSのビルドもrepoやgitは見よう見まねなところがあります。

Androidをビルドするマシンを準備

Android4.0のビルドは16GBのメモリを必要とか噂が出てますが、android2系と3系をとりあえずビルドして
エミュレータで動かしてみたいのが目的なので、PenDのメモリ2GマシンにUbuntu 10.04.3 LTSをUNetbootinを使ってUSBからインストールします。
GUIでは特に設定はせず、後でまとめてapt-getします。

AndroidOSビルドに必要なパッケージのインストール

何度もビルド中にエラーとなり調べると、-m32オプションがあるので、32bitライブラリも必要とのこと。
後になって足りなくなったりしたので、Androidビルドに必要なパッケージは重複してるかもしれません。

[sourcecode language=”bash”]
sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
sudo apt-get install libreadline5-dev
sudo apt-get install lib32z1-dev lib32ncurses5-dev
sudo add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse"
sudo add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ hardy-updates multiverse"
sudo apt-get update
sudo apt-get install sun-java5-jdk
sudo apt-get install sun-java6-jdk
[/sourcecode]

gitやrepoの設定

何度もビルド中にエラーとなり調べると、-m32オプションがあるので、32bitライブラリも必要とのこと。
後になって足りなくなったりしたので、Androidビルドに必要なパッケージは重複してるかもしれません。

[sourcecode language=”bash”]
mkdir ~/bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
[/sourcecode]

bashrcへ忘れずに書き込む

[sourcecode language=”bash”]
export PATH=$PATH:~/bin
[/sourcecode]

ava-1.5.0-sunでエラーが連発していたのでjava-6-sunへ切り替えました。

[sourcecode language=”bash”]
sudo update-alternatives –config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path 優 Status
————————————————————
0 /usr/lib/jvm/java-6-sun/jre/bin/java 63 auto mode
1 /usr/lib/jvm/java-1.5.0-sun/jre/bin/java 53 manual mode
* 2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode
[/sourcecode]

bashrcにも書いておきます。

[sourcecode language=”bash”]
export JAVA_HOME=/usr/lib/jvm/java-6-sun
export ANDROID_JAVA_HOME=$JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH
[/sourcecode]

メールアドレスとユーザ名を入力します。(何でも良い)

[sourcecode language=”bash”]
git config –global user.email "root@doroidpanic.com"
git config –global user.name "doroidpanic.com"
[/sourcecode]

Androidのソースを取得

Androidのソースを取得
repo initは時間もあるので、バージョン指定のタグをつけずに行ないます。

[sourcecode language=”bash”]
doroidpanic@localhost:~/doroidpanic$mkdir doroidpanic
doroidpanic@localhost:~/doroidpanic$cd doroidpanic
doroidpanic@localhost:~/doroidpanic$repo init -u https://android.googlesource.com/platform/manifest
doroidpanic@localhost:~/doroidpanic$repo sync -j4
remote: Counting objects: 15, done
remote: Finding sources: 100% (13/13)
remote: Getting sizes: 120% (6/5)
remote: Compressing objects: 100% (3/3)
remote: Total 13 (delta 2), reused 13 (delta 2)
Unpacking objects: 100% (13/13), done.
From https://android.googlesource.com/platform/prebuilt
* [new branch] eclair-passion-release -> aosp/eclair-passion-release
* [new branch] eclair-release -> aosp/eclair-release
* [new branch] eclair-sholes-release -> aosp/eclair-sholes-release

doroidpanic@localhost:~/doroidpanic$source build/envsetup.sh
including device/htc/passion/vendorsetup.sh
including device/samsung/crespo/vendorsetup.sh
including device/samsung/crespo4g/vendorsetup.sh
including sdk/bash_completion/adb.bash

doroidpanic@localhost:~/doroidpanic$ lunch generic-eng
============================================
PLATFORM_VERSION_CODENAME=AOSP
PLATFORM_VERSION=3.1.4.1.5.9.2.6.5
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=OPENMASTER
============================================

[/sourcecode]

指定してrepo initする人はこんな感じです。

[sourcecode language=”bash”]
repo init -u https://android.googlesource.com/platform/manifest -b android-2.3_r1
[/sourcecode]

また、なんどか試していると「期待してない token `newline’ のあたりにシンタックスエラー」と表示されたので、潔くrepoを削除して、やり直しました。
initするときに表示されたので、タグはこれらがあるみたいです。

[sourcecode language=”bash”]
* [new branch] android-1.6_r1 -> origin/android-1.6_r1
* [new branch] android-1.6_r1.1 -> origin/android-1.6_r1.1
* [new branch] android-1.6_r1.2 -> origin/android-1.6_r1.2
* [new branch] android-1.6_r1.3 -> origin/android-1.6_r1.3
* [new branch] android-1.6_r1.4 -> origin/android-1.6_r1.4
* [new branch] android-1.6_r1.5 -> origin/android-1.6_r1.5
* [new branch] android-1.6_r2 -> origin/android-1.6_r2
* [new branch] android-2.0.1_r1 -> origin/android-2.0.1_r1
* [new branch] android-2.0_r1 -> origin/android-2.0_r1
* [new branch] android-2.1_r1 -> origin/android-2.1_r1
* [new branch] android-2.1_r2 -> origin/android-2.1_r2
* [new branch] android-2.1_r2.1p -> origin/android-2.1_r2.1p
* [new branch] android-2.1_r2.1p2 -> origin/android-2.1_r2.1p2
* [new branch] android-2.1_r2.1s -> origin/android-2.1_r2.1s
* [new branch] android-2.2.1_r1 -> origin/android-2.2.1_r1
* [new branch] android-2.2.1_r2 -> origin/android-2.2.1_r2
* [new branch] android-2.2.2_r1 -> origin/android-2.2.2_r1
* [new branch] android-2.2_r1 -> origin/android-2.2_r1
* [new branch] android-2.2_r1.1 -> origin/android-2.2_r1.1
* [new branch] android-2.2_r1.2 -> origin/android-2.2_r1.2
* [new branch] android-2.2_r1.3 -> origin/android-2.2_r1.3
* [new branch] android-2.3.1_r1 -> origin/android-2.3.1_r1
* [new branch] android-2.3.2_r1 -> origin/android-2.3.2_r1
* [new branch] android-2.3.3_r1 -> origin/android-2.3.3_r1
* [new branch] android-2.3.3_r1.1 -> origin/android-2.3.3_r1.1
* [new branch] android-2.3.4_r0.9 -> origin/android-2.3.4_r0.9
* [new branch] android-2.3.4_r1 -> origin/android-2.3.4_r1
* [new branch] android-2.3.5_r1 -> origin/android-2.3.5_r1
* [new branch] android-2.3.6_r0.9 -> origin/android-2.3.6_r0.9
* [new branch] android-2.3.6_r1 -> origin/android-2.3.6_r1
* [new branch] android-2.3.7_r1 -> origin/android-2.3.7_r1
* [new branch] android-2.3_r1 -> origin/android-2.3_r1
[/sourcecode]

AndroidOSをビルド

Androidのビルドを開始してみる。
仮想CPUを入れれば4スレッドなので、j4のオプションを付けてみる。

[sourcecode language=”bash”]
make -j4
[/sourcecode]

まだまだ終わりません、オプション-j4は利いてそうですがPenDの2Gでは荷が重いようです。
そろそろVAIO TypeZをデュアルブートでubuntuインストールしておこうかな。。

[sourcecode language=”bash”]
16519 doroidpanic 20 0 271m 11m 5848 R 13.8 0.6 0:00.42 cc1
16553 doroidpanic 20 0 270m 9660 5456 R 4.9 0.5 0:00.15 cc1
16555 doroidpanic 20 0 270m 9372 5384 R 4.6 0.5 0:00.14 cc1
11478 doroidpanic 20 0 156m 148m 988 S 2.0 7.4 0:41.91 make
16564 doroidpanic 20 0 269m 5500 2848 R 1.6 0.3 0:00.05 cc1
4 root 20 0 0 0 0 S 0.3 0.0 0:01.98 ksoftirqd/0
13505 root 20 0 19224 1376 1028 R 0.3 0.1 0:06.32 top
16516 doroidpanic 20 0 1952 608 520 S 0.3 0.0 0:00.01 arm-eabi-gcc
16551 doroidpanic 20 0 1952 608 520 S 0.3 0.0 0:00.01 arm-eabi-gcc
16554 doroidpanic 20 0 1952 608 520 S 0.3 0.0 0:00.01 arm-eabi-gcc
16563 doroidpanic 20 0 1952 608 520 S 0.3 0.0 0:00.01 arm-eabi-gcc
[/sourcecode]

CentOS5.6のphp53でPearは使えない。

CentOS6もやっとリリースされたけど、タイミング的に一足遅かったので5.6で構築した際の話。

CentOSの安定性追求を考えると仕方ないけど、さすがにPHP5.1系は厳しい
phpmyadminも5.1対応の2系のダウンロードリンク消えました。。
それもあって、前みたいにremiとepelを設定しようかと思ったら
追加のレポなしで、「php53」がインストールできた。

まずは既存の5.1を削除。

yum remove php php-*

次に5.3系をいろいろ入れる。

yum install php53 php53-devel php53-mbstring php53-mysql

簡単に5.3が使えるようになった。
んで、Apche、Mysqlを入れた後、SmartyをセットアップしてPearでいろいろ入れようとしたら
「pear list」だけでPEARがやたらとNoticeとかWARNINGを出してくるので、見てみると構文の問題みたい
参照を渡す時の&の使い方がよくないとか、いろいろ文句言ってくる。

なんと、php-pearはphp53には対応してないみたい。
でもPearでDBとかZipを使いたかったけど、インストールできない。
Pearのバージョンをあげようとしても、エラーがでるので無理やりPearをアップデートしてみる。

pear upgrade --force Archive_Tar
pear upgrade --force Console_Getopt
pear upgrade PEAR

Pearのアップデートはうまくいったけど、エラーが出まくって気持ち悪い。。
結局DBのインストールもできなかったので、phpを5.1に戻しました。

Fedora14をFedora15へYumでアップデート

DellMini9にFedora14を入れた後、せっかくFedoraにしたなら最新のFedora15にしたくなった。
とくに凝ったセットアップもしたないけど、Yumでいけないかなと調べてたらできた。

まずはYumをアップグレードして、キャッシュとかをお掃除。

yum update yum
yum clean all

そして、「releasever」オプションとかをつけて実行。

yum --releasever=15 --disableplugin=presto distro-sync

これでOKな感じだけど、Yumでエラーがでました。
mini9用にいれたbroadcom-wlが問題になってたので、いったん削除。
無線でMini9使ってるので、有線に切り替えなきゃいけないかと思ったけど
Yumで削除してもネットにはつながるので、よかった。。

それから「yum –releasever=15 –disableplugin=presto distro-sync」を再実行」
アップデートとインストールの対象が2345個・・・
試してみたけど、mini9だと3時間以上かかりました。
これならFedora15をネットワークインストールで入れなおしたほうが早かった。。

Fedora15から採用されたgnome-shellはどうも使いにくくて馴染めなかった。

dell mini9の無線LANをFedoraで認識させる。

DELLのMini9にFrdora14を遊びでいれてみました。
Windows7をいれてたけど、もともと高速ではないマシンだし、VAIO-Zがあるので
MySQLの高速化テストように再インストールしてみました。
RHEL系なら何でもよかったけど、とりあえず手元に日経Linuxの付属DVDがあったのでFedora14に決定。

よくあるRH系のインストール画面が進んで、なんも問題なく完了。
パーティションはLVMですすめて、インストール完了後にSwapを削除します。
メモリは2Gにしてあるのと、SSDにちょっと気を使ってみます。

有線は認識したけど、無線はドライバがないといわれてしまったのでドライバを当てます。

CentOSでもお世話になっている、rpmfusionを設定

rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

後はドライバをインストール

yum update
yum install broadcom-wl 

再起動すれば認識します。
ってことは、CentOSでも平気そう。

node.jsとnpmのトラブル

node.jsのパッケージマネージャーである、npmを使ってるが
いろんなマシンで試したけど、何かとトラブルがでる。

いろいろって言いながら、全部CentOSです。

・VMwere上のCentOS5.5
・VirtualBox上のCentOS5.5
・物理マシン上のCentOS5.4
・ServerMan上のCentOS5.5

仮想ソフトは関係ないと思うけど、いろいろトラブルからインストール時に
~develとかのパッケージを入れたり、試してみた。
今のところ一番うまく言ったのはVirtualBoxの仮想マシン。
本当はServerManでうまくいってほしかった。

絶対起こるのはhttp-basic-authのインストールでJSONのパースエラー
JSON書き直してローカルインストールすればOKそうだけど、とりあえず、http-basic-auth.jsを直でおいて呼び出して回避

[root@dti-vps-srv34 ~]# npm install http-basic-auth
npm info it worked if it ends with ok
npm info using npm@0.3.15
npm info using node@v0.4.2
npm info fetch http://registry.npmjs.org/http-basic-auth/-/http-basic-auth-0.1.0.tgz
npm ERR! couldn't read package.json in /tmp/npm-1300626776833/1300626776833-0.38027541153132915/contents/package
npm ERR! Error installing http-basic-auth@0.1.0
npm ERR! Error: Failed to parse json
npm ERR! Unexpected token ILLEGAL
npm ERR!     at jsonParseFail (/usr/local/lib/node/.npm/npm/0.3.15/package/lib/utils/read-json.js:89:11)
npm ERR!     at /usr/local/lib/node/.npm/npm/0.3.15/package/lib/utils/read-json.js:82:14
npm ERR!     at P (/usr/local/lib/node/.npm/npm/0.3.15/package/lib/utils/read-json.js:62:40)
npm ERR!     at cb (/usr/local/lib/node/.npm/npm/0.3.15/package/lib/utils/graceful-fs.js:31:9)
npm ERR!     at [object Object]. (fs.js:86:5)
npm ERR!     at [object Object].emit (events.js:39:17)
npm ERR!     at afterRead (fs.js:843:12)
npm ERR! JSON.parse 
npm ERR! JSON.parse Failed to parse package.json data.
npm ERR! JSON.parse Note that package.json must be actual JSON, not
npm ERR! JSON.parse just a JavaScript object.
npm ERR! JSON.parse 
npm ERR! JSON.parse This changed in npm 0.3.0, and is not a bug in npm.
npm ERR! JSON.parse Tell the package author to fix their package.json file.
npm ERR! JSON.parse
npm ERR! System Linux 2.6.18-194.3.1.el5.028stab069.6
npm ERR! argv { remain: [ 'http-basic-auth' ],
npm ERR! argv   cooked: [ 'install', 'http-basic-auth' ],
npm ERR! argv   original: [ 'install', 'http-basic-auth' ] }
npm not ok
[root@dti-vps-srv34 ~]# 

次にServerManで初めてでたbase64が無いよエラー
今までbase64をあえてインストールした記憶無いのに。

[root@dti-vps-srv34 node]# node StreamTwitter.js

node.js:116
        throw e; // process.nextTick error, or 'error' event on first tick
        ^
Error: Cannot find module 'base64'
    at Function._resolveFilename (module.js:299:11)
    at Function._load (module.js:245:25)
    at require (module.js:327:19)
    at Object. (/var/www/node/http-basic-auth.js:3:14)
    at Module._compile (module.js:383:26)
    at Object..js (module.js:389:10)
    at Module.load (module.js:315:31)
    at Function._load (module.js:276:12)
    at require (module.js:327:19)
    at Object. (/var/www/node/StreamTwitter.js:16:12)
[root@dti-vps-srv34 node]# 

インストールしたけど、なんかエラーがでてできなかった。
「cxx: base64.cc -> build/default/base64_1.o」
base64はID,PASSのencodeだけだから適当なツールで変換してソースにべた書きしました。

なんで失敗するのかと思って、npmのフォルダに無理やり上手くいったOSのファイル持ってきたり
いろいろしたけど、当然だめでした。
でも、ある20日に再チャレンジしたらなんか上手くいった。

[root@dti-vps-srv34 node]# npm install base64
npm info it worked if it ends with ok
npm info using npm@0.3.15
npm info using node@v0.4.2
npm info fetch http://registry.npmjs.org/base64/-/base64-2.0.3.tgz
npm info calculating sha1 /usr/local/lib/node/.npm/.cache/base64/2.0.3/package.tgz
npm info shasum d58b08f621b4be0c6b768258821d4d5f402c35b8
npm info preinstall base64@2.0.3
npm info install base64@2.0.3
Checking for program g++ or c++          : /usr/bin/g++ 
Checking for program cpp                 : /usr/bin/cpp 
Checking for program ar                  : /usr/bin/ar 
Checking for program ranlib              : /usr/bin/ranlib 
Checking for g++                         : ok  
Checking for node path                   : not found 
Checking for node prefix                 : ok /usr/local 
'configure' finished successfully (0.391s)
Waf: Entering directory `/usr/local/lib/node/.npm/base64/2.0.3/package/build'
[1/2] cxx: base64.cc -> build/default/base64_1.o
[2/2] cxx_link: build/default/base64_1.o -> build/default/base64.node
Waf: Leaving directory `/usr/local/lib/node/.npm/base64/2.0.3/package/build'
'build' finished successfully (1.856s)
npm info postinstall base64@2.0.3
npm info preactivate base64@2.0.3
npm info activate base64@2.0.3
npm info postactivate base64@2.0.3
npm info build Success: base64@2.0.3
npm ok
[root@dti-vps-srv34 node]# 

最後にこれも調べ途中だけど、node.jsのWebsocketって何種類かあるっぽい

これをつかったけど、VMwere上のCentOS5.5はエラーは出ないけど
websocketのコネクションははれなかった。

[root@dti-vps-srv34 node]#npm install websocket-server

他の環境はこっちを試したら上手くいてる。

[root@dti-vps-srv34 node]#npm install http://github.com/miksago/node-websocket-server/tarball/master 

まだまだ、日本語の情報も少ない。

CentOS5.5でPHPの最新版(5.3)をインストール

脆弱性対策としてPHPの5.3をインストールする必要が出た。

CenstOSだから、最新はきついと思いながら調べたらレポジトリ追加でなんとかなった。

remiというレポジトリをどうやら追加しておこなう。
ココではないけど、MySQLの使ってるので、MySQLもいっしょにアップデートの必要があるらしい。

テストで違うサーバでやったら一回失敗して、mysqlが壊れて再インストールしましたw
大丈夫だと思うけど、mysqldumpでバックアップはしておきましょう。

yumに「epel」と「remi」を追加する。

#rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
#rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

常用しないように「epel」と「remi」の「enabled=0」を設定(なっているはず)

#vi /etc/yum.repos.d/epel.repo
#vi /etc/yum.repos.d/remi.repo

yumのオプションで「epel」と「remi」を有効にしてアップデート
phpだけだど、mysqlがらみでエラーがでるので、いっしょに。

#yum update --enablerepo=remi,epel php mysql mysql-server

完了。

# php -v
PHP 5.3.0 (cli) (built: Jul 19 2009 17:55:08)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies