Apache 資料一覧

ApacheでZeroconf(Avahi)を有効にする手順

2016/9/20更新

対応バージョン: 2.4.18

ApacheでZeroconf(Avahi)を有効にするには以下の手順を実施する。

まずlibapache2-mod-dnssdをインストールする。

% sudo apt install libapache2-mod-dnssd

これにより以下のファイルがインストールされる。

/usr/lib/apache2/modules/mod_dnssd.so

/etc/apache2/mods-available/dnssd.load
/etc/apache2/mods-available/dnssd.conf

/etc/apache2/mods-enabled/dnssd.load -> /etc/apache2/mods-available/dnssd.load
/etc/apache2/mods-enabled/dnssd.conf -> /etc/apache2/mods-available/dnssd.conf

mod_dnssd.soの有効化はそれぞれ以下のファイルに記述されており、Apacheの設定ファイル/etc/apache2/apache2.conf内で/etc/apache2/mods-enabled/*.{load,conf}をインクルードする設定になっているので特にapache2.confを修正する必要はない。

/etc/apache2/mods-available/dnssd.load
LoadModule dnssd_module /usr/lib/apache2/modules/mod_dnssd.so
/etc/apache2/mods-available/dnssd.conf
DNSSDEnable on

このあとApacheを再起動すればZeroconf(Avahi)で割り当てられたホスト名でHTTPアクセスすることが可能になる。

% sudo systemctl restart apache2
% curl http://xxx.local/
<!DOCTYPE html>
:
:
:
</html>

尚、Zeroconfのサービスとして細かい定義をしたい場合は/etc/apache2/apache2.confのLocationディレクティブやVirtualHostディレクティブ等に以下のような記述を追加してApacheを再起動する。

例) WebDAVサービスとして定義

% sudo vi /etc/apache2/apache2.conf
:
<VirtualHost xxx.local>
        Dav On
        :
        DNSSDServiceName "Internal WebDAV Server"
        DNSSDServiceTypes _webdav._tcp
</VirtualHost>
:

% sudo systemctl restart apache2

サービス名を検索すると上記の定義が反映されていることがわかる。

% avahi-browse -a -t
:
+ enp3s0 IPv4 Internal WebDAV Server     WebDAV File Share  local
:

関連資料・記事

参考サイト