0

私はApacheの初心者です。ホーム オフィスの FreeBSD ボックスに apache 2.2 をインストールしました。FreeBSD のドキュメントには、カスタマイズしたディレクトリ データを使用するために DocumentRoot ディレクティブを変更できると書かれています。そのため、交換した...

/usr/local/www/apache22/data

/usr/home/some_user/public_html

しかし、何かが正しくありません。ディレクトリ内にindex.htmlファイルがありますが、Apacheはディレクトリ/ファイルを読み取れなかったようです。

Forbidden
You don't have permission to access / on this server.

の許可

public_html

drwxr-xr-x

ここで何が間違っているのだろうか。また、私の場合、この FreeBSD ボックス用に複数の Web サイトをホストするつもりはないので、VirtualHost の使用についてはまったく検討しませんでした。DirectoryRoot ディレクティブを変更するだけでよいのでしょうか?

4

2 に答える 2

3

apache configのどこかに、次のような行があります。

# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/usr/local/www/apache22/data">

このパスを機能させるには、このパスも変更する必要があります。このディレクティブには、たとえば次のものが含まれます。

Order allow,deny
Allow from all

これにより、最初のユーザーがディレクトリにアクセスできるようになります。

于 2012-08-27T10:54:31.773 に答える
0

頭に浮かぶ可能性の 1 つは、SELinux が Web プロセスがそのフォルダーにアクセスするのをブロックしていることです。この場合、selinux ログに表示されます。元の Web ルートのコンテキストを次のように確認する必要があります。

ls -Zl

次に、それを新しい Web フォルダーに適用します。

chcon whatevercontextyousaw public_html

または、代わりに、セキュリティを必要とする運用サーバー (ファイアウォールの背後にある開発マシンなど) でない場合は、selinux をオフにすることをお勧めします。

たった1つのアイデア。他にもいろいろあるかもしれません。

于 2012-08-27T10:19:49.710 に答える