KUSANAGI MAGAZINEで「きもおたわーどぷれす。」が紹介されました! クリックで公式サイトが開きます。

kusanagi migrateしようとWEXALを削除したらNginxすら立ち上がらなくなって地獄を見た

この記事は約6分で読めます。
記事内に広告が含まれています。

KUSANAGI8から9への移行がようやく終わりました。
地獄を見ました。
KUSANAGIでサイトを作って以来の地獄を見ました。

以下、その顛末を記します。

最初に記しておきます。

理由は人災の複合なので恐らく他の方の参考にはなりません
むしろ笑い話としてお読みいただければ……

スポンサーリンク

地獄を見る前の状況説明

KUSANAGI8から9へ移行作業を始めました。
まずWEXALを実行していないサイト。
次いで同じくWEXALを実行していない、既に閉鎖していたサイト(本サイトのことです)。
さらにテストサーバー。

途中ブチはまりはしたものの、ここまでは順調でした。

公式の「kusanagi migrateコマンドによる移行手順」を読んでインポートするのにプチはまりしたこと1つ
KUSANAGI8から9へようやく移行しました。 ずっとやらないといけないと思ってはいたのですが。 サーバーを立て直して、一から環境を設定し直さないといけない。...

新サーバーの設定を全て終え、残すは親サイトの移行。
親サイトを最後まで残していたのは、新サーバーの設定確認のためです。
やり残しがあったらまずいですから。

説明に従ってまずはWEXALをオフ。

# pst off

続けてWEXALの適用除外。

# pst remove

できない! どうして!

当然、migrateコマンドを実行してもできません。

WEXALを解除する際には以前もトラブルがありました。

ConoHaにWEXALがやってきた! 使ってみた! ……だが、しかし
世間はコロナウイルスでどんよりですが、あと3日で3月。 一足先に春っぽいアイキャッチを使ってみました。 そしてConoHa VPSにも春がやってきました。 なん...

でもその後にアンインストールした時はうまくいったはずだし。

以前のトラブルのときは手動で.confファイルをWEXALの適用前のものに戻したら動いたはず。
WEXAL2と3でバージョン違うけど原理的には同じだろうし、やってみよう。

.conf.before.pst→.confに書き換えてNginx再起動。

# kusanagi nginx

nginxが再起動に失敗!?

青ざめました。
悪夢の始まりです。

スポンサーリンク

思いつく限り調べた限りの対処をしてみる

とりあえずKUSANAGI premiumをアンインストールしてmigrate。
やっぱりPST適用のままじゃダメと出ます。

というか再起動しようとして、

どうしてサブドメインサイトのSSLがないって問題になるの?

出ていたメッセージは「https://wordpress.kimoota.net/~(略)」。
WEXAL適用してないどころか、閉鎖して301リダイレクト状態だったのに。
自動更新も移行する際に完全に停止したから問題ないはず。

幸い、バックアップファイルは揃っています。
移行する予定のサイトですから新サイトに手動で移して構築してもいいんですけど。
その場合はメディアライブラリの登録し直しなど面倒な作業が待っています。
できれば最終手段にしたい。

そもそもNginxが死んでる時点で異常です。
もちろんApacheも立ち上がりません。

幸いOSは生きているわけですからコマンドは打てます。
ファイルの書換えもできます。

私の浅い知識で思いつく限り。
調べながら片っ端からコマンドを打ち込みました。

……が、無理でした。
渋々新サーバーに手作業で移行することにしました。

www. kimoota.netのSSLが設定できない!

旧サーバーのIPアドレスに接続できないからとかなんとか。

しかたないので泣く泣く続行。
SSL回りに問題が起きているのは間違いないのでSSL関係のフォルダをローカルにバックアップ。
息抜き代わりに記事の更新しながら5日くらい悪戦苦闘しました。

この時点で激しい後悔に襲われます。

どうして私はVPS丸ごとバックアップしてから作業しなかったんだ

皆様は決してお忘れなきよう……。

格闘の果てに。
やけくそで親サイトのSSLの鍵ファイルを他のサイト全てに貼りつけてみました。

