質問: apache2.4をインストールして、Laravelフレームワークを使うため、 ドキュメントルートを下記のようにしました。 DocumentRoot "/root/test/laravel/public" ServerName mailsvr-01.local:80 ※Laravel3.0を/root/test/配下にダウンロードしました ブラウザからアクセスすると、下記の表記が表示されます。 アクセス: ※クラウド環境のため、http://localhostでアクセスできない You don't have permission to access / on this server. アクセスログには下記のような表示がされております。 [14/Jan/2016:18:34:30 +0000] "GET / HTTP/1.1" 403 209 どこの設定を変更すればよいのかご教授願えますでしょうか。 以上、よろしくお願いいたします。
回答: ディレクトリにアクセス(http://xxx.xx.xxx.xx/aa/bb/のように、ファイル名を含まないURLでアクセス)した場合に、以下のエラーが出る状況は、次のようなものが考えられます。 > > You don't have permission to access / on this server > > > 1.httpd.configファイル(webサーバの設定を記載するファイル)に、DirectoryIndexの記載がない場合。 DirectoryIndexは、ファイル名を含まないURLでアクセスされた場合に表示するファイルの名前を設定しておくもので、複数のファイル名を設定できます。 この設定がないと、webサーバはディレクトリを返そうとしますが、ディレクトリは内容を読み取られないようにセキュリティ設定されているので、permissionが無いというエラーになります。 2.httpd.configファイルにDirectoryIndexの記載はあるが、index.htmlなどのファイルが存在しない場合。 DirectoryIndexで、index.htmlの内容を返すように設定しているのに、/root/test/laravel/public/の中にindex.html というファイルが存在しない場合にも、同様にエラーとなります。 1.が原因の場合は、httpd.configファイルの記述を修正する事で解決できます。 2.が原因の場合は、正しいディレクトリに正しい名前でファイルを置くことで解決できます。