PHP7.0.1をUbuntu 15.10にインストールする
先日リリースされたUbuntu 15.10に、先日リリースされたPHP7.0.1をインストールして、Apache2.4で使えるようにしてみます。
手順としては下記のようになります。
- Ubuntu 15.10を普通にインストールする
- 必要なパッケージをインストールする
- ライブラリ関係でちょこっとオマジナイをする
- PHP7.0.1のパッケージを取得し展開する
- configureを実行する
- make/make installを実行する
- Apacheの設定を行う
Ubuntu 15.10を普通にインストールする
Ubuntuのサイトから、Ubuntu Server 15.10をダウンロードし普通にインストールします。
インストールパッケージ選択でSSHだけを選んでインストールします。
必要なパッケージをインストールする
下記のパッケージをインストールします。
私の作った「apt-install」を使うと一気にインストール出来ます。
libxml2-dev
pkg-config
libbz2-dev
libcurl3-dev
libjpeg-dev
libpng12-dev
libxpm-dev
apache2
libfreetype6-dev
libgmp3-dev
libmcrypt-dev
mysql-server
libmysqlclient-dev
libpspell-dev
librecode-dev
apache2-dev
openssl-dev
ライブラリ関係でちょこっとオマジナイをする
GMP関係でライブラリの配置がよろしくないのでオマジナイをします。
# ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h
PHP7.0.1のパッケージを取得し展開する
ググると、githubからcloneするという記事がいくつかひっかかりますが、サイズがデカいので、PHPのサイトからPHP7.0.1をダウンロードします。
configureを実行する
私が使ったconfigureは下記のようになります。
./configure \
--enable-mbstring \
--enable-zip \
--enable-bcmath \
--enable-pcntl \
--enable-ftp \
--enable-exif \
--enable-calendar \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-curl \
--with-mcrypt \
--with-iconv \
--with-gmp \
--with-pspell \
--with-gd \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-zlib-dir=/usr \
--with-xpm-dir=/usr \
--with-freetype-dir=/usr \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-openssl \
--with-pdo-mysql=/usr \
--with-gettext=/usr \
--with-zlib=/usr \
--with-bz2=/usr \
--with-recode=/usr \
--with-mysqli=/usr/bin/mysql_config \
--with-apxs2=/usr/bin/apxs2 \
--with-tsrm-pthreads
make/make install を行う
configureが正常に終了していたら、make/make installを行います。
必要であれば、makeの前にmake testを行ってもいいでしょう。
Apacheの設定を行う
インストールが終わると自動的にApacheが再起動していますが、一旦Apacheを停止し、PHP7をオフにします。
# service apache2 stop
# a2dismod php7
そして、「/etc/apache2/mods-available/php7.conf」を下記の内容で生成します。
AddType application/x-httpd-php .php
DirectoryIndex index.php
そして、Apacheをpreforkモードで動作させるためのオマジナイをします。
# a2dismod mpm_event
# a2enmod mpm_prefork
最後に再びPHP7と、ついでにUserDirを有効にし、Apacheを再起動します。
# a2enmod php7
# a2enmod userdir
# service apache2 restart
これで、PHP7.0.1が有効になったApacheが起動すると思います。