サイトのクローン作成

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> 
上部へスクロール