Reputation: 1734
I'm trying laravel as a PHP framework, I have already extracted the laravel zip into ~/opt/xampp/htdocs/laravel
but when I go to localhost/laravel
or localhost/laravel
I get a 403 error message saying:
Access forbidden!
You don't have permission to access the requested object. It is either read-protected or not readable by the server.
I read somewhere that I need to edit the storage
folder inside of laravel so it can be readable and writable so I chmod -R 766 laravel/storage
but still no luck, I'm doing this from Ubuntu 12.04 have anyone encountered this ?
EDIT
I have chmod -R 0+w laravel/storage
and now when i go to localhost/laravel
i get an index of some files in there, but when i go to localhost/laravel/public/
still get the 403 error, instead of the expected result
EDIT 2
I have set chmod -R 765 laravel/public
and now when i get to localhost/laravel/public
i get this message which leads me to believe i'm getting closer:
Warning: require(/opt/lampp/htdocs/learning-laravel/laravel/laravel.php): failed to open stream: Permission denied in /opt/lampp/htdocs/learning-laravel/public/index.php on line 34
Fatal error: require(): Failed opening required '/opt/lampp/htdocs/learning-laravel/laravel/laravel.php' (include_path='.:/opt/lampp/lib/php') in /opt/lampp/htdocs/learning-laravel/public/index.php on line 34
Upvotes: 35
Views: 57492
Reputation: 4780
Change permission to the storage and bootstrap folders like so
sudo chmod -R 777 ./storage ./bootstrap
Upvotes: -3
Reputation: 1734
Final Update
I finally solved it, what happened was that the laravel
folder was read protected, what i had to do was to set chmod 755 -R laravel
and then chmod -R o+w storage
and voila i had laravel up and running, thanks to everybody that contributed.
Upvotes: 68
Reputation: 2669
for just getting start with laravel, I just do these following steps:
sudo chmod -R 770 /your/path/to/laravel/folder/
then add www-data group to your laravel
sudo chgrp -R www-data /your/path/to/laravel/folder/
Upvotes: 17
Reputation: 1419
Your on the right track, after install of laravel you need to ensure the storage directory has the correct permissions:
sudo chmod o+w storage
Then make sure you are serving your public folder and not your laravel folder in apaches document root
<VirtualHost *:80>
DocumentRoot /Users/JonSnow/Sites/MySite/public
ServerName mysite.dev
</VirtualHost>
Both requirements are covered here
Upvotes: 5
Reputation: 4908
On the Laravel forum, Kaspien gave this usefull answers:
You do have to chmod 777, but only on the storage/views folder to use blade, which happens to be the view engine the default Laravel view uses. I usually chmod 777 all storage/* directories on a fresh install of Laravel before I start a project, since they have to be writable for views, sessions, etc.
From the thread: http://forums.laravel.com/viewtopic.php?id=1552
Upvotes: 0
Reputation: 4560
In your .htaccess file:
RewriteRule ^index.php(.*)$ /public/index.php [L]
Upvotes: -1