私は、vhost構成を内部開発サーバーで動作させるために戦ってきました。 site-availableディレクトリで他のvhost設定を見つけました。何らかの理由で、新しい仮想ホストがリクエストに応答しない理由がわかりません。私が得るのは404ステートメントだけです。これはパブリックアクセスサーバーではないので、これと関係があるかどうかはわかりません。また、構成に構文エラーを意図的に追加した場合も、Apacheが私に怒鳴るので、実際にロードされていることがわかります。 Apacheサーバーを複数回再起動しました。サーバー名と関係があるのかどうかはわかりません。 192.168.254.35/rackappと入力して、選択したDocumentRootにApacheにドロップさせたいだけです。現在、私は192.168..254.35/rack_example/publicを行うことができます。
これは私がロードしようとしているものです
<VirtualHost *>
ServerName rackapp
ServerAdmin [email protected]
DocumentRoot /var/www/rack_example/
</VirtualHost>
この構成は問題なく機能します
<VirtualHost *>
ServerName collab
ServerAdmin [email protected]
DocumentRoot /var/www/collab/
ErrorLog /var/log/Apache2/colab-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/Apache2/collab-access.log combined
</VirtualHost>
Apacheは、ブラウザに入力したホスト名を使用して、適切な仮想ホストを選択します。 IPアドレスを使用する場合、使用可能な最初の仮想ホストが選択されます。
仮想ホストをテストするには、名前でアクセスする必要があります。このために、 hosts file/etc/hosts
を編集して、次の2行を追加できます。
192.168.254.35 rackapp
192.168.254.35 collab
%SystemRoot%\system32\drivers\etc\hosts
(Windowsシステムの場合)。
その後、http://rackapp/
またはhttp://collab/
にアクセスして、Apache構成をテストできるようになります。
少し遊んで、HTTPヘッダーをWebサーバーに直接送信することもできます。
$ echo -e "GET / HTTP/1.1\r\nHost: rackapp\r\n\r\n" | nc 192.168.254.35 80
ここでサーバー名とURLを混同しています。
192.168.25.35/rackapp
をサーバーのURLにする場合は、VirtualHostのServerNameをrackapp
ではなく192.168.25.35
にする必要があります。設定が完了したら、代わりにhttp://rackapp
を使用してサーバーに接続する必要があります。これにより、仮想ホスト用に設定したドキュメントルートが得られます。
http://rackapp
に接続しようとすると「サーバーが見つかりません」というメッセージが表示される場合は、/ etc/hostsファイルを編集して次の行を含める必要があります。
19.168.25.35 rackapp