Apache 2.2でこれを行う方法を知っていますが、Apache 2.4でドキュメントのルートをどのように変更しますか?私はVirtualbox VMからApacheサーバーとしてDebian 8.20を実行し、ホストOSとしてUbuntu 15.04を実行しています。
/ooo-default.confのドキュメントルートを/home/wwwに変更してみました。
また、chmod -R 755 /home/wwwもしなければならないと思います。ディレクトリ内には、Firefoxが仮想マシンのIPをロードしようとするたびに404が表示されます。
以下はApacheエラーログの実行です。
[Wed Oct 28 20:05:38.708080 2015] [mpm_prefork:notice] [pid 5884] AH00163: Apache/2.4.10 (Ubuntu) configured -- resuming normal operations
[Wed Oct 28 20:05:38.708142 2015] [core:notice] [pid 5884] AH00094: Command line: '/usr/sbin/apache2'
[Wed Oct 28 20:05:52.281645 2015] [core:error] [pid 5887] (13)Permission denied: [client 127.0.0.1:46927] AH00035: access to /index.php denied (filesystem path '/home/www/index.php') be$
[Wed Oct 28 20:06:37.527726 2015] [mpm_prefork:notice] [pid 5884] AH00169: caught SIGTERM, shutting down
ブラウザでVMに接続しようとするとタイムアウトが発生します。
答え1
DocumentRootを設定しないのはなぜですか/etc/apache2/apache2.conf
?これはすべてのWebホストで同じです。設定した場合は、作成した日にも設定する000-default.conf
必要があるとします。/etc/apache2/sites-enabled/
正しい所有者と権限を設定するには、どのユーザーがサービスを実行しているかを知る必要があります。とにかく読み取り権限で十分だと思います。
その理由はSElinuxかもしれません、
SELinuxは、プログラムを制限されたリソースに制限するために使用されるカーネル(LSM)拡張機能であるMandatory Access Control(MAC)システムです。
セキュリティポリシーの1つは、apache2ユーザーがそのフォルダの下にないフォルダを読み取ることを防ぐことであり、/var/www/
無効にすることはお勧めできません。しかしそれは可能です。、仮想マシン(テスト開発製品?)をどのように使用するかによって異なります。
答え2
手がかりはここにある
[Wed Oct 28 20:05:52.281645 2015] [core:error] [pid 5887] (13)Permission denied: [client 127.0.0.1:46927] AH00035: access to /index.php denied (filesystem path '/home/www/index.php')
Apacheはにアクセスまたは実行できません。 Apacheに対する権限が十分で読み取り可能であることをindex.php
確認してください。/home
/home/www
index.php
chmod a+rx / /home /home/www
chmod a+r /home/www/index.php
また、Apache設定でアクセス権を確認する必要があります。<Directory>
または、ディレクティブを見つけて<Location>
新しいドキュメントルートと一致することを確認してください。必要に応じてApacheを再起動します。
それでも問題が解決しない場合は、SELinuxを無効にしてこれが問題かどうかをテストしてください。もしそうなら、Apacheへのアクセス制限を簡単に軽減する方法を学ぶことができます。
答え3
ステップは次のとおりです。
- 000-default.confでドキュメントのルートを変更します。
- Apache 2の再起動
ありがとう