GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Berechtigungsproblem mit Laravel auf CentOS

Ich muss mehr Anpassungen für SELinux vornehmen als nur für storage . Besonders die config dir kann dir dieses Problem beim Laravel-Bootstrapping besorgen.

Wenn Sie sudo setenforce permissive und es funktioniert, dann drehen Sie es zurück sudo setenforce enforcing dann folgen Sie unten.

SELinux Laravel-Setup:

sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/site/laravel/storage(/.*)?"
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/site/laravel/bootstrap/cache(/.*)?"

Sie benötigen den folgenden möglicherweise nicht für config , hab ich doch. Es ist möglicherweise am sichersten, dieses nicht auszuführen, es sei denn, Sie müssen:

sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/site/laravel/config(/.*)?"

Setzen Sie dann zurück, nachdem Ihre Verzeichnisanpassungen vorgenommen wurden:

restorecon -Rv /var/www/site/


In meinem Fall war es ein anderer Unix-Benutzer, also hat dieser hier funktioniert:

chown -R php-fpm:php-fpm storage

Probieren Sie diese aus, die bei mir funktioniert haben ...

sudo find ./storage -type f -exec chmod 666 {} \;
sudo find ./storage -type d -exec chmod 777 {} \;

Es stellt sich heraus, dass das Problem bei selinux liegt

Ich habe diese Antwort gefunden, die mein Problem gelöst hat.

Beweisen Sie, dass dies das Problem ist, indem Sie selinux deaktivieren mit dem Befehl

setenforce 0

Dies sollte das Schreiben ermöglichen, aber Sie haben die zusätzliche Sicherheit serverweit deaktiviert. Das ist schlecht. Schalten Sie SELinux zurück

setenforce 1

Verwenden Sie dann schließlich SELinux, um das Schreiben der Datei zuzulassen, indem Sie diesen Befehl verwenden

chcon -R -t httpd_sys_rw_content_t storage

Und los geht's!


Linux
  1. Centos – Alle Ordnerberechtigungen mit einem Befehl ändern?

  2. Installieren Sie Laravel auf CentOS 7

  3. Wie deaktiviere ich SELinux auf CentOS?

  4. Wie installiere ich Mod Security auf Centos 7.x mit Apache?

  5. Fügen Sie einen Linux-Benutzer mit Dokument-Root-Berechtigungen hinzu

So installieren Sie Laravel-basiertes PyroCMS mit Nginx unter CentOS 7

So installieren Sie Laravel PHP Framework mit Nginx unter CentOS 8

So installieren Sie Laravel mit Nginx unter CentOS 8

So installieren Sie Laravel auf CentOS Stream 9

So installieren Sie Laravel PHP Framework mit Nginx unter CentOS 8

So installieren Sie Apache mit PHP-FPM auf CentOS 8