Nginx動いた!

やっと……やっとだよ。
私、トラブルシューティングでこれ程まで嬉しかったことありません。
これ程までに手こずったこともありませんけど。

スポンサーリンク

SSLを復旧~migrateコマンドの実行成功

しかしこの状況でもなお、kusanagi migrateは実行できません。
環境を完全に元に戻す必要があります。

現在はhttpでもアクセスできる状況でSSLの301リダイレクトは飛んだ状況。
kusanagi ssl コマンドを実行してみます。

failedが出た!

kimoota.netのIPにアクセスできないと出ます。
新サーバーと同じ状況。
いったいどうすればいいんだ!

とりあえず旧サーバーはシャットダウン。
ここで休憩を数時間とりました。

そして頭を休めたのがよかったか、気づきます。

新サーバーと旧サーバーでエラーメッセージは同じじゃない!

新サーバーはwww.kimoota.netで旧サーバーはkimoota.netじゃなかった?
もしかして……案の定でした。
DNS設定が@とwwwで別々になってます。

他のサーバーではwwwを使ってないので気づかなかったのですが。
新サーバーでSSLを取得する際にwwwのIPアドレス変更を忘れていました。
しかしKUSANAGIはwwwも同時にSSLを取得しにいくのでエラーが出ていたわけです。

完全な人災ね……

でも気づいてしまえば何の事はありません。
DNSでIPアドレスを揃えて再びkusanagi sslコマンド。
無事に復旧できました。

後はkusanagi premiumを再インストール。
pst initして、恐る恐る……

# pst remove

できた!

kusanagi migrateを実行。
新サーバーでkusanagi init→import。
今度はDNS設定も忘れずに両方とも変更した後、sslコマンドを実行。
各種設定後にWEXALの適用完了。
移行作業完了しました。

スポンサーリンク

原因

一言で、

人災の複合です

原因の1つは、恐らくこのコマンドを忘れていたせい。

# pst watch off

removeできなかったのはこのためじゃないかと思います。
(復旧した後は確かinit直後にremoveを実行したので影響がなかったのでは?)
WEXALの起動はpst on だけで足りるのですが。
終了するときはpst offに加えてwatchもoffにしないといけないのを忘れていました。
WEXALを一旦起動して完全停止することは普通ありませんし。

ただ、Nginxが起動しなくなった直接の原因でもないような気がします。
本サイトは旧サーバーでWEXAL適用させていませんし
自動更新も止めていましたし、新サーバーに移行済みでしたし、基本的に関係無いはず。
どうして認証できないと怒られるのか。

もしかしたら、これがいけなかったのかもしれません。

# certbot delete --cert-name ドメイン

SSL証明書をファイルごと削除してしまうものでmigrateの後に実行するようメッセージが出ます。
しかしサイトを全て移転するまでは実行してはいけなかったのかも。
あるいはWEXALが半端に削除されてしまったのとあわせて問題が起きたのか。
ここはもう本当に推測です。

そしてドメインのDNS設定忘れ。
これは完全に人災です。

スポンサーリンク

まとめ

とにかく最終的には移行できてよかった
SSL回りについても勉強できたし

お疲れ様、そう思わないとやってられないよね
他の方はこんなミスしないと思いますが、WEXAL環境で移行するときはくれぐれも御注意ください

サイトを始めたい・引っ越したい方へ

おすすめレンタルサーバー「ConoHa WING」
Webサーバー処理速度 国内最速!
サイト管理・カスタマイズのタイパも抜群!
自動化AIのWEXALによって他社より負担を減らせます
各種キャンペーン施策によりコスパも抜群!
ConoHaに初めて入会かつ12か月以上のWINGパックなら
下のボタン経由で契約すると最大5000円の割引が受けられます

この記事を書いた人

素人の備忘録です。
素人がゆえにトラブルにぶつかりまくってきたので、同じように困った方の役に立てたらいいなと思ってます。
8年来のKUSANAGI推し。

元公安調査庁職員、発達障害(ADHD)

天満川 鈴をフォローする
KUSANAGI・WEXAL
タイトルとURLをコピーしました