本運用の Drupal サイトをコピーして別ドメインでテスト環境を作るメモ
2024年12月31日
本運用のサイトを別サーバーにコピーして試験用サイトを作る場合の手順。
試験運用サイトは外部からアクセスできないが、一応サブドメインで SSL 化している。
データベース名などは本運用サイトと同じで、基本的にはデータベースのリストアと、ディレクトリをマルっとコピーすることで試験運用サイトが出来上がる。
本運用サイトの記事が増えてきたらあれこれ調べながら実施してきたけど、この際なのでメモを残しておく。
◇準備
本運用サイトのデータをダンプする。ダンプファイル名は適当。
mysqldump -u user_name -p データベース名 > jisaba.life.sql
圧縮ファイルを保存したいディレクトリで次のコマンドを実行して本運用サイトを tar で圧縮する。
sudo tar -zcvf ./jisaba.life.tgz -C /var/www jisaba.life.tgz
◇テスト環境の構築
scp 等でダンプしたファイルをコピーして、試験運用サイトのデータベースにリストアする。
mysql -u user_name -p データベース名 < jisaba.life.sql
同じく圧縮ファイルをコピーして、試験運用サイトで tgz ファイルを解凍する。/var/www は一般ユーザーの書き込み権限が無いから sudo している。
cd /var/www
sudo tar -zxvf jisaba.life.tgz
試験運用サイトのドメインに合わせて settings.php を修正する。自分は dp.jisaba.life というサブドメインにしている。
sudo vi /var/www/dp.jisaba.life/web/sites/default/settings.php
$settings['trusted_host_patterns'] = [
'^dp\.jisaba\.life$',
];
mysql でデータベースのリンクを修正する。本文に https://jisaba.life と記述していなければ不要。
自分は画像リンク(拡大用)に記述しているから書き換えが必要。
UPDATE `jisaba.life`.`drupal_node__body`
SET `body_value` = REPLACE(LOWER(`body_value`), 'https://jisaba.life', 'https://dp.jisaba.life')
WHERE LOWER(`body_value`) LIKE 'https://jisaba.life%';
最後にお約束のキャッシュをクリアする。
/var/www/vendor/bin/drush cr
以上。