Getting a 500 Internal Server Error on Laravel 5+ Ubuntu 14.04
Getting a 500 Internal Server Error on Laravel 5+ Ubuntu 14.04
Question
I have installed Laravel many times on Windows OS but it never occurred this type of problem. This 500 internal server usually occurs when your "mod_rewrite" module is not turned on.
However, on Ubuntu 14.04 this problem is giving me a headache. I have installed rewrite_mod but it's also not working. I've given access to all my folders and files inside i.e.
/var/www/html/laravel_project
Still it doesn't work. Changed .htaccess as well from original to this.
+FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
I have all the necessary extensions needed for Laravel 5+ as well. Is there something left that I didn't do?
Accepted Answer
Finally Overcame the problem
- It was not the .htaccess file that was the problem nor the index.php. The problem was on accessing the files and requiring permissions.
For solving the problem i ran the following commands through terminal.
sudo chmod -R 755 laravel_blog
and then type below to allow laravel to write file to storage folder
chmod -R o+w laravel_blog/storage
This two commands solved the problem.
Popular Answer
Create the .env file and also run :
php artisan key:generate
This worked for me after pulling a git project.
After creating .env file and generating the key, run the code below:
php artisan cache:clear
php artisan config:clear
Read more... Read less...
After installing run below command
sudo chmod 755 -R laravel
chmod -R o+w laravel/storage
here "laravel" is the name of directory where laravel installed
Try to check if you have .env
file.
Mostly this thing can cause something like that. Try to create a file then copy everything from .env.example
, paste it to your created file and name it .env
. or jsut simply rename the .env.example
file to .env
and run php artisan key:generate
I fixed with this Command:
rm -rf app/storage/logs/laravel.logs
chmod -R 777 app/storage,
php artisan cache:clear,
php artisan dump-autoload OR composer dump-autoload
Than restart a server eather XAMPP ore another one and that should be working.
I have faced a similar error. I checked the log in /var/log/apache2/error.log
and found an UnexpectedValueException
I changed the owner to my apache user of the storage folder under the project dir.
sudo chown -R www-data:www-data ./storage
In my case apache2 process owner is www-data
, so change this to yours, this can be found in apache2 config file. Hope this is useful to you.
Make sure a .env file, containing an APP_KEY, exists in root.
What should be in the .env hasn't been explicitly stated in other solutions, and thought I'd boil it down to the sentence above.
This fixed my 500 error on a fresh install of Laravel.
Steps:
- Create a .env file in root (e.g.
touch .env
) - Make sure it contains at least one line:
APP_KEY=
- Generate an app key in terminal:
php artisan key:generate
Notes:
My particular installation didn't include any .env whatsoever (example or otherwise)
Simply having a blank .env does not work.
A .env containing parameters, but no
APP_KEY
parameter, does not work.
Bug?: When generating an app key in terminal, it may report as successful, however no key will actually get placed in the .env if the file has no pre-existing APP_KEY=
line.
As a reference, here's the official .env with useful baseline parameters. Copy-paste what you need: