LaravelアプリをApache2にローカルにデプロイしようとしていますが、http://myapp.localhost.com/
を参照しようとすると、次のエラーが表示されます。
Forbidden
You don't have permission to access / on this server.
Apache/2.4.7 (Ubuntu) Server at myapp.localhost.com Port 80
myapp.conf
に/etc/Apache2/sites-available
を作成して、仮想ホストをセットアップしました。
<VirtualHost *:80>
ServerName myapp.localhost.com
DocumentRoot "/home/user/projects/myapp/public"
<Directory "/home/user/projects/myapp/public">
AllowOverride all
</Directory>
</VirtualHost>
/etc/Apache2/sites-enabled
(Sudo ln -s ../sites-available/myapp.conf
)にシンボリックリンクを作成しました
/etc/hosts
ファイルも編集して追加しました:
127.0.0.1 myapp.localhost.com
このエラーが発生する理由は何ですか?アプリケーションをApache2
も使用するheroku
にデプロイしようとすると、同じ問題が発生します。
私は欠けています
Options Indexes FollowSymLinks Includes ExecCGI
myapp.confで。 Apache-2.4現在、mod_authz_Hostが使用されており、Require
(例Require all granted
)を使用する必要があります。
ところで...これ:
このサーバーで/にアクセスする権限がありません。
Httpd.confを使用する場合、Apacheをデフォルトとして覚えています。 sites-*/*
が使用されていますか?
VirtualHostで、ホームディレクトリのLaravelアプリケーションを指すようにDocumentRootを記述します。さらに、以下に示すディレクトリを独自のパスとともに追加する必要があります。
<Directory /home/john/Laravel_Projects/links/public/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
2番目のステップでは、Laravelプロジェクトに移動して、次のコマンドを実行する必要があります。
Sudo chmod -R 777 storage bootstrap/cache
最後に、Apache2を再起動します。
Sudo service Apache2 restart