Apache Webサーバー内のすべての仮想ホストを一覧表示する方法


Apache仮想ホスト設定では、同じサーバー上で複数のWebサイトを実行できます。つまり、同じApache Webサーバー上で複数のWebサイトを実行できます。各Webサイト用に新しい仮想ホスト設定を作成し、Apache設定を再起動してWebサイトの提供を開始するだけです。

Debian/Ubuntu では、すべての仮想ホスト用の最新バージョンのApache設定ファイルは/etc/apache2/sites-available/ディレクトリに保存されています。そのため、設定エラーを修正するためにこれらの仮想ホスト設定ファイルをすべて調べることは本当に困難です。

物事を簡単にするために、この記事では、端末上で単一のコマンドを使用してWebサーバー上のすべての有効なApache仮想ホストをリストする方法を説明します。この方法は、他にもいくつかの役に立つApache設定を見るのに役立ちます。

これは、企業がリモートからWebサーバーの問題を解決するのを支援していて、仮想ホストに関して現在のApache Webサーバーの構成がわからない場合には、実際に役立ちます。

apache設定ファイルで特定のWebサイトの仮想ホストを簡単に検索し、Apacheの問題のトラブルシューティングに役立ちます。ほとんどの場合、ログを調べる前に現在有効になっている仮想ホストを確認することから始めます。

Webサーバーで有効になっているすべての仮想ホストを一覧表示するには、端末で次のコマンドを実行します。

# apache2ctl -S   [On Debian/Ubuntu]
# apachectl -S    [On CentOS/RHEL]
OR
# httpd -S

あなたはすべての設定された仮想ホストのリストと他の重要なapache/httpdサーバ設定を得るでしょう。

Apache仮想ホスト設定の一覧

VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server api.example.com (/etc/httpd/conf.d/api.example.com.conf:1)
         port 80 namevhost api.example.com (/etc/httpd/conf.d/api.example.com.conf:1)
                 alias www.api.example.com
         port 80 namevhost corp.example.com (/etc/httpd/conf.d/corp.example.com.conf:1)
                 alias www.corp.example.com
         port 80 namevhost admin.example.com (/etc/httpd/conf.d/admin.example.com.conf:1)
                 alias www.admin.example.com
         port 80 namevhost tecmint.lan (/etc/httpd/conf.d/tecmint.lan.conf:1)
                 alias www.tecmint.lan
ServerRoot: "/etc/httpd"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/etc/httpd/logs/error_log"
Mutex default: dir="/run/httpd/" mechanism=default 
Mutex mpm-accept: using_defaults
Mutex authdigest-opaque: using_defaults
Mutex proxy-balancer-shm: using_defaults
Mutex rewrite-map: using_defaults
Mutex authdigest-client: using_defaults
Mutex ssl-stapling: using_defaults
Mutex proxy: using_defaults
Mutex authn-socache: using_defaults
Mutex ssl-cache: using_defaults
PidFile: "/run/httpd/httpd.pid"
Define: _RH_HAS_HTTPPROTOCOLOPTIONS
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="apache" id=48 not_used
Group: name="apache" id=48 not_used

上記の出力から、各WebサイトにどのポートとIPアドレスが設定されているかが明確にわかります。各Webサイトの仮想ホスト設定ファイルとその場所も表示されます。

これは非常に役に立ちます。Apache仮想ホストの設定エラーのトラブルシューティングや修正を行っているとき、またはWebサーバー上で有効になっているすべての仮想ホストの概要のリストを見たいときに便利です。

それで全部です!また、Apache Webサーバーには、以下の関連記事もあります。

  1. 3 Ways to Check Apache Server Status and Uptime in Linux
  2. 13 Apache Web Server Security and Hardening Tips
  3. How to Change Default Apache ‘DocumentRoot’ Directory in Linux
  4. How to Hide Apache Version Number and Other Sensitive Info

Apache HTTPサーバーに関してご質問がある場合は、下記のコメントフォームを使用してご連絡ください。