Ubuntu 13.04サーバーからアップグレードすると、wwwページは表示されなくなります。
エラー403禁止このサーバーにアクセスする権限がありません。
アクセス制御の保存をapache2.2からapache2.4に変更しましたが、うまくいきませんでした。他に何ができますか?
Ubuntu 13.04サーバーからアップグレードすると、wwwページは表示されなくなります。
エラー403禁止このサーバーにアクセスする権限がありません。
アクセス制御の保存をapache2.2からapache2.4に変更しましたが、うまくいきませんでした。他に何ができますか?
回答:
起こったことは、apache2.4の構成ファイルの構文が変更されたことです。
出典:13.10にアップグレードした後も同様です。
にあったすべてのファイルを/etc/apache2/conf.d
に移動する必要があります/etc/apache2/conf-available
。
彼らは今、同じようsites
にmods
動作します。confファイルをconf-available
フォルダに入れて、必要なものを有効にしてくださいa2enconf <config-file-name>
。
conf.d/httpd.conf
ServerNameディレクティブを持つファイルがありました。
それを機能させるには、conf-available
ディレクトリに移動して手動で有効にする必要がありました。
sudo mv /etc/apache2/conf.d/httpd.conf /etc/apache2/conf-available/httpd.conf
sudo a2enconf httpd
以前は、ファイルに/etc/apache2/sites-available
は拡張子がありませんでした。たとえば/etc/apache2/sites-available/default
。現在、.conf
拡張機能が必要です。
持っていた場合は/etc/apache2/sites-available/some-site
、13.04でを使用して有効にすることができますsudo a2ensite some-site
。今、それはあなたに言ってエラーを与えるでしょう
エラー:サイトsome-siteは存在しません!
これを修正するには、の.conf
すべての設定ファイルにを追加しますsites-available
。で同じことを行うことも、sites-enabled
すべてのファイルを削除して、それぞれを手動で再度有効にすることもできます。
おそらく各VHostを修正する必要があるため、手動で行うことをお勧めします(次のステップ)。
sudo find /etc/apache2/sites-available/ ! -iname '*.conf' -type f -exec mv '{}' '{}'.conf \;
手動で行うことにした場合:
sudo rm /etc/apache2/sites-enabled/*
sudo a2ensite your-site-name
次のものがある場合:
<Directory /path/to/your/site/>
order allow,deny
allow from all
</Directory>
次のようになります。
<Directory /path/to/your/site/>
Require all granted
</Directory>
詳しくは、上のチェックのコメントによるDaveRandomに答えスタックオーバーフロー上。
簡単に言えば、apache2.4にアップグレードし、古いapache2.2を保持したhttpd.conf
場合、allowディレクティブは正常に機能し続けるはずです。アップグレードした場合httpd.conf
(これをお勧めします)、Order
/ Allow
/ Deny
ディレクティブを同等のものに変更するまで403エラーが発生しますRequire
。
ディレクトリオプションがある場合は、すべてのオプションを先頭に追加する+
か-
、まったく追加しないことに注意してください。両方を混在させることはできません。
これは許可されています:
<Directory /path/to/your/site/>
Options +Indexes +FollowSymLinks -MultiViews
</Directory>
これも同じです(これらの例は両方とも同じことをしないため、前の例ではMultiViews
オプションが無効になり、次の例ではオプションが無効になります)。
<Directory /path/to/your/site/>
Options Indexes FollowSymLinks MultiViews
</Directory>
これはもはや許可されていません:
<Directory /path/to/your/site/>
Options Indexes FollowSymLinks -MultiViews
</Directory>
最後の構成オプションは、次のような構文エラーをスローします。
すべてのオプションは+または-で開始する必要があります。オプションを指定しないこともできます。
すべてが完了したら、変更を有効にするためにApacheサーバーを再起動する必要があります。
sudo apache2ctl restart
公式ドキュメントに2.2から2.4への詳細なアップグレードガイドがあります。
httpd.conf
は単なる例です。conf.d
ディレクトリに設定ファイルがない場合があります。その場合は、その手順をスキップしてください。についてapache2.conf
は、conf-available
ディレクトリに移動しないでください。これはapacheのメイン構成ファイルであり、そのパスは/etc/apache2/apache2.confである必要があり、変更しないでください。
私は同様の問題に遭遇しました。
「Allow from All」を使用しない限り、Apache 2.4を実行できませんでした。これは、バージョン<2.4からクリーンブレークを提供したいので面倒でした。多くの試行錯誤と多くの検索の後、access_compatへの参照を見つけ、これが互換性のためだけにあることに気付きました。Apacheのドキュメントには両方を使用できると書かれていますが、使用しないことをお勧めします。
このモジュールを/ etc / sysconfig / apache2ロードファイルから削除すると、問題がすぐに解決しました。
よろしくリアム
httpd.conf
ファイルもconf.d
ディレクトリもありません。しかし、apache2.conf
ファイルがあります。conf-available
ディレクトリに移動しようとしましたが、apache2を再起動したときに次のエラーが発生しました。apache2:構成ファイル/etc/apache2/apache2.confを開けませんでした。