Das Festlegen der richtigen Dateiberechtigung für jede Webanwendung ist ein wichtiger Bestandteil des Webhostings. In diesem Tutorial erfahren Sie, wie Sie Dateiberechtigungen für eine auf einem Linux-Webserver gehostete Laravel-Anwendung richtig konfigurieren.
Identifizieren Sie zunächst den Benutzernamen, unter dem der Webserver läuft. Hier sind einige Standardfälle
- Nginx unter Linux verwendet das Konto – www-data
- Apache auf Debian-Systemen verwendet Konto – www-data
- Apache auf Redhat-Systemen verwendet das Konto – Apache
Richten Sie Laravel-Dateiberechtigungen ein
Vorausgesetzt, der Webserver läuft mit www-data Benutzer auf Ihrem System. Daher sollten alle Dateien denselben Benutzerbesitz wie der Webserver-Benutzer haben. Verwenden Sie den Befehl chown, um Besitzer und Gruppenbesitzer für alle Dateien und Verzeichnisse rekursiv festzulegen.
sudo chown -R www-data:www-data /path/to/laravel
Legen Sie als Nächstes die Berechtigung 644 für alle Dateien und 755 für alle Verzeichnisse fest. Wir können dies mit dem Befehl chmod erreichen und die Befehle wie folgt zusammen finden:
sudo find /path/to/laravel -type f -exec chmod 644 {} \;
sudo find /path/to/laravel -type d -exec chmod 755 {} \;
Damit Laravel ordnungsgemäß funktioniert, müssen Sie dem Webserver Lese- und Schreibberechtigungen für Speicherung, Cache und alle anderen Verzeichnisse erteilen. Führen Sie also die folgenden Befehle aus:
cd /path/to/laravel
sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache
Jetzt ist Ihre Laravel-Anwendung mit den richtigen Berechtigungen gesichert. Da jedoch alle Dateien Besitzer und Gruppenbesitzer zum Webserver haben, kann es bei Änderungen über FTP/sFTP zu einem Problem kommen. Um dieses Problem zu lösen, fügen Sie Ihren Benutzer der Webserver-Benutzergruppe hinzu:
sudo usermod -a -G www-data ubuntu
Lesen Sie unser weiteres Tutorial, um ein SFTP-Konto für das Dokumentenstammverzeichnis des Webservers richtig zu erstellen.
Schlussfolgerung
In diesem Tutorial haben Sie gelernt, Dateiberechtigungen für die Laravel-Anwendungen richtig zu konfigurieren.