web-dev-qa-db-ja.com

最近のApache2アップデートにより、仮想ホストが壊れ、再起動時または起動時に新しいエラーが発生しました

私はUbuntu12.04ボックスを使用しており、最近1つのApache2アップデートをインストールしましたが、それ以降、すべての仮想ホストが正しいディレクトリを指していないため、デフォルトのローカルホストを指しています。また、Apache2の再起動時にエラーが発生します。

shafox@shafox:~$ Sudo /etc/init.d/Apache2 restart
* Restarting web server Apache2 AH00558: Apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message [ OK ]. 

サーバー名がローカルホストではないことを設定していないのはわかっていますが、エラーメッセージの前にAH00558スタンプがあるのはなぜですか?これは私のサイトです-私のシステムで利用できます:

/etc/Apache2/sites-available$ ls
000-default.conf       default-ssl.conf  localbox-local
000-default.conf.dpkg-new  devbox-dev        sites-si

以前は次のようでした:

/etc/Apache2/sites-available$ ls
000-default  default-ssl  localbox-local  devbox-dev   sites-si

たとえば、仮想ホストファイルの1つは次のようになります。

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName localbox.local
        DocumentRoot /home/shafox/Localbox
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /home/shafox/Localbox/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                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>

これらすべての仮想ホストを再度作成したくありません。 このチュートリアル で記述された手順に従って、これらすべての仮想ホストを作成しました。

これが私の/ etc/hostsファイルです:

127.0.0.1       localhost
127.0.1.1       shafox
127.0.1.1       devbox.dev
127.0.1.1       localbox.local
127.0.1.1       sites.si

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Apache2のエラーログerror.log エラーログリンク

2
Pranaya Behera

これは技術的には「エラー」ではありません...しかし、それは警告です。以前のinit.dスクリプトは、単にその警告をログに記録し、再起動しても何も報告しませんでした。 Apacheには、利用可能な情報に基づいてサーバーのfqdnを識別する方法がないという点で、メッセージは正確です。次のように、hostsファイルのループバックインターフェイスエントリに簡単に追加できます。

127.0.1.1       servername server.fully.qualified.name.tld

または、Apache.confで警告が示すように、 ServerName ディレクティブを指定します。

ServerName www.example.com

また、ubuntuを使用することにした場合は、init.dスクリプトの代わりに、upstartコマンドを使用してApacheなどのサービスを制御する必要があります。このような:

Sudo restart Apache2
1
TheCompWiz

私もこの問題を抱えていましたが、ディオゲネスと同じ答えを使って解決しました。具体的には、置き換えられる構文があります。

から https://httpd.Apache.org/docs/trunk/upgrading.html

この例では、すべての要求が拒否されます。

2.2構成:注文拒否、すべての拒否を許可

2.4構成:すべて拒否する必要があります

この例では、すべてのリクエストが許可されています。

2.2構成:すべてから許可を注文、許可を拒否

2.4構成:すべての許可が必要

次の例では、example.orgドメイン内のすべてのホストにアクセスが許可されています。他のすべてのホストはアクセスを拒否されます。

2.2構成:example.orgのすべての許可から拒否、許可拒否を注文

2.4構成:ホストexample.orgが必要

0
garajo

Drupalマルチサイト開発システム用にApache2.4にアップグレードした後、同じ問題が発生しました。mod_rewriteがまったく機能しませんでした。重要なのは仮想ホストファイルのディレクティブでした。

<Directory /whatever-path/>
  Options Indexes FollowSymLinks
  AllowOverride All
  Require all granted
</Directory>

AllowOverride AllおよびRequire all grantに注意してください。これは、Apache2.2とは異なります。

お役に立てれば。

0