環境
- Scientific Linux release 7.2 (Nitrogen)
- Apache httpd 2.4.26
- php 5.6.30
httpd 2.4.26 の make
- # yum install -y wget apr apr-devel apr-util apr-util-devel gcc pcre pcre-devel perl perl-devel libtool libtool-devel systemd-devel
- # wget http://ftp.tsukuba.wide.ad.jp/software/apache//httpd/httpd-2.4.26.tar.gz
- # tar xzf httpd-2.4.26.tar.gz
- # cd httpd-2.4.26
- # ./configure --enable-rewrite
- とりあえず rewrite くらいで。
- 必要なものは ./configure --help にあるものから確認して追加していけば良い
- # make
- # make install
ちなみに /usr/local/apache2 の下に bin とかが入ります。
httpd を systemd 管理下に置く
このままだと起動するのが面倒なので systemd 経由で起動できるように。
この記事を参考に service を作る。
私は apr も apr-util も pcre も yum にあるものを作ったのでこんな感じ。
こいつで systemd に認識させてやるといつも通りの
- # systemctl status httpd
- # systemctl start httpd
とかできるようになります。
- $ curl http://localhost
して It Works! が出たら httpd が動いています。
php 5.x を make する
- # yum install -y libxml2 libxml2-devel
- # wget http://jp2.php.net/get/php-5.6.30.tar.gz/from/this/mirror -O php-5.6.30.tar.gz
- # tar xzf php-5.6.30.tar.gz
- # cd php-5.6.30
- # ./configure --with-apxs2=/usr/local/apache2/bin/apxs
- ポイントはここ。
- libphp5.so を作るために apx を指定します。
- これを書いておくと httpd.conf で LoadModule できる場所に libphp5.so ができる。
- # make
- # make test
- # make install
これで php が入りました。
/usr/local/apache2/modules/libphp5.so とかができているはずです。
httpd に php を認識させる
両方とも make できたのであとは設定。
httpd の DocumentRoot はデフォルトでは /usr/local/apache2/htdocs/ なので
- # vi /usr/local/apache2/htdocs/hoge.php
- <?php phpinfo() ?>
- とか。
- # vi /usr/local/apache2/conf/httpd.conf
- LoadModule php5_module modules/libphp5.so
- <FilesMatch \.php$>
- SetHandler application/x-httpd-php
- </FilesMatch>
- あたりを追記。
- LoadModule は勝手に追記されてたりします。
- # systemctl restart httpd
- $ curl http://localhost/hoge.php
大量の html が流れてきたら php が動いています。
ブラウザからアクセスすると php の情報が見られるはずです。やったね。
0 件のコメント:
コメントを投稿