Mautic1.4.1をぶっ飛ばしたときの復旧メモ

思いっきりやらかしたので、反省を込めて覚書。いわゆるところの始末書的な意味もこめて。

やらかしたこと

せっかくAWS使ってるのに、スナップショットを取らずにMauticをアップデートを実行した。
その結果アップデートに失敗してMauticにログインできなくなった。

根本的な問題

アップデートの様な大きな変更を入れる時は必ずスナップショットを作成する。

復旧までの覚書

やらかした先人はすでにいたので参考にする。
Uh Oh, Mautic upgrade was not successful

ファイルの退避

ソースコードを新しくとってくるので、既存のファイルを一時的に移動させる。

$ sudo mkdir /tmp/html.bk
$ sudo mv /var/www/html/* /tmp/html.bk/

Mauticコアの再取得

Mauticのコアファイルを新しくとってきます。
調子に乗ってここで最新バージョンをとってくるのではなく、おとなしくアップデート前のものをとってきましょう。復旧させるのが第一です。

$ sudo su -
# cd /var/www/html
# wget https://github.com/mautic/mautic/archive/1.4.1.zip
# unzip 1.4.1.zip
# mv mautic-1.4.1/* ./
# rm -f 1.4.1.zip
# rm -rf mautic-1.4.1

設定ファイル及び各種ファイルの復旧

もとのMauticの情報やファイルを利用できるように各ファイルを移動させます。
万が一に備えてmvではなくcpを使用します。

# cp /tmp/html.bk/app/config/local.php /var/www/html/app/config
# \cp -Rf /tmp/html.bk/media/* /var/www/html/media/
# \cp -Rf /tmp/html.bk/themes/* /var/www/html/themes/
# \cp -Rf /tmp/html.bk/plugins/* /var/www/html/plugins/

composer install

Mauticで利用するライブラリはComposerで管理されていますので、インストールします。

# cd /var/www/html
# composer install

パーミッションの復旧

ここまでrootで作業してるので、権限をapacheに戻しましょう。

# chown -R apache:apache /var/www/html
# chmod -R 775 /var/www/html/app/cache
# chmod -R 775 /var/www/html/app/logs
# chmod -R 775 /var/www/html/app/config
# exit

表示確認

ここまでやればサイトの表示は復旧している(はず)です。
今度はちゃんとスナップショットなどのバックアップを作成した上でアップデートを実施しましょう。

最後に

この記事を最後まで読む必要があった人は、とりあえず今すぐスナップショット作っておきましょう。
そうすれば少なくとも復旧したこのタイミングまでは簡単にロールバックができるようになります。