« さくらインターネット - 共有サーバーのサービスを刷新 | メイン | さくらのレンタルサーバにSubversionを入れる »

2009年3月 9日

さくらのレンタルサーバーにPHP5を入れる(PDO対応・今さら編)

さくらインターネットの共有サーバーでは、長らくPHP5のサポートが行われていなかったため、一部のユーザが、独自にPHP5をホームディレクトリ内にインストールを試み、ノウハウが共有されてきた。

・さくらのレンタルサーバでPHP5
などを参照。

昨年ようやく、さくらインターネットの共有サーバーでもPHP5のサポートが開始されたが、何か物足りない...。

・好き勝手PHP.iniをいじりたい
・好き勝手モジュールを入れてコンパイルしたい
・任意のバージョンを入れたい

ということで敢えて今更やってみる。準備としていくつかディレクトリを作成。

$mkdir ~/local
$mkdir ~/src
$mkdir ~/etc

PHPをダウンロードして展開する。

$cd ~/src
$wget http://...
$tar zxvf php-5.2.9.tar.gz

展開したディレクトリに、以下のようなシェルスクリプトを用意する。

conf.sh


#!/bin/sh

./configure \
--prefix=$HOME/local \
--with-config-file-path=$HOME/etc \
--with-pear=$HOME/local/share/pear5 \
--enable-mbstring=all \
--enable-mbregex \
--enable-force-cgi-redirect \
--with-openssl=/usr \
--with-mysql \
--with-curl \
--enable-ftp \
--enable-pdo \
--with-pdo-mysql=/usr/local/bin/mysql

PDOやFTPなどをオプションでとりあえず指定。GDは必要なし。無駄にハマってしまったのがphp.iniのパス指定で、ここではファイル名ではなくディレクトリ名を指定する。

スクリプトに実行権を与えて、実行(=configure)する。その後makeしてインストール。

$cd php-5.2.9
$chmod u+x conf.sh
$./conf.sh
...
$make
...
$make test
...
$make install
...

続いてCGIモードでオリジナルのPHPを動かすための作業。

$mkdir ~/www/cgi-bin
$ln ~/local/bin/php-cgi ~/www/cgi-bin/php5.cgi

ドキュメントルート(~/www)に下記のような.htaccessを設置。

error_log = /home/xxxxx/var/log/php.log 


最後に、ドキュメントルートに置いたphpファイルにphpinfo()を記述し、インストールしたPHPが動いているかチェックして完了。

ただし、CLIでPHPを動かす場合はインストール先のPHPを指定する。