PHPをインストール
これも yum コマンドでインストールできる。
[takatoh@www2465uo ~]$ sudo -s [sudo] password for takatoh: [root@www2465uo takatoh]# yum install php-cli php-mysql php-common php php-cgi php-fpm php-gd php-mbstring Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: ftp.tsukuba.wide.ad.jp * epel: ftp.kddilabs.jp * extras: ftp.tsukuba.wide.ad.jp * updates: ftp.tsukuba.wide.ad.jp Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package php.x86_64 0:5.3.3-27.el6_5.1 will be installed --> Processing Dependency: httpd-mmn = 20051115 for package: php-5.3.3-27.el6_5.1.x86_64 --> Processing Dependency: httpd for package: php-5.3.3-27.el6_5.1.x86_64 ---> Package php-cli.x86_64 0:5.3.3-27.el6_5.1 will be installed ---> Package php-common.x86_64 0:5.3.3-27.el6_5.1 will be installed ---> Package php-fpm.x86_64 0:5.3.3-27.el6_5.1 will be installed ---> Package php-gd.x86_64 0:5.3.3-27.el6_5.1 will be installed ---> Package php-mbstring.x86_64 0:5.3.3-27.el6_5.1 will be installed ---> Package php-mysql.x86_64 0:5.3.3-27.el6_5.1 will be installed --> Processing Dependency: php-pdo(x86-64) for package: php-mysql-5.3.3-27.el6_5.1.x86_64 --> Running transaction check ---> Package httpd.x86_64 0:2.2.15-31.el6.centos will be installed --> Processing Dependency: httpd-tools = 2.2.15-31.el6.centos for package: httpd-2.2.15-31.el6.centos.x86_64 --> Processing Dependency: apr-util-ldap for package: httpd-2.2.15-31.el6.centos.x86_64 ---> Package php-pdo.x86_64 0:5.3.3-27.el6_5.1 will be installed --> Running transaction check ---> Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 will be installed ---> Package httpd-tools.x86_64 0:2.2.15-31.el6.centos will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: php x86_64 5.3.3-27.el6_5.1 updates 1.1 M php-cli x86_64 5.3.3-27.el6_5.1 updates 2.2 M php-common x86_64 5.3.3-27.el6_5.1 updates 526 k php-fpm x86_64 5.3.3-27.el6_5.1 updates 1.1 M php-gd x86_64 5.3.3-27.el6_5.1 updates 107 k php-mbstring x86_64 5.3.3-27.el6_5.1 updates 456 k php-mysql x86_64 5.3.3-27.el6_5.1 updates 82 k Installing for dependencies: apr-util-ldap x86_64 1.3.9-3.el6_0.1 base 15 k httpd x86_64 2.2.15-31.el6.centos updates 824 k httpd-tools x86_64 2.2.15-31.el6.centos updates 73 k php-pdo x86_64 5.3.3-27.el6_5.1 updates 76 k Transaction Summary ================================================================================ Install 11 Package(s) Total download size: 6.6 M Installed size: 22 M Is this ok [y/N]: y Downloading Packages: (1/11): apr-util-ldap-1.3.9-3.el6_0.1.x86_64.rpm | 15 kB 00:00 (2/11): httpd-2.2.15-31.el6.centos.x86_64.rpm | 824 kB 00:03 (3/11): httpd-tools-2.2.15-31.el6.centos.x86_64.rpm | 73 kB 00:00 (4/11): php-5.3.3-27.el6_5.1.x86_64.rpm | 1.1 MB 00:05 (5/11): php-cli-5.3.3-27.el6_5.1.x86_64.rpm | 2.2 MB 00:09 (6/11): php-common-5.3.3-27.el6_5.1.x86_64.rpm | 526 kB 00:02 (7/11): php-fpm-5.3.3-27.el6_5.1.x86_64.rpm | 1.1 MB 00:05 (8/11): php-gd-5.3.3-27.el6_5.1.x86_64.rpm | 107 kB 00:00 (9/11): php-mbstring-5.3.3-27.el6_5.1.x86_64.rpm | 456 kB 00:01 (10/11): php-mysql-5.3.3-27.el6_5.1.x86_64.rpm | 82 kB 00:00 (11/11): php-pdo-5.3.3-27.el6_5.1.x86_64.rpm | 76 kB 00:00 -------------------------------------------------------------------------------- Total 193 kB/s | 6.6 MB 00:34 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : php-common-5.3.3-27.el6_5.1.x86_64 1/11 Installing : php-cli-5.3.3-27.el6_5.1.x86_64 2/11 Installing : php-pdo-5.3.3-27.el6_5.1.x86_64 3/11 Installing : httpd-tools-2.2.15-31.el6.centos.x86_64 4/11 Installing : apr-util-ldap-1.3.9-3.el6_0.1.x86_64 5/11 Installing : httpd-2.2.15-31.el6.centos.x86_64 6/11 Installing : php-5.3.3-27.el6_5.1.x86_64 7/11 Installing : php-mysql-5.3.3-27.el6_5.1.x86_64 8/11 Installing : php-mbstring-5.3.3-27.el6_5.1.x86_64 9/11 Installing : php-gd-5.3.3-27.el6_5.1.x86_64 10/11 Installing : php-fpm-5.3.3-27.el6_5.1.x86_64 11/11 Verifying : php-mbstring-5.3.3-27.el6_5.1.x86_64 1/11 Verifying : php-cli-5.3.3-27.el6_5.1.x86_64 2/11 Verifying : httpd-2.2.15-31.el6.centos.x86_64 3/11 Verifying : php-gd-5.3.3-27.el6_5.1.x86_64 4/11 Verifying : php-5.3.3-27.el6_5.1.x86_64 5/11 Verifying : apr-util-ldap-1.3.9-3.el6_0.1.x86_64 6/11 Verifying : php-pdo-5.3.3-27.el6_5.1.x86_64 7/11 Verifying : httpd-tools-2.2.15-31.el6.centos.x86_64 8/11 Verifying : php-mysql-5.3.3-27.el6_5.1.x86_64 9/11 Verifying : php-fpm-5.3.3-27.el6_5.1.x86_64 10/11 Verifying : php-common-5.3.3-27.el6_5.1.x86_64 11/11 Installed: php.x86_64 0:5.3.3-27.el6_5.1 php-cli.x86_64 0:5.3.3-27.el6_5.1 php-common.x86_64 0:5.3.3-27.el6_5.1 php-fpm.x86_64 0:5.3.3-27.el6_5.1 php-gd.x86_64 0:5.3.3-27.el6_5.1 php-mbstring.x86_64 0:5.3.3-27.el6_5.1 php-mysql.x86_64 0:5.3.3-27.el6_5.1 Dependency Installed: apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 httpd.x86_64 0:2.2.15-31.el6.centos httpd-tools.x86_64 0:2.2.15-31.el6.centos php-pdo.x86_64 0:5.3.3-27.el6_5.1 Complete!
ちゃんとインストールできたかテスト。
[root@www2465uo takatoh]# php -v PHP 5.3.3 (cli) (built: Aug 6 2014 05:54:27) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
5.3.3 がインストールされているのがわかる。
PHPの設定
/etc/php.ini ファイルを編集する。
[root@www2465uo takatoh]# cp /etc/php.ini /etc/php.ini.orig [root@www2465uo takatoh]# vim /etc/php.ini
編集するのは次の箇所。まずはエラーログの場所を変更。
error_log = /var/log/php_errors.log
日本語の設定。
mbstring.language = Japanese (中略) mbstring.internal_encoding = UTF-8
http_input。
mbstring.http_input = auto
detect_order。
mbstring.detect_order = auto
expose_php を Off に。
expose_php = Off
最後にタイムゾーン。
date.timezone = Asia/Tokyo
これで PHP の設定は終了。Nginx を再起動する。
[root@www2465uo takatoh]# service nginx restart nginx を停止中: [ OK ] nginx を起動中: [ OK ]
php-fpmの設定
php-fpm てのは、PHP を Fast-CGI で動かすものらしい。設定ファイルは /etc/php-fpm.d/www.conf。
使用するポート。これはデフォルトのまま。
listen = 127.0.0.1:9000
許可するクライアントの IP アドレス。これも localhost だけなのでデフォルト。
listen.allowed_clients = 127.0.0.1
php-fpm サービスの実行ユーザとグループ。ここでは nginx としたので、あとで作る。
; RPM: apache Choosed to be able to access some dir as httpd user = nginx ; RPM: Keep a group allowed to write in log dir. group = nginx
php-fpm のプロセス数を定量にする。
;pm = dynamic pm = static
最大子プロセス数の設定。
;pm.max_children = 50 pm.max_children = 3
php-fpm が受け付ける最大要求数の設定。これを超えると子プロセスが再起動する。
pm.max_requests = 500
これで、編集は終了。
さて、実行ユーザを nginx としたので、それを作る。
[root@www2465uo takatoh]# useradd nginx useradd: ユーザ 'nginx' は既に存在します
あれ、そうなの。Nginx をインストールした時に作られたのかな。
じゃあこのまま php-fpm を起動。ついでに自動起動するようにしておく。
[root@www2465uo takatoh]# /etc/init.d/php-fpm start php-fpm を起動中: [ OK ] [root@www2465uo takatoh]# chkconfig php-fpm on
Nginxの設定
今度は Nginx の設定だ。編集するファイルは /etc/nginx/nginx.conf。といっても変えたのは1行だけ。あとはデフォルトのまま。
user nginx nginx;
つぎは、Fast-CGI のための設定。ファイルは /etc/nginx/fastcgi_params だけど、このデフォルトのファイルをそのまま使うので編集はなし。
さて、あとはバーチャルホストの設定なんだけど、まだドメインを取っていないので、ここでいったん終了。
参考サイト
cf. さくらのVPS入門 – ドットインストール
cf. CentOS,ScientificLinuxでLAMP(Nginx+MySQL+PHP)インストールからWordPressを動かすまで(Nginx編)