httpd.confを使用してドメインリストを作成する

httpd.confを使用してドメインリストを作成する

Webサーバーでホストされているドメイン全体のリストを含むファイルを生成するbashスクリプトを生成しようとしています(Apacheの設定ファイルから)。

実際には簡単に見えます。私が知る限り、ServerNameとServerAliasはこのリストを生成するために必要なコアディレクティブです。

私を混乱させることは、いくつかのエイリアスがあるかもしれません。

例示項目です。

<VirtualHost IP_ADDR:PORT>
    ServerName domain-1.tld
    ServerAlias www.domain-1.tld
    DocumentRoot /home/domain-1.tld/public_html
    ServerAdmin [email protected]
    UseCanonicalName Off
    CustomLog /usr/local/apache/domlogs/domain-1.tld combined
    CustomLog /usr/local/apache/domlogs/domain-1.tld-bytes_log "%{%s}t %I .\n%{%s}t %O ."
</VirtualHost>

2番目の項目。

<VirtualHost IP_ADDR:PORT>
    ServerName domain-2.tld
    ServerAlias www.domain-2.tld some-other-domain.tld another-domain.tld
    DocumentRoot /home/domain-2.tld/public_html
    ServerAdmin [email protected]
    UseCanonicalName Off
    CustomLog /usr/local/apache/domlogs/domain-2.tld combined
    CustomLog /usr/local/apache/domlogs/domain-2.tld-bytes_log "%{%s}t %I .\n%{%s}t %O ."
</VirtualHost>

Bashでこのリストを生成する最良の方法は何ですか?

ベストアンサー1

私の考えでは、あなたがやっていることが間違っていると思います。これを行うには、VirtualHostファイルを解析するシェルスクリプト(どこにいてもかまいません)を使用する代わりに、Apache独自のツールを使用する必要があります。その一つはapache2ctl status

おすすめ記事