VHOST が Apache で動作しない

VHOST が Apache で動作しない

Ubuntu 11.04 で LAMP サーバーを動作させています。問題は、Web サイトをターミナルから有効または無効にする必要があることです。すべての Web サイトにアクセスする必要があるため、http://localhostあまり効率的ではありません。そこで、ネット上のチュートリアルを使用して VHOSTS を作成しました。これがそのコードです。

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    Servername site.com
    ServerAlias www.site.com
    DocumentRoot /home/starx/public_html/site/public
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/starx/public_html/site/public>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>
nGen
    ErrorLog ${APACHE_LOG_DIR}/site-error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/site-access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

今のところ、まだページにアクセスできませんhttp://site.comが、それを使用してアクセスするとhttp://localhsot/アクセスできます。

デフォルトを含む他のすべてのサイトを無効にし、1つのサイトのみを有効にしました。site

これを修正するにはどうすればいいでしょうか?

答え1

私はこれを機能させようとしていたのですが、少し調べてみると何がうまくいかなかったのかが分かりました。

Ubuntu 12.04 で xampp (lampp) 1.80 を実行しています。

開ける/opt/lampp/etc/httpd.conf

488行目を参照

# Virtual hosts  
# Include etc/extra/httpd-vhosts.conf

から「#」を削除しますinclude
新規インストールではhttpd-vhosts.conf、すぐには がロードされません。

答え2

によると/usr/share/doc/apache2/README.Debian.gz、追加のサイトの定義を作成したい場合は、個々のサイト設定スニペットを に配置する必要があります/etc/apache2/sites-available/(/etc/apache2/sites-available/default例については を参照してください)。その後、a2ensite(8) コマンドと a2dissite(8) コマンドを使用して、特定のホスト上のサイトを有効または無効にすることができます。分散設定が大幅に変更されている場合、これは説明どおりに正確に動作しない可能性があることに注意してください。

このようにサイトを有効にしても、引き続き機能しない場合は、Web サーバーが新しいサイトの名前を、Web サーバーが割り当てたと認識している IP アドレスと一致する方法で解決できることを確認する必要があります。最も簡単な方法は、サーバーから を確認することです。また、クライアントが名前を解決して、問題のサーバーに到達できることも確認する必要があります (解決された IP は、サーバーが使用する IP と一致する必要はありません)。安全でないサイトの場合、 を使用し、接続が完了したら (プロンプトは表示されません)、次の 3 行を入力するのが最も簡単です (3 行目は空白ですが、3 回目に Enter キーを押す必要があります)。w3m https://my.new.secure.sitetelnet my.new.site 80

GET / HTTP/1.1
ホスト: my.new.site

これらが機能する場合、他の問題はブラウザの問題です。最初の方法が成功し、2 番目の方法が失敗する場合は、ネットワーク層 (NAT、プロキシなど) に問題がある可能性があります。この問題のトラブルシューティング方法は、ネットワーク トポロジと存在するデバイスに大きく依存します。この状況に該当する場合は、詳細を記載した別の質問をしてください。

最初のテストが失敗した場合は、サーバーで使用可能なネーム サービスとサーバーに割り当てられた IP アドレスを再確認してください (ifconfig -a)。また、サイトのアクセス ログをチェックして、適切なタイミングで接続が行われていることを確認します。最後に、仮想ホストが IP ではなく名前でリッスンしていること、および VirtualHost ディレクティブで IP に基づいて / の結果をフィルターしていないことを確認します。

答え3

これがあなたが望んでいることかどうかはわかりません。

コードをこのシンプルなショートコードに置き換えます。

<VirtualHost *:80>
   ServerAdmin admin@localhost
   DocumentRoot YourDocumentRoot
   ServerName site.com
   ServerAlias www.site.com
   ErrorLog localhost
   CustomLog localhost-access_log common
</VirtualHost>

vhostの詳細については、こちらをご覧ください。ここ

答え4

DNS ルーティングが正しいことを確認するために、/etc/hosts ファイルに site.com と www.site.com を追加しましたか? nslookup site.comDNS をテストしてみてください。

これが機能しないことを確認したい場合はhttp://localhost、/etc/apache2/default、default-ssl ファイルを削除し、単一の仮想ホストを使用します。

関連情報