Laravel file permissions for apache

9,412

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.

Share:
9,412

Related videos on Youtube

mRhouse
Author by

mRhouse

Updated on September 18, 2022

Comments

  • mRhouse
    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 - Слава Україні
      Scott - Слава Україні almost 6 years
      Please post text as text, not as screenshots.
    • mRhouse
      mRhouse almost 6 years
      @Scott Thanks for the tip; I've edited my post.
  • mRhouse
    mRhouse almost 6 years
    I've tried these instructions and the errors still persist.
  • Thalys
    Thalys almost 6 years
    Well technically that's kind of an answer - he's turned off selinux, rather than setting the appropriate label to the folder.
  • Burgi
    Burgi over 4 years
    COuld you go into a little more detail on why the OP should do this?