2017/07/06

php 5.x + apache httpd 2.4.x を make する

php 5.x 系の最新版と httpd 2.4.x 系の最新版を make したログ


環境

  • 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 件のコメント:

コメントを投稿