wordpressサーバで、phpとmysqlのバージョンアップを行う
12
- 2月
2020
Posted By : boomin
wordpressサーバで、phpとmysqlのバージョンアップを行う

wordpressでサイト運営をしています。

運営を初めて数年、使用しているサーバのPHPバージョンが古くなってしまいました。 wordpressのサポート対象から外れてしまったので、ここらでバージョンアップさせることにします。

Advertisements

1. 現状の確認

wordpressの管理画面から、ツール -> サイトヘルス と進むと、いろいろな情報を確認できます。

Site Info

Plugin Version : 4.4.2
WP Version : 5.3.2
MySQL Version : 5.5.64
PHP Version : 7.4.1
WP URL: https://boomin.yokohama
Server Name : boomin.yokohama

上記はこのサイトの更新後のものです。 2020/2/11現在で最新の状態となっていますが、PHPは7.1、MySQLは5.1(だったかな・・・?忘れてしまった)を使っていました。

2. 事前の設定バックアップ

バックアップ、これ大事ですね。
万が一のために、必ず実施するようにしましょう。

phpそのものの設定ファイルと、php-fpmの設定ファイルです。

cp /etc/php.ini /etc/php.ini.old
cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.old

php-fpmは、nginx+php-fpmという構成にしているので使用していますが、Apacheでphpのモジュール版を使っていたりすると、不要な場合もあるかもしれません。

3.

3.1 リポジトリの追加

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
Advertisements

3.2 既存のphpの削除

phpと名の付くものをすべて削除します。

yum remove php-*

3.3 phpのインストール

phpの7.4をインストールします。

それに合わせて、wordpressで必要となるモジュールもインストールします。

yum install --disablerepo=* --enablerepo=epel,remi,remi-safe,remi-php74 php php-mbstring php-pear php-fpm php-mcrypt php-mysql

念のため、インストールされたphpのバージョンを確認します。

# php -v
PHP 7.4.2 (cli) (built: Jan 21 2020 11:35:20) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

4. 設定の修正

このサイトを参考にして、設定ファイルを修正していきます。

vi /etc/php-fpm.d/www.conf

修正箇所だけ抜粋します。

;listen = 127.0.0.1:9000
listen = /var/run/php-fpm/php-fpm.sock

;listen.owner = nobody
;listen.group = nobody
;listen.mode = 0660
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

;user = apahe
user = nginx
;group = apahe
group = nginx

5. mysqlのバージョンアップ

mysqlといっても、本サイトではMariaDBを使用しているので、MariaDBの話になります。

dbのバックアップは、しっかりとっておきましょう。
取得方法はなんでもいいですが、自分はBackWPupというwordpressプラグインを使用しているので、これで取得してしましました。

バックアップが取得出来たら、以下のようにしてバージョンアップ出来ます。 ぶっちゃけ、公式に書いてあります

5.1 yumレポジトリの設定

既にインストール時に、実施していたら対応不要です。
/etc/yum.repos.d/mariadb.repo などのyumのリポジトリ設定ファイルがなければ、以下を実施しましょう。

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

5.2 バージョンアップ

yumで簡単に出来ます。 インストール後、

  • サービスを起動させること
  • OS起動時にサービスが起動するように設定すること

を忘れないようしましょう。自分はこれを忘れて、ちょっとパニックになりました。。。。

yum install mariadb mariadb-server
systemctl start mariadb
systemctl enable mariadb

5.3 db migration

バージョンアップが終わったら、以下のコマンドでDBマイグレーションを実施します。

mysql_upgrade -u root -p
(rootパスワードを入力)

これをしないと、以下のようなwarningが表示されることがあります。

警告: クエリー SHOW FUNCTION STATUS のデータベースエラー: Column count of mysql.proc is wrong. Expected 21, found 20. Created with MariaDB 50556, now running 100412. Please use mysql_upgrade to fix this error

6. php適用

まずは、nginxとphp-fpmを再起動します。

systemctl restart nginx
systemctl restart php-fpm

OS起動時に、php-fpmも起動するようにします。

systemctl enable php-fpm

7. 作業終了

以上で、全作業が終了です。 自分はmysqlのサービスを起動し忘れたため、phpバージョンアップ後にDB接続が出来ないというエラーが発生し、焦って調査をしましたが、、、それ以外に引っかかる点はありませんでした。

パフォーマンス、セキュリティ的な観点からも、なるべく新しいバージョンを使うようにしましょう。

Advertisements

コメントを残す