📡 DVSwitch を Raspberry Pi(Bookworm)で動かす:Apacheのドキュメントルート変更と“勝手に変わる”現象の理由・対策
📡 DVSwitch を Raspberry Pi(Bookworm)で動かす:Apacheのドキュメントルート変更と“勝手に変わる”現象の理由・対策
DVSwitch の Web インターフェースを使うために、Apache の DocumentRoot を DVSwitch の配下に変更します。また、Raspberry Pi OS Bookworm環境で「ドキュメントルートが意図せず変わってしまう」現象についての背景と確認方法・対策もまとめます。
🖥️ 環境情報
- OS:Raspberry Pi OS (Legacy, 64-bit) Lite(Debian Bookwormベース)\ Released: 2025-11-24\ !Raspberry Pi OS (Legacy, 64-bit) Lite > Bookworm ではネットワーク管理や主要パッケージの更新などシステム構成が大きく変化しており、Apache や周辺設定にも影響が及びます。
🔎 まずは背景整理:「BookwormでDocumentRootが“勝手に変わる”ように見える理由」
1) Bookwormの構成変更と VirtualHost 優先
- Debian/Ubuntu 系ではサイトごとの設定を
sites-available/sites-enabledで管理し、VirtualHost が優先されます。パッケージやスクリプトが独自の VirtualHost を追加すると、デフォルトの000-default.conf(/var/www/html)より別設定が有効化されることがあります。
2) DVSwitch のインストールスクリプトの挙動
- DVSwitch の bookworm 向けインストールでは、Web UI を
/usr/share/dvswitchに配置し、Apache 側に該当パスを使う設定(新規 VirtualHost 追加/デフォルトの書き換え等)が入るケースがあります。これが「勝手に変わった」ように見える主因です。
3) 競合の起き方
sites-enabledに複数の設定があると、ポート 80 のデフォルトホストが DVSwitch 側に切り替わることがあります。動作確認はapache2ctl -Sが有効です(優先されている VirtualHost と DocumentRoot が一覧表示されます)。
要点:Bookworm の構成+DVSwitchの導入でVirtualHostが追加/有効化され、結果として DocumentRoot が
/usr/share/dvswitchに切り替わるのが自然なシナリオです。
🛠️ 実作業:Apache の DocumentRoot を DVSwitch に合わせて設定する(確実化)
すでに動作報告いただいた方法を、WordPress記事向けに整理しました。
① デフォルト VirtualHost を開く
sudo nano /etc/apache2/sites-enabled/000-default.conf
② DocumentRoot を変更
変更前
DocumentRoot /var/www/html
変更後
DocumentRoot /usr/share/dvswitch
③ Directory ディレクティブを追加
DocumentRoot /usr/share/dvswitch の直下に追記します。
<Directory /usr/share/dvswitch>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
④ 保存して Apache を再起動
sudo systemctl restart apache2
ポイント:Debian/Ubuntu系では、VirtualHost(
sites-enabled)が主導します。DVSwitch インストーラや更新で新しい設定が追加された場合はそちらが優先されるため、必要に応じて無効化/調整してください。
🧭 競合チェック&対策(“勝手に変わる”を防ぐ)
🔎 有効な VirtualHost と DocumentRoot を確認
apache2ctl -S
- どの設定ファイルが有効化され、どの DocumentRoot が効いているかが分かります。
⛔ 不要なサイト設定を無効化
# 例:DVSwitchが提供したサイト定義名を無効化する場合
sudo a2dissite dvswitch.conf
sudo systemctl reload apache2
- DVSwitch が追加する設定名は環境によって異なるため、
/etc/apache2/sites-enabled/のファイル名を確認してください。
📁 設定ファイルの所在(再確認)
- デフォルト:
/etc/apache2/sites-available/000-default.confをa2ensiteで有効化するとsites-enabledにリンクが張られます。 apache2.confの<Directory>設定も参照されますが、サイト単位の VirtualHost が優先されます。
📦 DVSwitch のインストールは「現行の通常手順」でOK
- DVSwitch の公式ガイド/コミュニティでは、bookworm 用スクリプトを使用→
aptでdvswitch-serverを導入する手順が案内されています。Apache や Web UI(/usr/share/dvswitch)はその流れで整備されるため、本記事の DocumentRoot 変更と整合します。
