Rechte-Probleme auf Linux-Server für Laravel-Sites

Dsimon24

Lieutenant
Registriert
Aug. 2016
Beiträge
595
Hallo zusammen,

ich habe mir auf einer virtuellen Maschine Ubuntu Server mit einem LAMP-Stack
installiert und möchte darauf gerne eine Laravel-Applikation zum Testen hosten.

Leider sind meine Linux-Skills noch sehr eingeschränkt, was mir an ein und
anderer Stelle aktuell noch ein paar Probleme bereitet.

Wenn ich bspw. in /var/www/html ein Verzeichnis für eine Laravel-Site erstellen möchte,
kann ich dies nur mit sudo machen.
Anschließend kann ich ein bestehendes Guthub-Repo auch nur mittels sudo git clone in
dieses Verzeichnis klonen und den Composer zur Installation der Abhängigkeiten ebenfalls
nur mit sudo starten. Möchte ich dann die Seite aufrufen werden die Log-Files und ein paar
Pfade im /storage-Ordner auf Grund der Permissions ebenfalls nicht korrekt aufgerufen.

Kurz und knapp scheine ich ein Rechte-Problem zu haben. Wie kann ich dies am besten lösen?
Ich bin auf dem Server nicht mit root, sondern einem zuvor angelegten Nutzer 'xyz'
angemeldet. Ich freue mich, wenn ihr mich ein wenig unterstützen könnt, bei dem Problem.

LG.
 
mit chown kannst du den besitzer ändern, soweit ich weiß gibt es meist einen apache user der das lesen können muss, schaue mal wie der besitzer des ordners /var/www ist
 
Bei /var/www gibt es mir folgendes aus: drwxr-xr-x 3 root root 4096 Jan 27 10:22 www.

Wenn ich mittels chown auf www-data ändere, habe ich die gleichen Probleme und
benötige ebenfalls sudo um alles auszuführen und kann ebenfalls abschließend
kaum was vernünftig nutzen.

Vielleicht habe ich bei der Installation des LAMP-Stacks schon was falsch konfiguriert?
 
Zuletzt bearbeitet:
es waere gut genau zu schreiben was du gemacht hast. Ausserdem ist es sinnvoller einer Gruppe Schreiberechte fuer diesen Ordner zu geben, und den oder die entsprechenden User, unter denen deine Anwendungen laufen dann zu der Grupper hinzuzufuegen.

Vor allem solltest du dich mit diesem Konzept unter Linux jetzt gleich auseinandersetzen, nicht erst spaeter - das ist elementar und schadet auf keinen Fall es zu verstehen. Z.b. was drwxr-xr-x und root rootueberhaupt bedeutet. Also falls du das noch nicht weisst. Copy und Paste von Snippets aus dem Netz mag zwar oft auch zur Loesung fuehren, aber meist auch nicht zu dem Verstaendnis warum. Das wiederum kann spaeter an anderer Stelle aber dann nuetzlich sein

Mal noch eine grundlegende Frage an die Web App Experten hier, kann man fuer sowas heutzutage nicht auch einfach Docker mit nem Nginx usw nehmen? Oder macht man das nicht aus bestimmten Gruenden?
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: redjack1000 und BeBur
Lies dich mal ein wenig zur Rechteverwaltung bei Linux ein. Die Dateien+Ordner gehören vermutlich alle root. Wenn du das auf www-data umstellst, aber als nutzer dsimon24 eingeloggt bist, dann hast du natürlich genau so viele Rechte auf diesen Dateien wie vorher auch (lesen und ausführen erlaubt). Du musst dann schon z.B. per su dich als www-data einloggen um in dem Szenario hier auch Schreibrechte zu haben. Oder halt wie abcddcba schrieb, eine Gruppe erstellen, deinen regulären Nutzer der Gruppe hinzufügen und der Gruppe dann Schreibrechte geben.
 
Also:
sudo chown -R www-data:www-data /var/{dein pfad zum pubplic_html verzeichnis}
dann zu /var/www via' cd /var/www
und dann:
find . -type f -exec chmod 644 {} \;
find . type d -exec chmod 755 {} \;

Sollte so funktionieren, bin mit aber nicht sicher, ob der user 'www-data ' stimmt, da ich eigentlich 'nur' RHEL benutze.
Das kannst aber heraus finden, via: sudo cat /etc/shadow ==> und dort siehst du dann eh, ob httpd, apache2, apache, html etc der richtige User für den Webserver ist.
Den richtigen User kannst für Ubuntu auch via:
https://docs.rackspace.com/support/how-to/configure-apache-on-the-ubuntu-operating-system/
heraus finden.
 
abcddcba schrieb:
Mal noch eine grundlegende Frage an die Web App Experten hier, kann man fuer sowas heutzutage nicht auch einfach Docker mit nem Nginx usw nehmen? Oder macht man das nicht aus bestimmten Gruenden?
Hast die gleichen Probleme auch unter Docker.
Generell ist ein eigener User / Gruppe mehr als Sinnvoll und dann sollten alle Files und Ordner diesem User mit dem richtigen Rechten zugeordnet werden. Schon geht es.

Wenn es ohne Docker zu Rechte-Problemen kommt, dann auch mit Docker ;)
 
Zurück
Oben