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 を設置するなどして動作確認をしてみてください。