Laravel file permissions for apache
Thank you for the help. It turns out I was setting the permissions successfully but they were being overridden by Centos.
sudo setenforce 0
The above worked for me.
Related videos on Youtube
mRhouse
Updated on September 18, 2022Comments
-
mRhouse almost 2 years
I'm installing a Laravel app on a Centos 7 distro. I'm using PHP 7.2 and I've successfully installed apache and my project.
I was able to get the Apache splash page to show but as soon as I point my virtual host to my laravel public folder I get file permission errors in apache2 logs.
I've made both my public and storage folders read/write/executable by all for a short period and I am still getting the errors.
My virtual host:
<VirtualHost *:80> DocumentRoot /var/www/html/checkers/public <Directory /var/www/html/checkers/public> Options +Indexes +FollowSymLinks +MultiViews AllowOverride All Require all granted </Directory> </VirtualHost>
My permissions (after temporary chmod 777 on public and bootstrap):
drwxr-xr-x. 13 root root 4096 Jul 6 03:16 . drwxr-xr-x. 3 root root 22 Jul 6 03:16 .. drwxr-xr-x. 6 root root 106 Jul 6 03:16 app -rw-r--r--. 1 root root 1686 Jul 6 03:16 artisan drwxrwxrwx. 3 root root 34 Jul 6 03:16 bootstrap -rw-r--r--. 1 root root 1477 Jul 6 03:16 composer.json -rw-r--r--. 1 root root 143918 Jul 6 03:16 composer.lock drwxr-xr-x. 2 root root 247 Jul 6 03:16 config drwxr-xr-x. 5 root root 72 Jul 6 03:16 database -rw-r--r--. 1 root root 651 Jul 6 03:16 .env.example drwxr-xr-x. 8 root root 198 Jul 6 03:22 .git -rw-r--r--. 1 root root 111 Jul 6 03:16 .gitattributes -rw-r--r--. 1 root root 155 Jul 6 03:16 .gitignore -rw-r--r--. 1 root root 1022 Jul 6 03:16 package.json -rw-r--r--. 1 root root 1134 Jul 6 03:16 phpunit.xml drwxrwxrwx. 4 root root 116 Jul 6 03:16 public -rw-r--r--. 1 root root 3675 Jul 6 03:16 readme.md drwxr-xr-x. 5 root root 45 Jul 6 03:16 resources drwxr-xr-x. 2 root root 75 Jul 6 03:16 routes -rw-r--r--. 1 root root 563 Jul 6 03:16 server.php drwxr-xr-x. 5 root root 46 Jul 6 03:16 storage drwxr-xr-x. 4 root root 83 Jul 6 03:16 tests drwxr-xr-x. 37 root root 4096 Jul 6 03:22 vendor -rw-r--r--. 1 root root 549 Jul 6 03:16 webpack.mix.js
The errors in /etc/httpd/logs/error_log:
[php7:error] [pid 9120] [client 192.168.10.1:46658] PHP Fatal error: Uncaught ErrorException: file_put_contents(/var/www/html/checkers/storage/framework/views/27ab4a7b5ea3854dc076406e3c218364a7743be0.php): failed to open stream: Permission denied in /var/www/html/checkers/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122\nStack trace:\n#0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'file_put_conten...', '/var/www/html/c...', 122, Array)\n#1 /var/www/html/checkers/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/var/www/html/c...', '<?php $__env->s...', 0)\n#2 /var/www/html/checkers/vendor/laravel/framework/src/Illuminate/View/Compilers/BladeCompiler.php(122): Illuminate\\Filesystem\\Filesystem->put('/var/www/html/c...', '<?php $__env->s...')\n#3 /var/www/html/checkers/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(51): Illuminate\\View\\Compilers\\BladeCompiler->compile('/var/www/html/c...')\n#4 /var/www/html/checkers/vendor/laravel/framework/src/Illuminate/Vi in /var/www/html/checkers/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php on line 122 [Fri Jul 06 03:41:01.295172 2018] [php7:error] [pid 9120] [client 192.168.10.1:46658] PHP Fatal error: Uncaught ErrorException: file_put_contents(/var/www/html/checkers/storage/framework/views/27ab4a7b5ea3854dc076406e3c218364a7743be0.php): failed to open stream: Permission denied in /var/www/html/checkers/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122\nStack trace:\n#0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'file_put_conten...', '/var/www/html/c...', 122, Array)\n#1 /var/www/html/checkers/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/var/www/html/c...', '<?php $__env->s...', 0)\n#2 /var/www/html/checkers/vendor/laravel/framework/src/Illuminate/View/Compilers/BladeCompiler.php(122): Illuminate\\Filesystem\\Filesystem->put('/var/www/html/c...', '<?php $__env->s...')\n#3 /var/www/html/checkers/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(51): Illuminate\\View\\Compilers\\BladeCompiler->compile('/var/www/html/c...')\n#4 /var/www/html/checkers/vendor/laravel/framework/src/Illuminate/Vi in /var/www/html/checkers/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php on line 122
Edit: I've sudo chmod -R 777 /var/ (temporarily) and I still get these permission errors.
-
Scott - Слава Україні almost 6 yearsPlease post text as text, not as screenshots.
-
mRhouse almost 6 years@Scott Thanks for the tip; I've edited my post.
-
-
mRhouse almost 6 yearsI've tried these instructions and the errors still persist.
-
Thalys almost 6 yearsWell technically that's kind of an answer - he's turned off selinux, rather than setting the appropriate label to the folder.
-
Burgi over 4 yearsCOuld you go into a little more detail on why the OP should do this?