CentOS6にCGI版のPHP5.4をソースからインストールする手順

CentOS 6.6 (64bit) に CGI版 の PHP 5.4 をインストールします。ちなみにインストールは yum や rpm ではなく、ソースからインストールしたいと思います。

まずは PHP 5.4.39 のソースファイルをダウンロードしてきます。

$ cd /usr/local/src/
$ wget http://jp1.php.net/get/php-5.4.39.tar.bz2/from/this/mirror
$ mv mirror php-5.4.39.tar.bz2
$ tar -xjf php-5.4.39.tar.bz2
$ cd php-5.4.39

ダウンロード、解凍と完了したらいよいよインストールを行います。

始めに configure を実施しますが、ここで重要なのが、configure時に
 –with-apxs2=/usr/local/apache2/bin/apxs
を外すことが必要です。–with-apxs2 を外すことでモジュール版としてではなくCGI版として勝手にインストールしてくれます。

主に必要となるオプションとしては下記の通りです。他必要なオプションに加えて configure を実施してください。

$ ./configure \
  --prefix=/usr/local/lib/php-5.4.39 \
  --with-config-file-path=/usr/local/lib/php-5.4.39 \
$ make
$ make install

以上で本体のインストールが完了しました。
引き続き設定ファイルの作成とApache周りの設定を行います。

まずは設定ファイルを用意します。

$ cp /usr/local/src/php-5.4.39/php.ini-development /usr/local/lib/php-5.4.39/php.ini
$ vi /usr/local/lib/php-5.4.39/php.ini

必要に応じて設定を変更しますが、とりあえず今回は最低限の内容として下記を設定します。

date.timezone = "Asia/Tokyo"
log_errors = On
error_log = /var/log/php5-4-39
default_charset = "UTF-8"

続いて Apache の設定を行います。
とりあえず今回は http://**********/phptest/ 配下は CGI版PHP で PHP を動作させるようにしたいと思います。

例として既存の cgi-bin ディレクトリに CGI版PHP へのシンボリックリンクを貼ります。cgi-bin ディレクトリは自身の環境に合わせて後々変更してください。

$ cd /usr/local/apache2/cgi-bin
$ ln -s /usr/local/lib/php-5.4.39/bin/php-cgi php-5.4.39

続いて httpd.conf を修正します。

$ cd /usr/local/apache2/conf/
$ cp -p httpd.conf httpd.conf.20150406-PHPCGI
$ vi httpd.conf

下記内容で修正します。具体的には Options FollowSymLinks を追加して、該当ディレクトリにてシンボリックリンクの利用を許可します。

<Directory "/usr/local/apache2/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

 ↓

<Directory "/usr/local/apache2/cgi-bin">
    AllowOverride None
    Options FollowSymLinks
    Order allow,deny
    Allow from all
</Directory>

下記内容を追記します。
これで該当のディレクトリに対してCGIの実行権限を付与し、CGI版PHP の実行を許可します。

Action php54-cgi /cgi-bin/php-5.4.39
<Directory "/usr/local/apache2/htdocs/php5test">
    Options FollowSymLinks Includes ExecCGI
    AddHandler php54-cgi .php .html
</Directory>

以上ですべての作業が完了です。
Apacheを再起動して、phpinfo を設置するなどして動作確認をしてみてください。

コメントを残す

メールアドレスが公開されることはありません。