mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

CentOS 6.5 - PHP インストール(ソースビルド)!

[ サーバ構築 ] [ CentOS, Linux, PHP ]

こんばんは。

前回は CentOS 6.5 サーバ上の Web(HTTP) サーバ Nginx で SSL 接続するため設定を行いました。
今回は PHP のインストール(ソースビルド)を行います。

0. 前提条件

1. 事前準備

ビルドに必要と思われるパッケージで未インストールのものをインストールしておく。(configure オプションの指定により必要になるパッケージは異なる)
“libmcrypt” は標準リポジトリに存在しないので RPMforge リポジトリからインストールする。

1
2
3
4
5
6
7
# yum -y install libxml2-devel \
libxslt-devel \
libcurl-devel \
libpng-devel \
libicu-devel

# yum -y --enablerepo=rpmforge install libmcrypt libmcrypt-devel

2. アーカイブファイルダウンロード&展開

1
2
3
# cd /usr/local/src
# wget http://jp1.php.net/get/php-5.5.8.tar.gz/from/jp1.php.net/mirror
# tar zxvf php-5.5.8

3. ビルド&インストール

環境やサーバでやりたいことによっては、他に必要な configure オプションや不要なオプションもあるかもしれないが、取り急ぎ以下のようにした。必要になった際に都度ビルドし直すことにする。(但し、今回は Nginx と PHP-FPM で連携するので --enable-fpm 等の PHP-FPM 関連のオプションは必須)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# cd php-5.5.8

# ./configure --prefix=/usr/local/php-5.5.8 \
--enable-mbstring \
--with-mysql \
--with-pdo-mysql \
--with-mysqli \
--enable-pcntl \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-openssl \
--with-pcre-regex \
--with-zlib \
--with-curl \
--with-mhash \
--with-xsl \
--with-mcrypt \
--with-pear \
--enable-exif \
--enable-ftp \
--with-gd \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--without-unixODBC \
--disable-posix \
--disable-sysvmsg \
--disable-sysvshm \
--disable-sysvsem \
--disable-debug \
--enable-intl \
--with-config-file-path=/etc

# make

# make install

make 終了時に make test をするようメッセージが出力されるので、必要なら make test でビルド結果を確認する。

4. PATH 設定

前述のように configure でインストール先を /usr/local/php-5.5.8 としたので、最初はパスが通っていない。以下のように “/root/.bash_profile” の最終行に記述を追加する。

/root/.bash_profile
1
export PATH=/usr/local/php-5.5.8/bin:$PATH

そして、有効化する。

1
# source /root/.bash_profile

5. インストール確認

1
2
3
4
# php -v
PHP 5.5.8 (cli) (built: Jan 15 2014 00:42:43)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies

6. 設定ファイル準備

ソースをビルドしてインストールした場合、 “php.ini” は存在しない。
configure 時に設定フィルの配置場所を --with-config-file-path で指定した場合はそのディレクトリに、指定しなかった場合は “<インストールディレクトリ>/lib/” にサンプルファイルを複製する。(以下は指定した場合)
ちなみに、 php -i | grep php.ini or php --ini で設定ファイルの配置場所を確認できる。

1
# cp /usr/local/src/php-5.5.8/php.ini-production /etc/php.ini

取り急ぎ、タイムゾーンだけ設定しておく。

/etc/php.ini
1
date.timezone = Asia/Tokyo

次回は、PHP を Web サーバ Nginx と連携する方法について紹介する予定です。

以上。

Comments