WordPressに必要なPHP74を調べてUbuntu18.04にインストールする

Ubuntu

2019/11/28にPHP7.4がリリースされました。

これを機にWordpress運用に必要なPHPの種類を調べてみようと思います。

VPS
COHONA CPU3コア メモリ2GBプラン 1750円/月
OS
Ubuntu18.04
実行日
2019年12月16日

CONOHAの誕生日祝い画像

CONOHA


COOHAの誕生日プレゼントクーポン

COOHAの500円クーポン


実は先月誕生日でCONOHAから500円クポーンをプレゼントされました。それを利用してリッチに3コアプランで実験します。

Ubuntuに PHP7.4をインストールする

まず、Apache2、Mysql8、Wordpressをインストールして使えるように設定します(手順は省略)、続いてphp7.4用のレボジトリppa:ondrej/phpを追加します。途中で止まるのでEnter押します。

sudo add-apt-repository ppa:ondrej/php

もしインストールできない場合は、software-properties-commonをインストールしてからもう一度試してください

sudo apt -y install software-properties-common

アップデートしてphp7.4をインストールします。同時にapache2、php7.4-common php7.4-cli php7.4-json php7.4-opcache php7.4-readlineもインストールされます。

 apt update && apt upgrade -y
sudo apt install php7.4

インストールが終わったらとりあえずアクセスしてみます。

ワードプレスアクセス失敗画面

WordPress アクセス画面

必須要件不足!php7.4-mysqlをインストールしてApacheを再起動します。

sudo apt install php7.4-mysql && systemctl restart apache2

再びアクセス。

Wordpress インストール画面

Worepress 初期設定画面

Wordressインストール画面が出ました。

エラー出たら分かるようにWordpressディレクトリにあるwp-config.phpをviで開いてデバックモードをtrueにします。

vi wp-config.php

#define( 'WP_DEBUG', false );
define( 'WP_DEBUG', true );

左メニューのツール→サイトヘルスでサイトヘルスステータスをチェックします。

Wordpress サイトヘルスステータス画面

WordPress サイトヘルスステータス画面

致命的問題の「サイト訪問者にエラー表示を行う設定になっています」はデバックをfalseにすれば消えます。SSL化してないのでSSLは仕方ないとして、PHP拡張機能で不足しているのは意外にもimagickだけ。

php7.4-imagickは無いのでphp-imagickをインストール。

sudo apt install php-imagick && sudo systemctl restart apache2

再びサイトヘルスステータスをチェック

Wordpress サイトヘルスステータス画面

WordPress サイトヘルスステータス画面

消えました。

これで問題なくWordpressを運用できるようになったはずです。試しに記事を投稿してみます。

Worepress 投稿記事

Worepress 投稿記事


投稿できました。

WordPressに必要なPHP拡張機能を調べる

Server Environment
WordPress will run in a minimum server environment. However, WordPress doesn’t run optimally on the minimum system requirements. This section will cover the rec...

せっかくなのでサイトヘルスにリンクされているPHP拡張機能関連の記事を読んでみます。

  • curl –リモート要求操作を実行します。
  • dom –テキストウィジェットのコンテンツを検証し、IIS7 +を自動的に構成するために使用されます。
  • exif –画像に保存されているメタデータで動作します。
  • fileinfo –ファイルのアップロードのmimetypeを検出するために使用されます。
  • hash –パスワードや更新パッケージを含むハッシュに使用されます。
  • json –他のサーバーとの通信に使用されます。
  • mbstring – UTF8テキストを適切に処理するために使用されます。
  • mysqli –データベースとの対話のためにMySQLに接続します。
  • libsodium –署名を検証し、安全にランダムなバイトを提供します。
  • openssl –他のホストへのSSLベースの接続を許可します。
  • pcre –コード検索でのパターンマッチングのパフォーマンスが向上します。
  • imagick –メディアのアップロードにより優れた画像品質を提供します。参照 WP_Image_Editorは、着信です! 詳細については。Ghostスクリプトも利用可能な場合、よりスマートな画像サイズ変更(より小さい画像用)およびPDFサムネイルのサポート。
  • xml –サードパーティのサイトなどからのXML解析に使用されます。
  • zip –プラグイン、テーマ、およびWordPress更新パッケージの解凍に使用されます。

