Webサイトのクローンを作成する方法を理解しておけば、OSの入れ替えや、サイトのバックアップをしておく事も出来ます。サーバー自体の故障では、復旧には更に作業が必要ですが、WordPressなどのCMSシステムの場合は意外と簡単です
目次
サイトの情報は、二つのファイルに分けられる
データーベース
WordPressのインストール時に、必要な作業で、データーベースに関する情報を入力する必要があります。データーベース名、接続ユーザー名、パスワード等です。まずはサイトにSSH接続し、データーベースに接続します。
# cd /home/[user_name]/
# ll
合計 0
# mysql -u root -p
Enter Password <====パスワードを入力します
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 26523
Server version: 8.0.26 Source distribution
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| joma |
| mput1 |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
mysql>
復旧するデーターベースを、mput1とします
上記は、rootユーザーで、MySQLにログインし、データーベースの一覧を取得した所を示します。上記のデーターベースから、mput1を外部SQLファイルファイルとして取り出すため、下記のコマンドを打ちます。
mysql> quit;
Bye
# mysqldump -h localhost -u root -p --add-drop-table mput1 > mput1.sql
Enter Password <====パスワードを入力します
# ls -l
合計 1504
-rw-r--r--. 1 root root 1532285 4月 26 20:45 mput1.sql ・・・・mput1.sqlを出力!
#
WordPressファイルは一つのZipファイルにする
次は、ドキュメントルートにある、WordPressのファイルをZipファイル一つにまとめて取り出します
# cd /var/www/html/
# ll
合計 50172
drwxr-xr-x. 5 apache apache 253 3月 29 17:42 commjs
-rw-r--r--. 1 root root 431864 2月 24 09:18 commjs.zip
drwxr-xr-x. 5 apache apache 4096 3月 28 08:27 mput
# zip -r mput.zip mput
・・・省略・・・
adding: mput/wp-includes/class-wp-http.php (deflated 73%)
adding: mput/wp-includes/block-i18n.json (deflated 58%)
adding: mput/wp-includes/global-styles-and-settings.php (deflated 75%)
adding: mput/wp-includes/class-wp-theme-json-schema.php (deflated 67%)
adding: mput/readme.html (deflated 62%)
adding: mput/.htaccess (deflated 61%)
adding: mput/.htaccess.cocoon (deflated 70%)
adding: mput/wp-config.php (deflated 46%)
# ll
合計 55268
drwxr-xr-x. 5 apache apache 253 3月 29 17:42 commjs
-rw-r--r--. 1 root root 431864 2月 24 09:18 commjs.zip
drwxr-xr-x. 5 apache apache 4096 3月 28 08:27 mput
-rw-r--r--. 1 root root 329450288 3月 30 10:11 mput.zip
# cp mput.zip /home/[user_name]
# cd /home/[user_name]
# ll
-rw-r--r--. 1 root root 277113493 3月 5 19:27 mput.zip
-rw-r--r--. 1 root root 28458021 3月 5 19:26 mput1.sql
上記のZipファイルとSqlファイルが、サイトのバックアップファイルです!
# scp ./mput1.sql [user_name]@192.168.21.2:/home/[user_name]/
ユーザー名の編集パソコンにsqlファイルを送ります
SQLファイルは編集パソコンにコピーします
前項の、scpコマンドで、クライアントPCの、/home/[user_name]/に転送した、mput1.sqlファイルをubuntu機のMousepadで開き、コピー元のWebサーバーのFQDN値を、コピー先のFQDN値に全置換します。具体的には、SQLファイルを開いた後、Mouspadの検索と置換の機能を使って文字列置換を行います。
一括置換の右の文書ボタンの右に一致数が表示されています。全て置換のボタンをクリックし、一致文字数が0になったのを確認したら、SQLファイルの上書き保存を行います
コピー先のWebサーバーでの作業
必要なファイルの転送
コピーする先に、mput1.sqlファイルと、mput.zipファイルを、編集パソコンから転送しますが、1)mput1.sqlファイルは編集パソコンで文字置換した後のファイルを転送します。2)mput.zipファイルは、コピー元のWebサーバーからscpコマンドで直接、コピー先のサーバーに転送出来ます。
但し、同じ名前のデーターベースや、フォルダ名がコピー先に有る場合は、元のデーターをバックアップしてから行いましょう。(バックアップ不要な場合でも、データーベースの削除・ディレクトリの削除が必要です)
データーベースのインポート
転送されたSQLファイルの置き場所に移動します
# cd /home/[user_neme]/
# mysql -u root -p
Enter password: <===パスワードを入力します
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mput1 |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> drop database mput1; <===データーベースmput1をバックアップした後、削除する
mysql> create database mput1;
Query OK, 1 row affected (0.01 sec)
mysql>