/etc/hosts ファイルを Apache Web サーバーを指すように設定するにはどうすればよいですか?

/etc/hosts ファイルを Apache Web サーバーを指すように設定するにはどうすればよいですか?

Apache Web サーバーをインストールしましたが、エイリアス (www.someaddress.lan) を持つ 127.1.1.1 をローカル Apache にポイントする必要があります。適切な方法は何ですか? someaddress.lan をデフォルトの Apache ページにポイントし、www.someaddress.lan を /var/www/wordpress/ にポイントするにはどうすればよいでしょうか?

答え1

ホストファイルの場合:

127.1.1.1     someaddress.lan www.someaddress.lan

ちなみに、127.0.0.1 のことではありませんか? これは localhost のループバック IP アドレスです。その場合は、次を使用します。

127.0.0.1     someaddress.lan www.someaddress.lan localhost.localdomain localhost

次に、Apache サーバーの設定ファイルを編集する必要があります。通常は /etc/httpd/conf/httpd.conf です。ここで、Apache サーバーが提供するコンテンツを含むディレクトリにサブドメイン (仮想ホスト) を関連付けます。

Apache 名前ベースの仮想ホスト

NameVirtualHost *:80

<VirtualHost *:80>
ServerName www.someaddress.lan
ServerAlias www.someaddress.lan
DocumentRoot /var/www/wordpress
</VirtualHost>

<VirtualHost *:80>
ServerName someaddress.lan
ServerAlias someaddress.lan
DocumentRoot /var/www/html
</VirtualHost>

答え2

マシンに DNS サーバーを一切インストールせずに実行したい場合は、/etc/hostsファイルにエントリを追加できます。

 127.1.1.1    www.someaddress.lan    someaddress.lan

実際には、ホストは DNS サーバーに接続してドメイン名を解決する前に、まず自身の/etc/hostsファイルをチェックします。そのファイル内にドメイン エントリが見つかった場合、DNS サーバーに接続しません。

編集:それぞれにエントリを追加する必要があります/etc/apache2/sites-enabled/000-default

<VirtualHost *>
   ServerName    someaddress.lan
   DocumentRoot  /var/www/html
</VirtualHost>

<VirtualHost *>
   ServerName    www.someaddress.lan
   DocumentRoot  /var/www/wordpress
</VirtualHost>

注記:apache2上記の設定ファイルを以下のコマンドで変更した後は、必ずサーバーを再起動するようにしてください。

$ sudo /etc/init.d/apache2 restart

関連情報