自宅サーバー用PCを変えた時、WordPressの引越し作業をしたので、その備忘録です。え〜と、これは前投稿の「macOS ServerでWordPressを運用」からのつづきです。
↓ 中古物件だけど新居のMac mini Late2009(左)と旧居のMac mini G4(右)
ハードは中古だけど、おっと8GBのメモリは新品。ソフトも新規インストールなので、中古物件だけど内装や家具は全部新品!。みたいな感じですかね〜。
引越し作業はまだ下の方です。もう少し一人話しが続きます。
一人話しの続きです。さて、引越しには旧居のMac mini G4(Ubuntu)にあるWordPress用データベースとuploadsディレクトリの画像データをバックアップして置かないと、引越しが出来ません。そのデータベースのバックアップ方法はMySQLのコマンドが確かです。私はphpMyAdminを使用した時、不完全な復元となりました。原因は私の無知。それからはphpMyAdminをインストールしていません。
そんな無知な私でも、MySQLのコマンドを使用すれば、完全なバックアップと復元が出来ます。それぞれ1行で済むので、「簡単、確実、早い!」おすすめです。
バックアップするものは2つ
WordPress用データベース uploadsディレクトリ
私の場合はテーマ用スタイルシートに手を加えてあるので、これもバックアップ対象なんです。
wp-content/themes/contango/style.css
WordPress用データベースのバックアップ方法
データベース名がwpdbだとして
$ mysqldump --single-transaction -u root -p wpdb > wpdb_minig4.dump
復元は
$ mysql -u root -p wpdb < wpdb_minig4.dump
一人話しは以上です。
ここから本番の引越し作業です。尚、WordPressのインストールが済んだ直後とします。投稿がない状態、又は投稿があっても削除して良い事とします。
注意して下さい。
これは素人の私が行う方法で、データベースを一度削除します。これを貴方が参考にした事で損害等を被っても、私は責任を取りませんよ〜。
まず、私は投稿のないWordPressを好みのスタイルに整えます。
それは、お気に入りのテーマを適用、そのテーマ用のバックアップして置いたstyle.cssに変更、必要なプラグインのインストール、uploadsディレクトリの復元等を行います。
以上を終えたら、一度WordPress用データベースを削除して、新しくデータベースを作成。空のデータベース(テーブルがない)が必要みたいなので。そのデータベース名はwpdbとして
$ mysql -u root -p mysql> DROP DATABASE wpdb; mysql> CREATE DATABASE wpdb; mysql> exit
バックアップして置いたデータベース(wpdb_minig4.dump)の復元です。
$ mysql -u root -p wpdb < wpdb_minig4.dump
これでWordPressの引越し完了!
どうです?貴方のWordPressになっていますよね〜。
家に例えるなら、内装や家具は全部新品なのに、住み慣れた我が家って感じですね。
残るは、セキュリティを高める設定です。と、私は良く知っているみたいな書き方ですが、セキュリティ関連「も」適当です。
私は、.htaccessに記述する事を新たに作成したakihito.confにまとめて記述しました。
$ sudo vi /Library/Server/Web/Config/apache2/sites/akihito.conf <Directory /Library/Server/Web/Data/Sites/wordpress/> <Files ~ "^\.ht"> deny from all </Files> <Files xmlrpc.php> order deny,allow deny from all allow from 127.0.0.1 allow from 192.168.0.0/24 </Files> <Files wp-login.php> order deny,allow deny from all allow from 127.0.0.1 allow from 192.168.0.0/24 </Files> <files wp-config.php> order allow,deny deny from all </files> </Directory> <Directory /Library/Server/Web/Data/Sites/wordpress/wp-admin/> order deny,allow deny from all allow from 127.0.0.1 allow from 192.168.0.0/24 </Directory>
その理由は
/Library/Server/Web/Config/apache2/httpd_server_app.conf
の中に
<IfDefine WEBSERVICE_ON> Include /Library/Server/Web/Config/apache2/sites/*.conf </IfDefine>
とあるので、Server.appのWebサイトが「入」の場合、それらのファイルを読み込むらしいです。
セキュリティ的にはまだ不足してそうですので、今後勉強します。