構築#2 既存WordPressの移設 pluginは使いません
移設するものは、apache2から見えている/var/www/html以下のディレクトリ構造と、WordPressに関わるDatabaseです。それぞれを一旦セーブして、移設先のサーバにリストアします。後細かい調整を行います。移設側にphpmyadminがインストールされていると吉です。
前提としてsambaがインストールされていて、NAS上のディレクトリが/mnt/nas/xxxxとして双方のサーバーから見えているとします。さて、rootで移設側にログインします。
mkdir /mnt/nas/ghost-2025-09-04/
tar zcvf /mnt/nas/ghost-2025-09-04/webroot.tar.gz /var/www/html
これで/var/www/html以下のディレクトリ構造をアーカイブとして、/mnt/nas/ghost-2025-0904/webroot.tar.gzとして保存します。次は、dbのセーブ(というかダンプ)です。
mysqldump --single-transaction --databases -u root -p wp > /mnt/nas/ghost-2025-09-04/wp-dump.sql
コマンドとしてはmysqldumpを使います。移設側にphpmyadminがインストールされていれば、そちらを使っても良いです。さて、移設先のサーバで二つをリストアします。どこかのディレクトリで、以下のコマンドを発行します。
tar xvf /mnt/nas/ghost-2025-09-04/webroot.tar.gz
cp -rp ./html /var/www/html
ディレクトリ構造が再現されていればおけです。ディレクトリとパーミッションも注意してください。次がDatabaseのリストアです、以下のコマンドに先立って、database wp(以下の例では)とそれを扱えるユーザを設定しておき。
mysql -u root -p wp < /mnt/nas/ghost-2025-09-04/wp-dump.sql
でリストアします。順序が逆になりましたが、wordpressでは.htaccessが重要な役目を果たすので、apache2の設定で、/etc/apache2/apache2.confを
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
また、rewriteをenableすることを忘れずに。
a2enmod rewrite
これで動きますが、新サイトが表に出ていない状態で、local ipのままテストするのであれば、

siteurlとhomeを https://ghost.mydns.jp/wpから 上のように http://localip/wpに変更しておかないと、リンクが”本物”を指していて混乱します。この状態になれば、

動きます。Debian Trixieにしたので、wp-adminからサイトヘルスを観ると、

となります。もともと(本物=現行)では、

でした。PHPのバージョンは今のところ本質的に問題なさそうですけどね。バックアップは別ディスクに取るのが絶対条件です。以上のようにターミナルアクセスさえ出来れば、移設は容易です。プラグインは決定打がないようなので、使わない移設をrootとして実証してみました。
コメント