web-dev-qa-db-ja.com

Apache2のデフォルトは仮想ホストをオーバーライドします

単純なwordpressインストールでApache2を実行しているUbuntu12.10LTSサーバーがあります。/etc/Apache2/sites-availableに仮想ホストを作成し、a2ensiteを使用して有効にしました。すべてが正常に機能していました。二日。

今朝目が覚めてサイトをチェックしたところ、仮想ホストがまったく機能していないようでした。 Apache2のデフォルトサイトに移動し続けました。

これが私の設定です:

default

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        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>

    ErrorLog ${Apache_LOG_DIR}/error.log

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

    CustomLog ${Apache_LOG_DIR}/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>

仮想ホスト:domain.com

<VirtualHost *:80>
     ServerAdmin [email protected]
     ServerName domain.com
     ServerAlias www.domain.com
     DocumentRoot /srv/www/domain.com/public_html/
     ErrorLog /srv/www/domain.com/logs/error.log
     CustomLog /srv/www/domain.com/logs/access.log combined
</VirtualHost>

ご覧のとおり、競合のない2つの個別の構成があります。しかし、Apache2は、名前ベースの仮想ホストではなく、デフォルトのサイトに戻り続けます。私の/ etc/hostsファイルは正しく、公開IPを指すFQDNとホスト名があります。これは一夜にして起こった。

Domain.comでa2dissiteを実行し、Apache2をリロードしてから、domain.comでa2ensiteを実行しましたが、結果はありませんでした。結局、デフォルトの設定をa2dissiteする必要がありました。私がそれをしたら、domain.comサイトは私のwordpressサイトをうまく思いついた。

なぜこれが起こったのか考えはありますか?私はApache2とnginxを何年も実行しており、仮想ホスティングで問題が発生したことはありません。これは少し変です。他の仮想ホストが機能するために、デフォルトのサイトを無効にする必要はありません。

何かご意見は?

3
nulltek

追加してみてください

ServerName localhost

デフォルトの仮想ホストに。また、デフォルトの仮想ホストから<Directory />セクションを一時的に無効にすることもできますが、役に立たないようです。

3
andreszs