« MMO(その3)、コミュニケーション | トップページ | サムエルづくし! »

2007年3月 1日 (木)

さくらインターネット(レンタルサーバ)でPHP5を!

さて・・・
何を思ったか、さくらインターネットを仮契約!
で、やりたいことはPHP5を動かしてゴニョゴニョ!

さあ、まずは、デフォルトPHP4をなんとか5にする必要があります。

私が仕事でやっているのは、いろいろなパターンがありますが、基本どのOSも現時点ではPHP5をRPMパッケージにて提供していないので、自身でコンパイル(windowsサーバの場合はバイナリ)インストールを行います。

さて・・・
さくらインターネットはどうすればいいのかな?

なぜ、さくらインターネットを選んだかといいますと・・・
・値段がリーズナブル
・sshアクセス可能
・ディスク容量もそこそこある
・ネームバリューもあるし、信頼性(回線面など)も高そう
・誰かが、PHP5をインストールしたとブログに公開していた
ってところでしょうか。

まずは、SSHでログイン!
・・・・・Cシェルですね・・・私嫌いなんですけど・・・(泣

とりあえず、コンパイルしますか!
php4をphp5に変更する場合、私がいつも行っている手法は以下です。

まず、現状のphp4の情報を取得する。
それをphp5に移行する。

その前に・・・・
環境構築だ!私にあわせた環境に!

■さくらインターネットの環境構築(私バージョン)
1)sshの設定(パスワード無しバージョンの設定)
2)bash環境の設定
3)ディレクトリ環境の整備
 $HOME/tmp
 $HOME/etc
 $HOME/src
 $HOME/bin
 $HOME/share
 とりあえずこんな感じで。後は必要に応じて作ります。

4)scpにて必要なファイルのコピー
5)srcディレクトリ下にてソースの展開
6)php5のコンパイル(以下参照)


■php5のコンパイル作業

まず、展開したソース(php5.2.1)のコンパイル環境設定を行います。
現状のPHP4の環境を引き継ぐ方が良いので、現状の環境+php5用の設定を追加することとします。

現状のPHP4の設定(2007-03-01日時点)。

 
./configure --enable-force-cgi-redirect --enable-mbstring --enable-mbregex --enable-versioning --with-openssl=/usr --with-iconv=/usr/local --with-gd --with-zlib=/usr --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-ttf --with-freetype-dir=/usr/local --with-mysql=/usr/local --enable-soap --with-curl --enable-xslt --with-xslt-sablot=/usr/local --with-dom --with-dom-xslt --with-gettext=/usr/local
 

これを以下のように変更(追加)します。

 
./configure --enable-force-cgi-redirect --enable-mbstring --enable-mbregex --enable-versioning --with-openssl=/usr --with-iconv=/usr/local --with-gd --with-zlib=/usr --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-ttf --with-freetype-dir=/usr/local --with-mysql=/usr/local --enable-soap --with-curl --enable-xslt --with-xslt-sablot=/usr/local --with-dom --with-dom-xslt --with-gettext=/usr/local --prefix=$HOME --with-config-file-path=$HOME/etc --with-pear=$HOME/share/pear
 

上記コマンドを実行し、その後make、make installを行います。
これで、php5がコンパイルされ、コピーされました。

次は、PHPとアパッチとの連携です。
仕事上ですと、libphp5.soを作成して、ロードしておくように設定したりしますが、さくらインターネットでは、あくまでスーパーユーザーではなく、一般ユーザとしての権限しか与えられていません。
ですので、CGI外部プログラムとしての起動を行う形式にします。

$HOME/www下に.htaccessを作成し、その中で制御を行います。
$HOME/www/.htaccessの中身は

 
Action php-script /cgi-bin/php.cgi
AddHandler php-script .php
 

$HOME/www/cgi-binディレクトリを作成し、その中に$HOME/bin/phpをコピーします。
(チルダはわかりにくいので、$HOMEで記述します)

 
cd $HOME/www
mkdir cgi-bin
cd cgi-bin
cp -p $HOME/bin/php php.cgi
 

次にpearをインストールします。
デフォルトのを使用しても良いのですが、コンパイル時に設定しておりますので、新たに必要な分を取得しましょう。

その前に、実行パスの変更です。
phpと実行しようとすると、php4(現状のphp)が動作してしまいますので、自身のバイナリディレクトリエリアを優先的に探すように環境変数上に設定します。(以下はbash用)

 
export PATH=$HOME/bin:$PATH
  

この後、pearコマンドを実行します。
必要があれば、個別にパッケージをインストールしてください。

 
pear upgrade-all
  

次にphp.iniファイルの作成です。

 
cd $HOME/etc
cp ../src/php-5.2.1/php.ini-recommended php.ini
 

php.ini内部の設定に関しては、各々の使用したい環境に応じて記述してください。
ここではあえて解説いたしません。

ソース展開エリアには、php.ini-recommendedと言うファイルとphp.ini-distがあると思いますが、distよりもrecommendedの方がデフォルト設定としてセキュリティ重視型の設定になっていますので、こちらを利用して変更した方が良いと思われます。(そのあたりは、各個人のご判断で)

これで、動くようになったはずです。
*.phpと言うファイルは、今後PHP5のバージョンにて動作します。
動作チェックする方法は、phpinfoを使用するもよし、チョンプロ(簡単なプログラム)を使用するもよし。
ただし、動作確認出来た後は、消しておく必要がありますので、気を付けてくださいね。

順調にいけば、ここまで1時間もかからないハズです。
とりあえず、今回はここまでとして、次回は別の設定を行いましょう。

|

« MMO(その3)、コミュニケーション | トップページ | サムエルづくし! »

コメント

自己フォローです。

別件でミス発覚。

--with-config-file-path=$HOME/etc/php.ini

と記述していましたが、

--with-config-file-path=$HOME/etc

が正しいようです。

パスのみ有効みたいです。
コマンドラインではどちらも動作するのですが・・

別件で設定変えても変わらないため、調査しているとここの間違い発覚。
コンパイルし直しました。

記事本文は訂正しておきました。

投稿: 管理人(とも) | 2007年3月24日 (土) 07時03分

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/137565/14088995

この記事へのトラックバック一覧です: さくらインターネット(レンタルサーバ)でPHP5を!:

« MMO(その3)、コミュニケーション | トップページ | サムエルづくし! »