自宅サーバーのOSは Fedora Server 42、普段操作しているPCは Windows 11 Pro です。
※以下の手順は自己責任で行ってください。
背景
私は、保有している複数のドメインをレンタルサーバーと自宅サーバーの両方で利用しています。
これまでは、Windowsの hosts ファイルを編集することで、どちらのサーバーにアクセスするかを切り替えていました。
自宅サーバーでは /var/www/html/ 以下に複数の WordPress(例:wp1~wp3)をディレクトリ単位で配置しています。
各 WordPress サイトへは、HTMLファイルに記述したリンクからアクセスしていましたが、hosts ファイルを書き換える手間が煩雑でした。
そこで、サブドメインを活用してドメインを切り分け、
たとえば home.example.com(自宅)と www.example.com(レンタル)といった形で、
HTMLリンク側でアクセス先サーバーを切り替える方法を採用しました。
この方法により、hosts ファイルの再編集が不要になります。
【Windows側】hostsファイルの編集
192.168.x.x home.example1.com 192.168.x.x home.example2.com 192.168.x.x home.example3.com
【自宅サーバー】Apacheの設定
/etc/httpd/conf/httpd.conf に以下のように記述(各ドメインごとにVirtualHostを設定):
<VirtualHost *:80> ServerName home.example1.com DocumentRoot /var/www/html <Directory /var/www/html> AllowOverride All Require all granted </Directory> </VirtualHost>
同様の設定を home.example2.com や home.example3.com にも追加します。
設定を反映:
# systemctl restart httpd
【WP-CLIのインストール】(Linux向け)
# curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar # php wp-cli.phar --info # 動作確認 # chmod +x wp-cli.phar # mv wp-cli.phar /usr/local/bin/wp # システム全体で利用可能に
WordPress内URLの一括置換(WP-CLI使用)
WordPressを設置した各ディレクトリに移動し、wp-config.php のある場所で以下を実行:
# cd /var/www/html/wp1 # wp search-replace 'http://example1.com/wp1' 'http://home.example1.com/wp1' --all-tables --allow-root
同様に、以下の組み合わせも実行します:
example2.com → home.example2.com
example3.com → home.example3.com
(※wp2、wp3 にも同様の置換を実行)
HTMLリンクの記述例
<a href="http://home.example1.com/wp1/">home.example1.com/wp1</a> <a href="http://home.example1.com/wp2/">home.example1.com/wp2</a> <a href="http://home.example1.com/wp3/">home.example1.com/wp3</a> <a href="http://home.example2.com/wp1/">home.example2.com/wp1</a> ...
ブラウザキャッシュのクリア
リンク切り替え後に表示が反映されない場合は、以下の方法でキャッシュをクリアしてください:
Ctrl + Shift + R(強制再読み込み)
Ctrl + F5
この方法を使えば、HTMLリンク側で自宅サーバー・レンタルサーバーを自由に切り替え可能です。
複数の WordPress を分かりやすく整理しつつ、手間なく運用できる構成になります。