web-dev-qa-db-ja.com

Apache 2.4がリロードしません。設定に問題がありますか?

Apache 2.2で記述されたVirtualHostファイルを取得してApache 2.4で動作させようとしていますが、いくつかの変更を加えましたが、Apache configtestを渡しません。アイデアは、サイトをローカルでテストすることです。これは明らかにApache2.2で動作する元のファイルです。

<VirtualHost local.in2014.mini.debconf.org:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/in2014.mini/website/

    <Directory />
        Options +FollowSymLinks +Includes
        AllowOverride None
    </Directory>

    <Directory /var/www/in2014.mini/website/>
        Options +Indexes +FollowSymLinks +MultiViews +Includes
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

以下は、Apache 2.4に変更するために行った変更です。

$ cat /etc/Apache2/sites-enabled/minidebconfindia.conf
<VirtualHost mini:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/html/in2014.mini/website

    <Directory />
        Options FollowSymLinks +Includes
        Require all granted
    </Directory>

    <Directory /var/www/html/in2014.mini/website/>
        Options Indexes FollowSymLinks MultiViews +Includes
        Require all granted
    </Directory>
</VirtualHost>

これで、ホスト名を大きな名前から小さな名前に変更したことがわかりました。 /etc/hostsでも名前を変更/編集しました。

$ cat /etc/hosts
127.0.0.1    localhost
127.0.1.1    debian mini

私のシステムのホスト名:

$ hostname
debian

私はconfigtestを実行して、どこが間違っているのかを突き止めました。

$ Sudo apachectl configtest
AH00526: Syntax error on line 6 of /etc/Apache2/sites-enabled/minidebconfindia.conf:
Either all Options must start with + or -, or no Option may.
Action 'configtest' failed.
The Apache error log may have more information.

6行目は次のとおりです。

Options FollowSymLinks +Includes

だからコメントから私はする必要があるようです:

Options +FollowSymLinks +Includes

私がそうすると、10行目でも同じように指示/要求されます。

Options +Indexes +FollowSymLinks +MultiViews +Includes

私は正しい道を進んでいますか?

更新#1

@garethTheRedのアドバイスから、私はそれを次のように修正しました。

$ cat minidebconfindia.conf
<VirtualHost mini:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/html/in2014.mini/website

    <Directory />
        Options +FollowSymLinks +Includes
        Require all granted
    </Directory>

    <Directory /var/www/html/in2014.mini/website/>
        Options +Indexes +FollowSymLinks +MultiViews +Includes
        Require all granted
    </Directory>
</VirtualHost>

Apache2 configtestをやり直して、これを取得します。

$ Sudo apachectl configtest
[Sudo] password for shirish:
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
Syntax OK

最後の行は、構成ファイルが正常であることを示しています。問題と思われるのはサーバー名/ IPアドレスだけです。 /etc/hostsの出力はすでに共有しています。

インターネットで検索してエラーを確認したところ、httpd.confにある必要がある/etc/hostsがあるようです。私はファイルを作成し、両方を試しました:

$ cat /etc/Apache2/httpd.conf
ServerName localhost

と同様:

$ cat /etc/Apache2/httpd.conf
ServerName mini

しかし、上記で共有したのと同じエラーが発生するため、どちらも機能しませんでした。誰かが助けることができますか?

5
shirish

Option のApacheドキュメントから:

+または-を含むオプションとそれらを含まないオプションを混在させることは有効な構文ではなく、サーバーの起動時に構文チェックによって中止され、中止されます。

だから、それは+

4
garethTheRed

私自身の最初の質問自体は、構成の構文に関するものであり、見つけるのにかなりの時間と労力を要しました。

$ Sudo Apache2ctl configtest
[Sudo] password for shirish: 
Syntax OK

私が取り組んでいる別の問題/問題がありますが、それは私が別の日に推測する質問です。

0
shirish