さらに万全を期すために

  • filter –ユーザー入力を安全にフィルタリングするために使用されます。
  • gd – Imagickがインストールされていない場合、GDグラフィックライブラリは画像操作の機能制限フォールバックとして使用されます。
  • iconv –文字セット間の変換に使用されます。
  • mcrypt-ランダムバイトを生成libsodiumして/dev/urandom利用できません。
  • simplexml – XML解析に使用されます。
  • xmlreader – XML解析に使用されます。
  • zlib – Gzip圧縮および解凍。

と説明しています。よく分からないやつを調べると・・・。

dom
この拡張モジュールはデフォルトで有効になっています。
exif
サポートを有効にするには、PHP の configure 時に –enable-exif を指定します。
fileinfo
この拡張モジュールは、PHP 5.3.0 以降デフォルトで有効となります。
hash
PHP 7.4.0 以降、ハッシュ拡張モジュールはコア PHP 拡張モジュールとなり、常に有効になります。
libsodium
As of PHP 7.2.0 this extension is bundled with PHP.
(機械翻訳:「PHP 7.2.0以降、この拡張機能はPHPにバンドルされています」)
pcre
PCREは PHP のコア拡張モジュールなので、常に有効となっています。
iconv
この拡張モジュールはデフォルトで有効となります。
filter
filter拡張モジュールは PHP 5.2.0 以降デフォルトで有効となります。
mcrypt
mcrypt拡張モジュールは十年近くにわたって放置されており、極めて使いづらいものです。 そこで、この拡張モジュールを非推奨にしました。かわりに OpenSSLを使いましょう。 mcryptはPHP7.2 でコアから削除されて、PECLに移る予定です。
simplexml
この拡張モジュールはデフォルトで有効になっています。
xmlreader
この拡張モジュールはデフォルトで有効になっています。
zlib
PHPにおけるZlibサポートは、デフォルトでは利用できません。 Zlibサポートを有効にするには、PHPのコンパイル時にconfigureの オプションに–with-zlib[=DIR] を 指定してコンパイルする必要があります。

特に何かをインストールする必要はなさそうです(多分)。

php-fpmをインストール

デフォルトのApacheがmpm-preforkなのでmpm-event+php-fpmで運用するためにphp7.4-fpmをインストールします

sudo apt install php7.4-fpm

apacheをmpm-event+php-fpm設定に変更。PHPINFOで確認します。

phpinfo

phpinfo

php-fpmに切り替わってます。

ssl化

念のためにSSL化してみます。

Let’s Encryptで無料SSL証明書を取得、未使用のプラグインとテーマを削除してサイトヘルスチェック。

Wordpress サイトヘルスステータス画面

WordPress サイトヘルスステータス画面

すばらしい!

まとめ

WordPressのサイトヘルスチェックに合格するために必要なPHP拡張機能

  • php7.4
  • php7.4-common
  • php7.4-cli
  • php7.4-json
  • php7.4-opcache
  • php7.4-readline
  • php7.4-mysql
  • php-imagick

※opcache,readline,commonは必要ないかもしれませんが、PHP7.4をインストールすると勝手にインストールされてしまいます。

WordPress公式の推奨PHP拡張機能

  • php7.4-curl
  • php7.4-mbstring
  • php7.4-xml
  • php7.4-zip
  • php7.4-gd

※プラグインやテーマによってさらにPHP拡張機能が必要になることもあります。

sudo add-apt-repository ppa:ondrej/php
sudo apt install php-7.4 php7.4-{mysql,curl,mbstring,xml,zip,gd} php-imagick

これで一気にPHP拡張機能をインストールできるはずです。

日本のVPS事業者の中ではコストパフォーマンスが高かったのに、WEB ARENA Indigoの登場と、さくらのVPSのSSD大幅増量で微妙な立場なってしまったCONOHAさん。大幅値下げに期待したい。

Ubuntu
スポンサーリンク
仮想犬

コメント

タイトルとURLをコピーしました