さくらVPS上でLAMP環境を構築した際の覚書です。
すでに、VPS上でUbuntu Server 18.04がインストールされた直後でなおかつ、前回のApache2.4のインストール作業が適用済み、という条件で設定をしていきます。

今回は、PHPをインストールします。

ゴール

  • すでにApache2.4のセットアップが終わっているものとします。
  • 今後インストールする予定のWordPress向けのPHP関連パッケージをインストールします。
  • また、PHP-FPMを有効にして、Apacheのevento MPMを有効にします。

PHPのインストール

PHP7.2をインストールします。

php.iniの編集

php.iniファイルも、SAPI毎に用意されており、/etc/php/${PHP_VERSION}/${SAPI}/にあります。用途に応じて編集する必要がありそうです。

下記は主な設定を提示しています。デフォルトのままの値もあれば違うものもあります。

PHPが動作しているか確認

sudo apachectl -M | grep -i phpで、php7.2モジュールが有効になっているか確認。有効になっていない場合は、sudo a2enmod php7.2で有効にします。

phpの動作するページを作成し、表示させてみます。

保存後、https://mydomain.com/index.php等で表示されればOK。

phpinfo() を表示

さらにもう一つphpファイルを作成します。

ページを表示させる前に、Apache2のmod_security2のセキュリティフィルタを一旦Offにします。セキュリティフィルタを有効にしたままだと、403 Forbidden..で403がレスポンスで返されるので、注意してください。

その後、Apache2を再起動した上で、https://mydomain.com/info.phpで下のような画面が表示されればOK。

PHP-FPM with Apache2 mpm_event_module

Apacheで、mod_phpの代わりにphp-fpm(PHP FastCGIを使うように設定します。
PHP FastCGIモジュールをインストールします。

必須のモジュールを有効にします。

php-fpmを有効にします。

mod_phpモジュールを無効にします。

Apache2.4からは、MPM(Multi-Processing Module)はevent MPMが導入されてデフォルトにされているのですが、Ubuntuではprefork MPMがデフォルトにされています。
そこで、MPMをprefork MPMからevent MPMに変更します。

mpm_eventモジュールを有効に

php.ini を、/etc/php/7.2/apache2/php.ini からコピーしてきます。

apacheを再起動します。

ここで再度、前項と同様にinfo.phpのページを表示させてみます。
以下のようになっていればOKです。

チェックポイントは、ServerAPIが、FPM/FastCGIとなっていること。もう一つは、設定ファイルのパスが/etc/php/${PHP_VERSION}/fpm以下から読み出されている部分(赤枠で囲んだ範囲)。

表示後は、mod_security2を有効にしておきます。

PHP7.3を導入するには?

PHP7.3をインストールすることもできます。

  • リポジトリを追加

  • パッケージ情報を更新

PHP7.3で、WordPress(5.0.3)で動作を確認したところ、エラーを吐いてしまいました。
公式ではサポートされているはずですが、使用しているプラグインやテーマに依存するかもしれません。
そのため、ここではphp7.2をインストールしています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です