📡 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.confa2ensite で有効化すると sites-enabled にリンクが張られます。
  • apache2.conf<Directory> 設定も参照されますが、サイト単位の VirtualHost が優先されます。

📦 DVSwitch のインストールは「現行の通常手順」でOK

  • DVSwitch の公式ガイド/コミュニティでは、bookworm 用スクリプトを使用→aptdvswitch-server を導入する手順が案内されています。Apache や Web UI(/usr/share/dvswitch)はその流れで整備されるため、本記事の DocumentRoot 変更と整合します

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です