
Apache2 サーバーをセットアップしようとしているのですが、仮想ホストをロードできません。もっと正確に言うと、 に書き込んでいる間は正常に動作します000-default.conf
が、別のファイルを使用しようとすると完全に無視されるようです。
なぜこれが機能しないのでしょうか? どうすれば機能するのでしょうか?
答え1
通常、個別の仮想ホスト構成を設定する場合は、次のディレクトリに配置します。
/etc/apache2/sites-available/
したがって、仮想ホストの名前がある場合、www.example.com
設定ファイル名はwww.example.com.conf
次のように命名できます。
/etc/apache2/sites-available/www.example.com.conf
次に、次のようにテキスト エディターでそのファイルを開きます。これはnano
例として使用していますが、好みのテキスト エディターを自由に使用してください。
sudo nano /etc/apache2/sites-available/www.example.com.conf
そして、次のようなコンテンツを次のように配置しますwww.example.com.conf
。
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
ファイルを閉じて保存し、a2ensite
次のように使用して、システムが次のようsites-available
にシンボリック リンクを設定するようにします。sites-enabled
sudo a2ensite www.example.com.conf
または、必要に応じて、ln -s
次のように手動でシンボリック リンクを設定することもできます。
ln -s /etc/apache2/sites-available/www.example.com.conf /etc/apache2/sites-enabled/www.example.com.conf
完了したら、次のように Apache をリロードします。
sudo service apache2 reload
何らかの理由でreload
動作しない場合は、次のように強制的に再起動してください。
sudo service apache2 restart
reload
beforeを使用する利点restart
は、設定ファイルにタイプミスがあった場合、Apache はエラーを報告しますが、設定ファイルはロードしないことです。つまり、Apache Web サーバーは、ロードされた最後の安定した設定ファイルに基づいて引き続き稼働します。
リスクは、 を強制しrestart
、構成ファイルに入力ミスがあった場合、が の後に続くrestart
完全なサービスを強制するため、Apache が停止することです。そして、それが詰まった場合、構成の入力ミス/問題が解決されるまでサーバーは停止します。stop
start
start
答え2
ファイルを確認してくださいhttpd.conf
。 のような行が含まれているはずですInclude conf/*.conf
。 ワイルドカードか固定ファイル ( など) かを確認してください000-default.conf
。
また、新しい conf ファイルがワイルドカード パターンと一致し、 と同じフォルダーに保存されていることを確認します000-default.conf
。
最後に、Apacheディストリビューションには利用可能なアクティブなconfファイルがあるため、場合によってはソフトリンクが必要になることがあります。