[gelöst] LAMP für lokale Testumgebung einrichten

Hinweis: In dem Thema [gelöst] LAMP für lokale Testumgebung einrichten gibt es 10 Antworten auf 2 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Hallo,


    Schon wieder bin ich etwas hilflos. Bisher habe ich sowohl unter Windows als auch unter SuSE XAMPP genutzt um meine Seiten lokal zu testen. Mit Filezilla hab ich meine eigenen Dateien lokal als auch online hin- und her kopiert. Das ist schrecklich unsicher, umständlich und nicht Linux-like. Nun will ich den Umweg über XAMPP nicht mehr gehen, und hab über YAST die Schemata Pakete "Web- und LAMP-Server" installiert. Apache, MySQL und phpMyAdmin funktionieren fürs Erste. Eigentlich wollte ich es mal ohne Hilfe kapieren. Aber klappt nicht... :)


    Die Daten liegen unter:


    Code
    /srv/www/htdocs/wordpress


    Zu Testzwecken hab ich WordPress und Joomla installiert. Was ich nicht richtig verstehe ist die Besitzer- und Gruppenzuordnung. Verzeichnisse und Dateien sind dem Benutzer und der Gruppe root zugeordnet gewesen. Der Apache-Server läuft unter dem Benutzer wwwrun und ist der Gruppe www zugeodnet. Also hab ich die CMS-Ordner/Dateien dem Apache-Server zugeordnet, so wie es verschiedene HowTo´s beschrieben haben:


    Code
    chown -R wwwrun:www /srv/www/htdocs/wordpress/*


    Aber ehrlich gesagt weiß ich nicht wozu ich es so machen soll, denn ich will ja über Dolphin Dateien in den htdocs-Ordner verschieben und auch über einen Editor html/php-Dateien dort abspeichern. Zugriff hab ich nur wenn ich mir selbst die Rechte für den Ordner erteile:


    Code
    chown -R ich:users /srv/www/htdocs/wordpress/*


    Wie macht ihr das? Ich habe das Gefühl Chaos anzurichten, und irgendwann gleichzeitig Ordner/Dateien hab, die verschiedenen Bestizern:Gruppen zugeordnert sind, wie root:root, wwwrun:www; ich:users etc.


    Um die Sicherheit des ganzen hab ich mich noch nicht gekümmert. Ich möchte zuerst einmal das verstehen.


    Und um die Dateien hochzuladen hab ich sonst den Filezilla-Client genommen. Ich weiß, dass das nicht empfehlenswert ist, da die Übertragung unverschlüsselt geschieht. Jetzt noch eine haarsträubende Frage, sollte ich das alles hinbekommen, kann ich denn dann die Daten unter /srv/www/htdocs/wordpress wie gewohnt ohne Komplikationen mit Filezilla hochladen? Klar würde ich lieber alles über SSH übertragen. Aber das muss ich ja auch erst einmal verstehen. Eins nach dem Anderen.


    Ich bitte um geduldige Antwort
    phobophil

    AMD Ryzen 9 5900X 12-Core Processor
    GeForce GTX 980
    128GB RAM

    Kernel-Version 6.5.4-1-default (64-bit)

    Einmal editiert, zuletzt von phobophil ()

    Für den Inhalt des Beitrages 55063 haftet ausdrücklich der jeweilige Autor: phobophil

  • Ein wenig Lektüre dazu:
    http://doc.opensuse.org/docume…html#sec.apache2.security
    (Es lohnt sich alles zu lesen.)


    Was in openSUSE mit dieser scheinbar wirren Rechtevergabe intendiert ist, ist schlicht maximale Sicherheit.
    Dass auf die oberen Ebenen von /srv nur Root die Rechte hat, unterbindet das Schreiben von Jedermann ziemlich effektiv.
    Darunter sollte nur der Indianer selbst Zugriff haben. Lesend.
    Wenn er auch schreiben soll, nimm dafür extra Verzeichnisse.


    Das ganze gilt für Server, die wirklich draußen sichtbar sind.
    Wenn du es nur intern für Testzwecke hast, musst du dich nicht sorgen.


    Besser ist es allemal jedoch, wenn du die Rechte lässt, wie sie sind, und dich selbst der Indianer group hinzufügst.
    (Auch sowas macht man nicht bei Servern an der Front).


    Eine andere Möglichkeit ist es, sich via des "sudo" Mechanismus zu erlauben, den ein oder anderen Befehl einfach ohne Passwortabfrage aber mit Rootrechten ausführen zu können.

    Für den Inhalt des Beitrages 55075 haftet ausdrücklich der jeweilige Autor: uhelp

  • Moin Moin,


    das Problem mit den Rechten hatte ich vor Jahren schon und habe diese für mich ganz simpel gelößt!


    Folgendes Problem titt immer wieder auf, du hast eine PHP, Text, xml Dateien die der Apache ändern oder zurückschreiben soll und es scheitert an den Rechten, weil Du die Datei als root oder user in den Pfad kopiert hast.
    Das hatte mich damals absolut wahnsinnig gemacht, immer wieder mit root in .../htdoc/... zu gehen und die Rechte auf wwwrun/www zu ändern.


    Meine persönliche Lösung:
    Ich habe via Samba eine Freigabe erstellt die als User/Gruppe wwwrun/www schreibt. Selbstverständlich habe ich die Rechte in Samba auf einen bestimmten User und auf bestimmte Maschinen beschränkt.
    Nun arbeite ich im Verzeichnis:
    smb://deineworkgroup/webserver/
    wenn ich local programmiere, Dateien verschiebe und teste.
    Alles was ich also erstelle hat dann immer die richtigen Rechte!

    Code
    Beispiel aus der smb.conf
    
    
    [webserver]
    	force user = wwwrun
    	force group = www
    	path = /srv/www/htdocs/webserver
    	...RECHTE...User
    	...RECHTE...Maschinen


    LG
    Ernst

    ********************************************************************************************************

    INFO:

    wenn ich träge und/oder begriffsstutzig reagiere liegt es an meinem überwundenen Schlaganfall!!! "SORRY" ?(

    ********************************************************************************************************

    Für den Inhalt des Beitrages 55084 haftet ausdrücklich der jeweilige Autor: angrydust

  • Danke für die Antworten. Ich möchte den Apache ausschließlich lokal nutzen.

    Darunter sollte nur der Indianer selbst Zugriff haben. Lesend.

    Alle Dateien und Verzeichnisse unter dem Pfad /srv/www/htdocs haben nun den Besitzer wwwrun und sind in der Gruppe www. Ich habe mich - den lokalen Benutzer - über YAST in der Benutzerverwaltung der Gruppe www hinzugefügt.

    Wenn er auch schreiben soll, nimm dafür extra Verzeichnisse.


    Meinst du damit zb. das Verzeichnis /home/meinName/public_html ? Nun, das hab ich jedenfalls gleich mal ausprobiert und die Dateien mod_userdir.conf und httpd.conf dahingehend angepasst, dass der Apache dort auch zugreift. Ein CMS konnte ich in einem Unterverzichnis problemlos installieren. Ebenso kann ich PHP/Html Dateien dort erstellen und hineinkopieren. Aufrufen kann ich meine Testumgebungen nun unter:


    http://localhost/~meinName/www.CMS1.de/
    http://localhost/~meinName/www.CMS2.de/


    Ist diese Vorgehensweise in Ordnung? Die Dateien/Verzeichnisse gehören alle mir und sind der Gruppe users zugeordnet. Kann es Konflikte mit wwwrun:www geben? Ich könnte mir zb. vorstellen, dass bei der Installation von Plugins/Modulen unter WordPress die Dateien den Benutzer und die Gruppe des Apache haben. Und überhaupt, bewege ich mich auf ganz dünnem Eis was die Sicherheit betrifft.


    habe diese für mich ganz simpel gelößt!

    Das Thema ist ganz schön komplex, was aber nicht heißen soll, dass ich aufgebe. Mir wäre es im Moment recht, wenn ich über den public_html Ordner arbeiten kann.


    Nun arbeite ich im Verzeichnis:
    smb://deineworkgroup/webserver/


    Das heißt, deine Websites liegen in diesem Ordner und alles was du dort machst gehört Apache mit wwwrun:www? Vermutlich ist meine Frage zu banal, also öffnest du ein Script mit einem Editor und speicherst es in dem Verzeichnis und es gehört sogleich Apache? Hmm, ich muss mich ohnehin erst einmal mit Samba beschäftigen. Mir stellt sich jetzt nur die Frage, wenn es doch scheinbar einfacher über den public_html-Ordner geht, welchen Vorteil hat dann deine Lösung das Rechte-"Problem" zu umgehen?


    Grüße
    phobophil

    AMD Ryzen 9 5900X 12-Core Processor
    GeForce GTX 980
    128GB RAM

    Kernel-Version 6.5.4-1-default (64-bit)

    Für den Inhalt des Beitrages 55087 haftet ausdrücklich der jeweilige Autor: phobophil

  • phobophil Mit Samba diese Sicherheitsmechanismen zu umgehen, macht halt den Server sehr viel leichter angreifbar. Da kann man dann auch gleich alles unter M$-Löchern laufen lassen.


    Und wie gesagt: Verwendet man es rein lokal, mag das alles angehen.
    Schlechter Stil ist und bleibt es.
    Es ist immer besser es zu verstehen, als zu umgehen.
    Das sind und bleiben vorsätzliche Sicherheitslöcher.


    $HOME/public_html ist schon immer und von Haus aus über den Webserver zu erreichen. Es ist das Standardverzeichnis jeden Users für seine private Homepage. Da sollte man nicht einmal irgendetwas konfigurieren müssen.
    Es ist schlicht immer unter http://server.tlp/~username erreichbar.

    Für den Inhalt des Beitrages 55092 haftet ausdrücklich der jeweilige Autor: uhelp

  • Es ist immer besser es zu verstehen, als zu umgehen.


    Ja, das will ich. Dann verzichte ich auf Samba, solang ich nicht mit einem Windows-Netzwerk kommunizieren muss.


    In meiner Lesart versteh ich dich so, dass ich eine Testumgebung unter http://localhost/~username so nun auch betreiben kann. Von außen ist mein (lokaler) Webserver also auch nicht erreichbar?

    AMD Ryzen 9 5900X 12-Core Processor
    GeForce GTX 980
    128GB RAM

    Kernel-Version 6.5.4-1-default (64-bit)

    Für den Inhalt des Beitrages 55094 haftet ausdrücklich der jeweilige Autor: phobophil

  • Erreichbar wird er erst sein, wenn du auf deinem Router entweder eine Portweiterleitung einrichtest, oder deine ganze Kiste in die DMZ stellst. Außerdem wäre eine DynDNS noch ganz hilfreich.


    Im Prinzip richtig. Betreibe dein Zeugs lieber via $HOME/public_hmtl, als die Sicherheit komplett wegzuschiessen.


    Du weißt ja: Traue niemanden. Überall schleichen finstere Gestalten. Auch in deinem lokalen Netz.
    grins

    Für den Inhalt des Beitrages 55095 haftet ausdrücklich der jeweilige Autor: uhelp

  • Danke uhelp, meine Laune hat sich erheblich verbessert. 8)


    Eine Portweiterleitung hab ich nicht eingerichtet, nicht dass ich wüßte. Der Router blieb unangetastet. Du siehst, ich hab einfach noch zu wenig Ahnung davon. Aber ich werd mich wohl mit der ganzen Server-Geschichte und DynDNS und DMZ noch befassen.


    Zum Thema Sicherheit, nun hab ich meine alte gehackte Seite lokal wieder eingespielt. Schön!


    Der Kerl, der mir hier gegenüber sitzt ist ein netter vertrauenswürdiger Mensch, sitzt am Windows-Rechner und ist bisher noch gar nicht erpicht darauf, auch OpenSuSE zu nutzen. Aber das ändert sich noch... :)


    Ich bin erstaunt wie komfortabel es jetzt mit Bordmitteln ist, ganz ohne XAMPP. Mich hat meine umständliche Arbeitsweise mit FileZilla immer genervt, und ich hab mich auch immer gewundert wozu der Ordner public_html ist.


    Sollte ich nicht vielleicht die Themen-Überschrift ändern, in:


    "LAMP für lokale Testumgebung einrichten"


    oder so ähnlich?

    AMD Ryzen 9 5900X 12-Core Processor
    GeForce GTX 980
    128GB RAM

    Kernel-Version 6.5.4-1-default (64-bit)

    Für den Inhalt des Beitrages 55096 haftet ausdrücklich der jeweilige Autor: phobophil

  • Gute Idee.
    Es sollen ja schließlich andere davon profitieren.


    Und gib dem Kerl ja kein Linux!
    Mit Windows ist er immer beschäftigt und hat keine Zeit deine unsicheren Server zu hacken.
    GRINS

    Für den Inhalt des Beitrages 55097 haftet ausdrücklich der jeweilige Autor: uhelp

  • Den Seitenhieb vertrage ich noch. Irgendwann fällt der Groschen bei mir. Eine gute Welt baut doch auf Vertrauen auf, und ein Vertrauensvorschuss durch unsichere Webserver sollte doch nicht unbedingt immer gleich schamlos ausgenutzt werden. Ok, das ist naiv... leider.


    Zwei ehemaligen Windows-Nutzern hab ich Linux schon installiert. Ich bin zuversichtlich, dass es bei ihm auch klappt... wenigstens auf dem Privatrechner.


    Thx phobophil

    AMD Ryzen 9 5900X 12-Core Processor
    GeForce GTX 980
    128GB RAM

    Kernel-Version 6.5.4-1-default (64-bit)

    Für den Inhalt des Beitrages 55098 haftet ausdrücklich der jeweilige Autor: phobophil