ふと思い立ってWordpressのサーバを立ち上げようと思った。
しかし、Wordpressの最新版(5.x)にはphp7.2以降が必要らしい。
また、PHP7.3は7.2系に比べてかなり早いらしい。
また、今後のことも考えて軽量なサーバ&HTTP2にも対応しよう。
と言うわけで、
h2o + PHP7.3の構築をしてみる。
h2oをインストール
Centosのyumにインストール用のリポジトリを追加
vi /etc/yum.repos.d/h2o.repo
-----
[bintray-tatsushid-h2o-rpm]
name=bintray-tatsushid-h2o-rpm
baseurl=https://dl.bintray.com/tatsushid/h2o-rpm/centos/$releasever/$basearch/
gpgcheck=0
repo_gpgcheck=0
enabled=0
インストール
$ sudo yum install h2o --enablerepo=bintray-tatsushid-h2o-rpm
起動
$ systemctl start php-fpm
$ systemctl enable php-fpm
phpをインストール
yum install --enablerepo=remi,remi-php73 php php-fpm php-mbstring php-xml php-xmlrpc php-gd php-pdo php-pecl-mcrypt php-mysqlnd php-pecl-mysql --skip-broken
php-fpmの設定を実施する
$ vim /etc/php-fpm.d/www.conf
-----
; 以下のコメントアウトを外して変更
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = h2o
listen.group = h2o
listen.0660
; 以下の項目を変更
user = apache
group = apache
↓
user = apache
group = apache
起動
$ systemctl start php-fpm
$ systemctl enable php-fpm
h2oの設定変更
h2oとphp-fpmを繋げる設定をする。
ポイントは下記の2点。
- 実行ユーザをphp-fpmと同じにすること
- phpの設定をすること
$ vim /etc/h2o/h2o.conf
-----
# ユーザをh2oへ。
user: h2o
# http2等の設定をする(任意)
gzip: ON
http2-casper: ON
# PHPの設定を行う
file.custom-handler:
extension: .php
fastcgi.connect:
port: /var/run/php-fpm/php-fpm.sock
type: unix
file.index: ['index.html', 'index.htm'. 'index.php']
# 以下は通常通りの設定。
最後に、h2oの設定が間違っていないか確認する。
$ h2o -c /etc/h2o/h2o.conf -t
問題がなければ、Syntax OKが出るので、h2oを再起動する。
$ systemctl h2o restart
この状態で、以下のファイルを作成する
$ vim /var/www/html/phpinfo.php
---
<?php
phpinfo();
?>
作成したページへアクセスしてみる
http://<>/phpinfo.php
これで、phpの情報が表示されればPHPのインストールは完了。