さくらインターネット(レンタルサーバ)で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日時点)。
|
これを以下のように変更(追加)します。
|
上記コマンドを実行し、その後make、make installを行います。
これで、php5がコンパイルされ、コピーされました。
次は、PHPとアパッチとの連携です。
仕事上ですと、libphp5.soを作成して、ロードしておくように設定したりしますが、さくらインターネットでは、あくまでスーパーユーザーではなく、一般ユーザとしての権限しか与えられていません。
ですので、CGI外部プログラムとしての起動を行う形式にします。
$HOME/www下に.htaccessを作成し、その中で制御を行います。
$HOME/www/.htaccessの中身は
|
$HOME/www/cgi-binディレクトリを作成し、その中に$HOME/bin/phpをコピーします。
(チルダはわかりにくいので、$HOMEで記述します)
|
次にpearをインストールします。
デフォルトのを使用しても良いのですが、コンパイル時に設定しておりますので、新たに必要な分を取得しましょう。
その前に、実行パスの変更です。
phpと実行しようとすると、php4(現状のphp)が動作してしまいますので、自身のバイナリディレクトリエリアを優先的に探すように環境変数上に設定します。(以下はbash用)
|
この後、pearコマンドを実行します。
必要があれば、個別にパッケージをインストールしてください。
|
次にphp.iniファイルの作成です。
|
php.ini内部の設定に関しては、各々の使用したい環境に応じて記述してください。
ここではあえて解説いたしません。
ソース展開エリアには、php.ini-recommendedと言うファイルとphp.ini-distがあると思いますが、distよりもrecommendedの方がデフォルト設定としてセキュリティ重視型の設定になっていますので、こちらを利用して変更した方が良いと思われます。(そのあたりは、各個人のご判断で)
これで、動くようになったはずです。
*.phpと言うファイルは、今後PHP5のバージョンにて動作します。
動作チェックする方法は、phpinfoを使用するもよし、チョンプロ(簡単なプログラム)を使用するもよし。
ただし、動作確認出来た後は、消しておく必要がありますので、気を付けてくださいね。
順調にいけば、ここまで1時間もかからないハズです。
とりあえず、今回はここまでとして、次回は別の設定を行いましょう。
| 固定リンク


コメント
自己フォローです。
別件でミス発覚。
--with-config-file-path=$HOME/etc/php.ini
と記述していましたが、
--with-config-file-path=$HOME/etc
が正しいようです。
パスのみ有効みたいです。
コマンドラインではどちらも動作するのですが・・
別件で設定変えても変わらないため、調査しているとここの間違い発覚。
コンパイルし直しました。
記事本文は訂正しておきました。
投稿: 管理人(とも) | 2007年3月24日 (土) 07時03分