【WordPress】サーバ引越しで泣いた
Xserver クセが強いんじゃ。
WordPress のサーバ引越しは初めてじゃない。いくつかのレンタルサーバで経験はある。
かつて、データベースにシリアライズとかいう値がなかった頃(注:シリアライズしていたかもしれないけど知識がないから無理矢理)、旧アドレスと新アドレスを、秀丸エディタで置換するという荒業をしたことがある。置換する間、おばちゃんは心配で胃がキリキリして、気を紛らわすためにエア縄跳びをしてその時間を耐えた。(ただ変な人)
「DATABASE SEARCH AND REPLACE」は血を吐きながら使った。(イメージ)
今回の引越しはデータベースが小さいから、WordPress 付属のエクスポート、インポートの機能で行ける。楽勝!・・・と思っていた。
甘い、甘いのだよ。(自分)
一番心配だったデータベースの問題は無いけど、Xserver はドメイン対象のディレクトリで事前に作業できないようだった。
今まで触ってきたレンタルサーバは、たぶん FreeBSD + Apache だったのか雰囲気が似ていた。Xserver は Linux + Nginx っていうのだから色々違うのかもしれない。
で、WordPress のインストールはどうやるの???
どうやら、動作確認URL設定追加というもので「動作確認用のアドレス」をもらって作業するらしい。では、その通りに・・・
http://xxxxxxx.check-xserver.jp
しばらくしたら、こんな感じの URL アドレスをいただいた。アクセスすると、たしかに WordPress のインストール画面が表示された。おおっ! 作業できる。
ひととおり作業が終わって、動作確認用のアドレスで無事 Web サイトが表示されたので、仕上げにドメインのネームサーバ情報を変更した。
ああ、これで無事 Xserver 側が表示されたらサーバ引越しもほぼ終わりね。コーヒーでも煎れて一服しましょ。
しばらくして、ブラウザでドメインを叩いたら、レイアウトが崩れまくりの Web サイトが表示された。飲んでたコーヒー噴いた。
ど・・・どういうこと?
ソースを見たら、画像とか CSS とかリンク先が全部、動作確認用のアドレスになっていた・・・
もしかして、動作確認用のアドレス中は WordPress インストールしてはいけなかった? ネームサーバ情報を変更してからインストールだった?? 素直に Xserver の「WordPress簡単インストール」とか「WordPress簡単移行」機能とか使えばよかった???
頭の中を後悔がグルグル回る。胃がキリキリ痛み出す。だが、しかし、対応しなければ・・・今からもう一つ新しい WordPress サイト作るのよ!
(1)サーバパネルで、新しいデータベース作成
(2)サーバ内にアップロードしておいた WordPress パッケージを解凍
[obachan@sv00000 public_html]$ tar -zxvf wordpress-5.8.2-ja.tar.gz
(3)wp-config.php(データベース設定と秘密鍵)
(4)ブラウザでドメイン叩いてインストール(が、旧サーバのほうが表示されてインストールできないぃぃぃ)しばらくして無事インストール完了。
(5)テーマ変更、データベースをインポート
(6)パーマリンク変更
(7)プラグイン入れる
(8)htaccess
サブディレクトリにインストールしたから設定(常時 SSL も)
2022.9.9追記「最初に書いた記述は、Apache サーバの書き方でした。Xserver の nginx でも問題ないように見えたのですが、やはり間違っているので書き直しました」
・・・というのも勘違いみたいでした。
2022.10.6追記「nginx なのに .htaccess 使えてること自体が nginx の書き方ではないようです。とにかく、Xserver の公式サイトに載っていた書き方に合わせました。(自分の知識のなさがツラい)」
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off
SetEnvIf Request_URI ".*" Ngx_Cache_AllCacheMode
# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/sub/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /sub/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ sub/index.php [L]
</IfModule>
# END WordPress
# 以下も設定によっては記述が続きます・・・
(9)サーバパネルでメール設定
(10)サーバパネルでセキュリティ設定確認
こんな感じでとりあえず大丈夫かしら・・・ゼエゼエ(息切れ)
次回は、この記事を見返して作戦立てよう。それにしても毎回トラブっている、おばちゃん。(懲りない・・・)
WEBデザイナー(自営業)のおばちゃんです。最近はBlenderネタ多めです。