当サイトはWordPressにて運営しているが、この外出出来ない大型連休を利用して、サーバーのOSの入れ替えを行った。
思慮が足らず、以前の環境をメモするのを忘れていたが、結果としては下記の通りとなった。
以前の環境(ざっくり)
OS:CentOS 6.8
PHP:7.1
Apache:2.2.15(?)
MySQL:5.1.73(?)
更新後の環境
OS:CentOS 7.8
PHP:7.4.5
Apache:2.4.6
MySQL:10.4.12-MariaDB/mysqlnd 7.4.5(utf8mb4対応)
以前の環境で特に不満もなかったのだが、調べものをしていても、CentOS 7をベースにして書かれているものが増えてきて、CentOS 6のサポートも今年の秋に終了する、ということだったので、思い切って環境を更新してみた。
OSの入れ替え方法
OSのアップグレードという方法もあるようなのだが、素人には敷居が高そうなのと、諸々インストール済みのライブラリなどのアップデートも面倒くさそうだったので、WordPressをバックアップし、クリーンインストールすることにした。
backWPup
WordPressのバックアップには手っ取り早くプラグインを使用した。「backWPup」という名のプラグイン。早速バックアップ時にエラーが発生して困ったのだが、プラグインを全て停止してから再度行ったら無事バックアップが出来た。毎日とか週一とか好きなタイミングで自動でバックアップをしてくれるし、いざWordPressのアップデートなどする時も手動ですぐバックアップが作れるから、これは素晴らしいプラグインだ。有料版もあるが、私には無料版で十分だった。
参考:【初心者向け】WordPressのバックアップ&復元方法 | カゴヤのサーバー研究室
復元時はFTPアプリなどで元の場所にファイルをアップロードするだけ。ただし、sqlデータのみPHPMyAdminからインポートする。
復元時にデータベース名などを以前と全く同じにしておかないと「データベース接続エラー」などと表示されて悲しいが、設定ファイルを書きなおせばいいだけなので、慌てる必要はない。詳しくは後述。
OSのクリーンインストール
私は「さくらのVPS」を利用しているのだが、ポータル画面でOSをインストールできるのでこちらを利用する。(既存のデータは全て消える。)
その後のapache、PHP、MariaDB(MySQL)などのインストールは全て下記サイトに倣った。
ネコでもわかる!さくらのVPS講座 〜第一回:VPSてなんだろう?〜 | さくらのナレッジ
とは言っても記事が少し古い部分があるので、そこだけ補足していきたいと思う。
PHPは最新バージョンを入れたい。
第四回の記事でPHPをインストールするのだが、ここでは最新(2020年5月現在)のversion 7.4をインストールしたい。
という訳で下記の通り、remiリポジトリの部分を記事中の「remi-php71」ではなく、「remi-php74」とする必要がある。
# yum install --enablerepo=remi,remi-php74 php php-devel php-mbstring php-mysqlnd php-pdo php-gd
Let’s Encrypt導入時のバーチャルホストの設定に気を付けよう
第六回にて無料SSL証明書のLet’s Encryptを導入する訳だが私はここで躓いた。Virtual Hostがないたらなんたらのエラーが出たためググったところ、下記のサイトにたどり着いた。
Let’s Encryptのインストールができない。途中で止まる時の対処法 | With feeling like it
上記サイトにあるように「httpd.conf」ファイルにvirtual hostの設定を書き込んで、apacheを再起動したところ、無事インストール出来た。
後はさして問題になるところもなくWordPressのインストールまで終了。
躓きそうなポイント
データベース接続エラー
手間をかけて再構築したWordPressのサイト。いざ開くと
「データベース接続エラー」(´;ω;`)
一瞬目の前が暗くなるが、ここはWordPressファイルをアップロードしたフォルダにある「wp-config.php」ファイルの設定を正せば元に戻る。念のため
cp wp-config.php wp-config.php.backup
などとしてオリジナルファイルは取っておこう。
ありがちなのは、PHPMyAdminで以前と異なるデータベース名を登録した。MariaDBインストール時に以前と異なるパスワードを設定したなどなので、「wp-config.php」ファイルを適時見直して、apacheを再起動。全ての設定があっていれば以前の通り表示される。
トップページ以外が表示されない。
個別の記事が見れない。WordPressのダッシュボードから「設定」→「パーマリンク設定」で「基本」を選べば見られるようになるけど、
https://bono-ism.com/blog/?p=123
みたいなアドレスはダサい・・・前にリンクしてくれた人も記事見れない・・・
これは十中八九WordPressフォルダ直下の「.htaccess」ファイルが関係している。FTPソフトでファイルをアップロードするとき「.htaccess」ファイルは不可視ファイルなので、ついアップロードをし忘れがち。
そんなことで・・・
さらっと書いたが思った通り、一筋縄ではいかず、まずまず面倒だった。それでもCentOS6から中途半端にアップグレードして、各種設定が新旧入り乱れたままにしておくよりは、OS新規インストールを機に必要な機能全て最近のものを導入した方が、後々管理が絶対楽である。
ともかくWordPress関連のファイルがきちんとバックアップが取れていれば後の機能は後からいくらでもインストールしなおせるので、セキュリティ対策、そしてお勉強のためにも新しいOSの導入をお勧めしたい。