さくらVPSにPHPをインストールする
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編)
