Fedora 16にApacheをセットアップしたところですが、vhostを機能させることができません。
Localhost/phpmyadminは正常に機能しますが。
Httpd.confでこれを取得しました
<Directory /home/renat/www>
AllowOverride All
Options +Indexes +FollowSymLinks
Order allow,deny
Allow from all
</Directory>
NameVirtualHost *:80
<VirtualHost *:80>
ServerName fabbro.fm
DocumentRoot /home/renat/www/fabbro
</VirtualHost>
パーミッションでもすべて問題ありません。
ls -l
drwxr-xr-x. 32 renat renat 4096 янв. 7 16:12 www
そして、fabbro.fmにアクセスしようとすると403エラーが発生しますerror_logは次のように述べています:
[client 127.0.0.1] (13)Permission denied: access to / denied
私は何をしなければなりませんか?
私はこの問題を解決しました! SELinuxのセキュリティ設定のため、Apacheはこれらのディレクトリにアクセスできませんでした。私がしなければならなかったのは、このコマンドをドキュメントルートへのパスのディレクトリに適用することだけです。
chcon -R -t httpd_sys_content_t
SELinuxの問題がありました。最初にchcon -t httpd_sys_content_t
を試しましたが、修正されませんでした。その後、私はsetsebool -P httpd_read_user_content 1
を実行し、それは機能しました。最初のコマンドが必要だったのか、2番目のコマンドだけが必要だったのかわかりません。
この行:
[クライアント127.0.0.1](13)許可が拒否されました:アクセス/拒否
どこかに設定ミスがあると思わせます。たとえば、2番目のVirtualHost
、またはグローバルDocumentRoot
定義です。
その2番目の定義は、どういうわけかDocumentRoot
をシステムのルートディレクトリに設定することです。 Apacheはそれを否定する権利があります。
これを引き起こしている定義を見つけて、それを削除する必要があります。
私はそれを機能させるために以下を実行しなければなりませんでした。前述のchconとsetseboolは役に立ちませんでした。
firewall-cmd --add-service = http
これはFedoraリリース20(Heisenbug)にあります。