CentOS7のMariaDBを10.x系&PHPを7.4にアップデートした

ソースコードの修正だとか WordPress
この記事は約6分で読めます。
スポンサーリンク

昨夜からWordPress周りをいじっていたのだけど、ふと「WordPressの最新版におけるPHPとMariaDBのバージョンってなんだっけ?」などと考えてググったのが運の尽き。

WordPressのサーバー要件とは?各バージョンの推奨環境|Webgaku』を確認したらば、(2020/07/19現在で)最新版のWordPress 5.4.2ではPHPが7.4以上、MariaDBは10.1以上となっていることを知り「マジですか」みたいな。

PHPは7.3.20にしていたのだけど、念のため『サーバー情報 – WordPress プラグイン | WordPress.org 日本語』をインストールして情報を確認したらば、MariaDBのバージョンが初期構築したときのままの状況で「ああ、そう云えば何もしてねぇw」という感じ。いや、コマンド叩けばバージョンはわかるのだけど、なんとなく全体像を俯瞰したくてプラグインを。

うん、現状ではWordPressの最新版推奨環境にはなっていないということがわかった。というわけで、とりあえずはMariaDBをアップデートすることにした次第。

まずはyum用に、repoファイルを作成する。『MariaDB – Setting up MariaDB Repositories – MariaDB』にてCentOS7(x86_74)用の最新版を作成する(同ページ内に記述が表示される)。

# MariaDB 10.5 CentOS repository list - created 2020-07-18 18:32 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

任意ではあるけど、上記を”MariaDB.repo”という名称にして”/etc/yum.repos.d/”直下に作成する。

次に、CentOS7にデフォルトでインストールされている”miriadb-libs 5.5″を削除する。

# rpm -qa | grep -i "mariadb"
mariadb-libs-5.5.44-1.el7_1.x86_64 // インストールされているかどうかの確認

# yum remove mariadb-libs // 削除する

関連するサービスを止める。

# sudo systemctl stop nginx
# sudo systemctl stop php-fpm
# sudo systemctl stop mariadb

そうして作成したMariaDBの最新版をインストールする。

# sudo yum install MariaDB-server MariaDB-client

無事インストールできたら、MariaDBのバージョンを確認して関連するサービスを再開する。stopしたときの逆順で起動。

# mysql --version
mysql  Ver 15.1 Distrib 10.5.4-MariaDB, for Linux (x86_64) using readline 5.1

# sudo systemctl start mariadb
# sudo systemctl start php-fpm
# sudo systemctl start nginx

WordPressサイトにアクセスして表示が問題なくできているかどうかを確認して、作業は終了。

と、ここまで書いたのだけど、実は関連サービスを止めるのがすっぽりと抜けており、MariaDBの最新版をインストールした段階でサイトにアクセスしてサーバーエラーの表示(旧バージョンを起動したままアップデートして停止していたのが原因)。

一瞬血の気が引いたのだけど、MariaDBを改めて起動し無事サイト表示という顛末。我ながら適当すぎてドン引きした。記載した手順はあちこち [01] [02] を参考にして「ああそうでしたすいませんすいません」という反省を元に行った。

結果的には無事インストール終了。PHPを7.3から7.4にするにあたりは『php7.2 → 7.4 アップデートcentos7 | Ultimai Inc.』を参考に。なお、”php-mcrypt”はepelから拾うことになるので、インストールは以下のようにした。

# yum install --enablerepo=epel,remi,remi-php74 php php-devel php-mbstring php-pdo php-gd php-mysqlnd php-intl php-pecl php-pear php-mcrypt

でもって、「アップデートおわったー!」などと思ってサイトにアクセスしたらまたエラー。”php.ini”はちゃんと修正したと思っていたのだけど、nginxのエラーログを確認すると……。

2020/07/19 06:09:48 [crit] *****#*****: *** connect() to unix:/var/run/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: ***.***.***.***, server: donabeneko.jp, request: "GET / HTTP/2.0", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "donabeneko.jp"

要するに、”php-fpm.sock”の所有者だとかパーミッションがおかしいということだったようだ。つきましては”/etc/php-fpm.d/www.conf”を修正。

# sudo vi /etc/php-fpm.d/www.conf
;listen = 127.0.0.1:9000 // コメントアウト
listen = /var/run/php-fpm.sock // こちらを追記
(中略)
listen.owner = nginx
listen.group = nginx
listen.mode = 0666

上記のように修正したら、”php-fpm”を再起動&nginxも再起動。

# sudo systemctl restart php-fpm.service
# sudo systemctl restart nginx.service

これでやっとこサイトも復旧。たぶんきっと、これでめでたしめでたし。疲れた。

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