LoginSignup
5

More than 5 years have passed since last update.

Centos7 + h2oで構築するPHP7.3 環境 - Webサーバ編

Posted at

ふと思い立って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のインストールは完了。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5