【tech】ブラウザからアクセスできないWORDPRESSのポストを復旧した時のメモ



WORDPRESSにアクセスできない・・


このblogはwordpressで作成しています。

wordpressのインストールしているサーバに何かしらの変更を加えようとしたとき、
うっかりスナップショットやバックアップを取らずにサーバのファイル更新作業をやってしまって、うまくいかずにブラウザアクセスできなくなってしまって、どうしようもなく途方にくれて、blogをもうやめようと思う事ってありませんか?

ありませんか?

わたしはあります。泣

よくあります。号泣

そんな時、blogのポストをなんとか復旧した事があるので、その手順を書き残しておきます。
この手順はあくまでも個人的メモですので、作業前は必ずバックアップを取ってから、自己責任でご参考までにお願いいたします。

多分、もっとスマートな方法があると思いますが、それは、他のblogをあたってください。笑


環境

・GCP上に構築したBitnami WORDPRESS
・ブラウザアクセスができない
(apache2のインストール?更新に失敗してしまった)
・GCPのconsoleからSSHアクセスは可能。




手順(概要)

  1. GCPのconsoleからSSHアクセス
  2. WORDPRESSディレクトリへ移動
  3. WORDPEESSディレクトリの権限変更
  4. DBのexport(dumpファイル作成)
  5. dumpファイルを開いてポスト(記事)のテキストを抜き出し

雑手順

1.GCPのconsoleからSSH接続
まずはGCPのconsoleからwordpressが動いているサーバへSSH接続します。

GCPのTOPからComputeEngineを開いて「VMインスタンス」カラムを選択、
画面中央のウィンドウからwordpressが動いているサーバを探して右へスクロールすると、
「SSH」のボタンがあります。
そこを選ぶとGCP上のWORDPRESSサーバへSSH接続できます。

2.WORDPRESSディレクトリへ移動
cd /opt/bitnami/apps

3.配下ディレクトリ、権限の確認
ls -l


drwxr-xr-x 3 root root 4096 Oct 4 17:01 bitnami
drwxr-xr-x 5 root root 4096 Oct 4 17:01 phpmyadmin
drwxr-xr-x 7 root root 4096 Oct 4 17:01 wordpress


こんな感じになっていると思います。


4.rootユーザへ変更
sudo su -

5.任意のファイル名でDBのexport
wp db export mysqldump.sql --allow-root
(ここでファイル名は「mysqldump.sql」の部分です)

コマンド実行後


Success: Exported to 'mysqldump.sql'.


が表示されれば成功です。

6.ファイル作成の確認
ls -l


drwxr-xr-x 3 root root 4096 Oct 4 17:01 bitnami
-rw-r--r-- 1 root root 50930 Oct 29 14:11 mysqldump.sql
drwxr-xr-x 5 root root 4096 Oct 4 17:01 phpmyadmin
drwxr-xr-x 7 root root 4096 Oct 4 17:01 wordpress


こうなっていれば成功です。

あとはcatやmoreで直接DBのexportファイルを覗けば「wp_posts」テーブル内にpostしたテキストが記述されているのでそこを無理やりコピペして復旧させることが可能です。


念の為コマンドも記載しておきます

catは一度に全部のファイルを表示

cat mysqldump.sql

moreは徐々に表示(spaceキーで次を表示させられます)

more mysqldump.sql

もっとスマートなやり方だと、exportしたDBファイルを、別の新規WORDPRESSへimportしたりするやり方でも復旧できると思います。

とにかくわたし、今回、WORDPRESSへブラウザアクセスするすべを失ってしまってphpmyadminも使えないしとにかくひたすら困ったたので、同じ道をたどったどなたかに届けばいいと思ってメモとして書き残しておきます。泣

長くなりましたが以上です!!

最後のメモ
・DBのユーザ・PW確認方法。
ディレクトリ:/opt/bitnami/apps/wordpress/htdocs
配下の「wp-config.php」ファイル内に書いてあった
下記の場合、
ユーザ:bn_wordpress
PW:XXXXXXXXX
です。


/** MySQL database username */
define('DB_USER', 'bn_wordpress');
/** MySQL database password */
define('DB_PASSWORD', 'XXXXXXXXX');




久しぶりにみてみると、モバイルバッテリーもメモリもSSDもずいぶん安くなってるんですね!

皆さん既にやってると思いますが、 AmazonPrimeだとAmazon Music Unlimitedが月額780円でできるんですね!
最近知ってapple musicから乗り換えました。(200円ですが安い方がいいに越したことはないです笑)

下のRedmineの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)