FreeBSD10でPHP5.4をApache24+FastCGIで動かす

2016年6月18日FreeBSD,パソコン・インターネット

FreeBSDでRedmineをFastCGI経由で動かす事に成功しました。

その副産物として、PHPもFastCGI経由で動かす事ができました。次のウェブページを参考にさせていただきました。ありがとうございます。Thank you!

ウェブサイトとして、VirtualHost機能を使って、www.example.comで運営しているとします。また、PHP5.4はインストール済とします。

  1. /usr/local/etc/apache24/httpd.confの修正
  2. /usr/local/etc/apache24/extra/httpd-vhosts.confの修正
  3. 動作確認
[amazonjs asin="488337968X" locale="JP"]

1. /usr/local/etc/apache24/httpd.confの修正

まずは、必要なモジュールを読み込む設定をします。

LoadModule php5_module libexec/apache24/libphp5.so
LoadModule proxy_module libexec/apache24/mod_proxy.so
LoadModule proxy_fcgi_module libexec/apache24/mod_proxy_fcgi.so
LoadModule fastcgi_module libexec/apache24/mod_fastcgi.so

拡張子.php/.phpsの関連付けをします。

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

WordPressを動かす時などに必要ですが、index.phpもトップページとして認識出来る様にします。

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#

DirectoryIndex index.html index.htm index.php

2. /usr/local/etc/apache24/extra/httpd-vhosts.confの修正

VirtualHostで動かすための設定です。今回の肝は、7〜9行目のproxy_moduleの設定です。


ServerAdmin webmaster@example.com
ErrorLog "/var/log/www.example.com-error_log"
CustomLog "/var/log/www.example.com-access_log" common
DocumentRoot /www/data
ServerName www.example.com

ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/www/data/$1
# default charset UTF-8
AddDefaultCharset utf-8

# .htaccess setting
AllowOverride All

# SSI OK
# SymbolicLink OK
Options +Includes +FollowSymLinks

# aapche 2.4 change config
Require all granted

3. 動作確認

次のコマンドで、Apacheを再起動して下さい。エラーが出たら、設定ファイルなどに間違いがあるはずなので、原因を突き止めて直します。

# apachectl restart

/www/data/info.phpと言うファイルを作ります。中身は次の通りです。

<!--?php phpinfo(); ?-->

http://www.example.com/info.phpにアクセスして、"Server API"が"FPM/FastCGI"になっていれば成功です。

PHP on FastCGI

[amazonjs asin="B00BH772VU" locale="JP"]

Posted by お市のかた