CentOS7 で suPHP のインストール
SuExecでphp-cgiはサイトが増えるとアップデートするときとか面倒なイメージがあるのででsuPHPにしようとおもったら、CentOS7はパッケージにはなっていない模様。
ちょっとポリシーに反するのですが、ソースからいれてみたメモ
インストールに必要なパッケージをインストール
yum install apr-devel httpd-devel libtool gcc-c++
パッケージのダウンロードと展開
wget http://suphp.org/download/suphp-0.7.2.tar.gz tar zxvf suphp-0.7.2.tar.gz
CentOS7ではちょっと修正が必要なようなのでパッチを作ってくれた人のものをダウンロード
最後の参考URLより拝借
wget -O suphp.patch https://lists.marsching.com/pipermail/suphp/attachments/20130520/74f3ac02/attachment.patch patch -Np1 -d suphp-0.7.2 < suphp.patch
内容は以下のような感じApache2.4に対応してないのかな?
diff -uN a/configure.ac b/configure.ac --- a/configure.ac 2013-05-20 19:26:56.000000000 +0300 +++ b/configure.ac 2013-05-20 20:33:03.616154646 +0300 @@ -66,7 +66,7 @@ | cut -f2 -d"/" \ | cut -f1 -d" "` major_version=`echo $APACHE_VERSION|cut -f1,2 -d.` - if test "$major_version" = "2.0" -o "$major_version" = "2.2"; then + if test "$major_version" = "2.0" -o "$major_version" = "2.2" -o "$major_version" = "2.4"; then APACHE_VERSION_2=true APACHE_VERSION_1_3=false else
コンパイルしてインストール
cd suphp-0.7.2 aclocal && libtoolize --force && automake --add-missing && autoreconf ./configure --with-apr=/usr/bin/apr-1-config --with-apache-user=apache --with-min-uid=1000 --with-min-gid=1000 make make install
設定ファイル配置
cd doc cp suphp.conf-example /usr/local/etc/suphp.conf 面倒なので/etcへリンクしておく ln -s /usr/local/etc/suphp.conf /etc/suphp.conf
設定ファイル1(suPHP)
suphp.conf 変更点抜粋
logfile=/var/log/httpd/suphp.log webserver_user=apache docroot=/var/www/html umask=0022 min_uid=1000 min_gid=1000 ;x-httpd-php="php:/usr/bin/php" application/x-httpd-php="php:/usr/bin/php-cgi"
設定ファイル2(Apache)
/etc/httpd/conf.d/suphp.conf
LoadModule suphp_module modules/mod_suphp.so suPHP_AddHandler application/x-httpd-php
設定ファイル3(Aapche VirtualHost)
全体としてモジュール版も有効にしつつ、特定のDirectoryだけsuPHPを有効にする場合
<Directory /var/www/html/sample> Options FollowSymLinks AllowOverride All suPHP_Engine On suPHP_UserGroup sampleftp sampleftp <IfModule mod_php5.c> php_admin_flag engine off </IfModule> </Directory>
最近のコメント