「CentOS 7.0 - PHP インストール(ソースビルド)」についての記録です。
(旧バージョンでの作業記録を更新しました。興味がなければスルーしてください)
0. 前提条件
- CentOS 7.0-1406(x86_64) を NetInstall で最小限インストールしている。
- サーバ用途なので、作業は基本的に全て一般ユーザから root になって行う。
- クライアント側は Linux Mint 17 を想定。
- Web サーバ Nginx, DB サーバ MariaDB(MySQL) と連携することを想定。
- DB サーバ MariaDB がインストール済みである。
- RPMforge リポジトリ導入済み。(CentOS 7.0 - リポジトリ追加)
- 「CentOS 7.0 - Web サーバ Nginx 構築(ソースインストール)!」のとおり Nginx のインストールを行なっている。
- PHP 5.5.15(当記事執筆時点で最新)をインストールする。
1. 事前準備
ビルドに必要と思われるパッケージで未インストールのものをインストールしておく。(configure
オプションの指定により必要になるパッケージは異なる)
“libmcrypt-devel” は標準リポジトリに存在しないので EPEL リポジトリからインストールされる。
1 2 |
|
2. アーカイブファイルダウンロード&展開
1 2 3 |
|
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 |
|
make
終了時に make test
をするようメッセージが出力されるので、必要なら make test
でビルド結果をテストする。
4. PATH 設定
前述のように configure
でインストール先を /usr/local/php-5.5.15
としたので、最初はパスが通っていない。以下のように “/etc/profile” の最終行に記述を追加する。
1
|
|
そして、有効化する。
1
|
|
5. インストール確認
1 2 3 4 |
|
6. 設定ファイル準備
ソースをビルドしてインストールした場合、 “php.ini” は存在しない。
configure
時に設定フィルの配置場所を --with-config-file-path
で指定した場合はそのディレクトリに、指定しなかった場合は “<インストールディレクトリ>/lib/” にサンプルファイルを複製する。(以下は指定した場合)
ちなみに、 php -i | grep php.ini
or php --ini
で設定ファイルの配置すべき場所(今存在する場所ではない)を確認できる。
1
|
|
取り急ぎ、タイムゾーンだけ設定しておく。
1
|
|
以上。