サーバをCentOS 8に移行して嵌ったことを忘れないようにメモ

半月ほど前、当ブログのサーバをCentOS 7からCentOS 8に移行しました。その時嵌った以下のことを自分のためも兼ねてメモしておきます。

  1. MariaDB/MySQLでユーザー情報ごとデータベースをバックアップ・リストアする
  2. WordPressの更新機能をSELinuxがEnforcingの状態でも動くようにする
  3. php.iniへの変更を正しく反映させる

1. MariaDB/MySQLでユーザー情報ごとデータベースをバックアップ・リストアする

--allow-keywordsオプションありでmysqlデータベースをダンプするとユーザー情報がバックアップされるそうです。
なので、以下のようにしてユーザー情報を含めて全データベースをバックアップしました。
(ここではユーザー情報以外のダンプをxz圧縮しています。)

mysqldump -u root -p --lock-all-tables --all-databases | xz > dump.sql.xz
mysqldump -u root -p --lock-all-tables --allow-keywords mysql > user.sql

これで得られたdump.sql.xzuser.sqlを新しい環境で以下のようにリストアしました。

xzcat dump.sql.xz | mysql -u root -p
mysql -u root -p mysql < user.sql

2. WordPressの更新機能をSELinuxがEnforcingの状態でも動くようにする

WordPressの更新機能およびプラグイン・テーマ追加機能を使えるようにするためにごめんなさいしながらSELinuxを無効にする(もしくはpermissive設定にする)人も多いですが、実はSELinuxがEnforcingの状態でも割と簡単に動くようになります。
まずは、以下のコマンドでSELinuxのhttpd_can_network_connectブール値をオンにして、PHPがネットワーク接続できるようにします。

setsebool -P httpd_can_network_connect 1

次に、Wordpressの設置場所以下にhttpd_sys_rw_content_tタイプのラベルを設定します。例えば/var/www/wp/にWordpressを設置しているとすると、以下のようになります。

chcon -R -t httpd_sys_rw_content_t /var/www/wp/

3. php.iniへの変更を正しく反映させる

これは自分が無知だっただけなのですが、CentOS 8からPHPがmod_phpからphp-fpmに変更されたそうで、httpdだけでなく以下のようにphp-fpmを再起動しないとphp.iniへの変更が反映されませんでした。

systemctl restart php-fpm

WordPressでアップロードできる最大ファイルサイズを変更するためにphp.iniのupload_max_filesizepost_max_sizeを変更したのですが、httpdをいくら再起動しても設定が反映されず、少し嵌ってしまいました。

以上、自分がCentOS 8への移行時に嵌ったことですが、皆さんにとっても何かの参考になれば幸いです。

タグ , , , , . ブックマークする パーマリンク.

コメントを残す

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


*