PHP7の正式版が発表されてから2週間で、PHP7.0.1が出ましたね。
これは流行にのらねば。というわけで、Apache2.4.x+PHP7.0.1+mono(おまけ)の環境を作りたいと思います。
私が使っているのはDebian Stretchです。ですが、全てソースビルドするので、ライブラリがそろっていれば
CentやRedHat, SLinuxの方も同じ方法でできます。
ではいってみましょう。
まずは、必要なパッケージとソース集めから。
1. apr, apr-utilのダウンロードとインストール
apr: http://ftp.yz.yamagata-u.ac.jp/pub/network/apache//apr/apr-1.5.2.tar.gz
apr-util: http://ftp.yz.yamagata-u.ac.jp/pub/network/apache//apr/apr-util-1.5.4.tar.gz
両方とも、configure, make, make installで特に問題なくインストールできます。
以下の環境では、/usr/local/apr へ両方ともインストールしたものとします
2. nghttp2のダウンロードとインストール
http/2 の波に乗りたいので、nghttp2をインストールします。
OpenSSL1.0.2+ が必要なため、必要に応じてapt-get等でインストールします。
source: https://github.com/tatsuhiro-t/nghttp2
"git clone" 等で、ダウンロードしましょう。
こちらも、configure, make, make installで特に問題なくインストールできます。
以下の環境では、/usr/local/nghttp2へインストールしたものとします
3. Apache2.4.18のダウンロードとインストール
source: http://ftp.meisei-u.ac.jp/mirror/apache/dist//httpd/httpd-2.4.18.tar.gz\
以下にconfigureの例を載せます。あくまで好みで。
./configure -prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr
--enable-so --enable-mods-shared=all --enable-ssl --enable-proxy --with-nghttp2=/usr/local/nghttp2 --enable-http2
こちらも、さくっと configure, make, make installで。
4. PHP7.0.1のインストール
必要なライブラリがいろいろとあります(GD、XMLなど)
configureのエラーをみながら、ライブラリをインストールしてください。
以下に、configureの例を載せます。こちらも好みで。
./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache2/bin/apxs --enable-fpm --with-openssl
--with-pcre-regex --with-zlib --enable-calendar --enable-exif --enable-ftp --with-gd --with-jpeg-dir=/usr
--with-png-dir=/usr --with-zlib-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf --enable-gd-jis-conv
--with-gettext=/usr --enable-mbstring --with-mcrypt --with-libxml-dir=/usr --with-iconv-dir=/usr --enable-zip
--with-pcre-dir=/usr --with-xpm-dir=/usr --with-libdir=lib64 --with-mysqli --with-pdo-mysql --with-curl
--enable-opcache --with-fpm-user=daemon --with-fpm-group=daemon --enable-sockets --with-webp-dir=/usr
こっそりと webpの対応や、xpm, mysqli等入ってますが、必要に応じてこれらはインストールしてください。
今回は取り上げません。
PHPも、configure, make, make installにて。
5. monoのインストール
さて。ここからが本番です。
Stretchじゃないとインストールできないパッケージもあります。
気合いでソースビルドするか、/etc/apt/sources.listに手を加える等して、インストールを行います。
# apt-get install mono-complete
# apt-get install mono-xsp4
# apt-get install mono-apache-server4
これらの詳しい情報は、monoのホームページを参照するのが良いかと。
探すのめどい人は、Stretchにしてしまいましょうw
mono-complete: monoパッケージの基本部分全て
mono-xsp4: apache2.4.x向けのXSPサーバー
mono-apache-server4: apache2.4.x向けXSPゲートウェイ
6. mod_monoのインストール
私はここで数時間悩みました。
ソースからインストールしようにも、githubのやつでは、autoconfも出来ない・・・・
と、ネットをさまよっていたら、見つけました。ソースリポジトリ。
http://download.mono-project.com/sources/mod_mono/
今回は、一番新しい3.12を利用します。
上記ページから、mod_mono-3.12.tar.gz をダウンロードして、展開
configure時にapxsとapr-config, apu-configのパスに気をつければ、インストールできます。
さくっと、configure, make, make installしましょう。
正常にインストールできると、
/usr/local/apache2/modules/mod_mono.so
/usr/local/apache2/conf/mod_mono.conf
ができあがります。
あとは、httpd.confで、mod_mono.confをIncludeすればOKです。
7. インストール確認
CLI環境で、curlを使わない人がいるでしょうか!
$ curl -v http://hogehoge.com/ (インストールしたサーバー)
< HTTP/1.1 200 OK
< Date: Fri, 18 Dec 2015 17:05:51 GMT
< Server: Apache/2.4.18 (Unix) OpenSSL/1.0.2d PHP/7.0.1 mod_mono/3.12
< Upgrade: h2c
< Connection: Upgrade
< X-Powered-By: Mono
< Vary: Accept-Encoding
< Content-Length: 14
< Content-Type: text/html; charset=UTF-8
これにて、インストール作業は終わりです。
非常に単調かつ端的な説明ですが、今日は眠いので、明日みなおし、抜けがあったら
この記事修正するかもしれません。ご了承を。
コメント