📡 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
    ※ ここでの「Legacy」はカメラスタックの種別を指す表記であり、OSのベースは Bookworm(Debian 12) です。Bullseye(Debian 11)ベースの旧世代とは異なります。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

⚠️ ベストプラクティス補足:Debian/Ubuntu 系 Apache では、設定ファイルは /etc/apache2/sites-available/ で管理し、a2ensite コマンドで sites-enabled/ にシンボリックリンクを作成するのが正しい手順です。sites-enabled/ 内のファイルを直接編集すると、a2dissite/a2ensite による管理と整合性が失われる場合があります。今回は確認・テスト目的でこの方法を紹介していますが、本番運用では sites-available/000-default.conf を編集し sudo a2ensite 000-default で有効化する手順を推奨します。

② 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>

⚠️ セキュリティ注意Options Indexes はディレクトリ一覧表示を有効にします。DVSwitch の Web UI 専用サーバーのため通常は問題ありませんが、一般的な Web サーバーでは Options -Indexes として無効化するのがセキュリティ上の推奨です。公開ネットワークに接続する環境では不要なファイルが見えないよう注意してください。

④ 保存して Apache を再起動

sudo systemctl restart apache2

ポイント:Debian/Ubuntu系では、VirtualHost(sites-enabled)が主導します。DVSwitch インストーラや更新で新しい設定が追加された場合はそちらが優先されるため、必要に応じて無効化/調整してください。


🧭 競合チェック&対策(“勝手に変わる”を防ぐ)

🔎 有効な VirtualHost と DocumentRoot を確認

sudo apache2ctl -Ssudo が必要な環境もあります)

  • どの設定ファイルが有効化され、どの 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 変更と整合します

DVSwitch Web UI 画面例
DVSwitch の Web UI(apache2 の DocumentRoot を /usr/share/dvswitch に変更後、ブラウザからアクセスした画面例)

📝 改変履歴

日付変更内容
2025-05-27① 環境情報の「Legacy」表記について、カメラスタック種別の説明と Bookworm(Debian 12)ベースであることを明記
2025-05-27sites-enabled 直接編集に対するベストプラクティス補足(sites-available + a2ensite 推奨)を追記
2025-05-27Options Indexes のセキュリティリスクに関する注意事項を追記
2025-05-27apache2ctl -Ssudo が必要な環境がある旨を追記
2025-05-27⑤ 末尾の図にキャプションおよび代替テキストを追加
2025-05-27⑥ 記事末尾にクレジットを追加

— あいちデジタル通信ハムクラブ JJ2YYK

JJ2YYK
  • JJ2YYK

コメントする

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