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
。