• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[geloest] LAMP-Server auf ~/username/public_html

lin

Hacker
hallo liebe Community

ich hab ein LAMP-System auf der openSuse 11.4 eingerichtet - mit Apache 2.2, einem MySQL-Server, PHP 5.3x und phpMyadmin.
Alles läuft erstmal und auch nicht schlecht. Nur ein (mehr oder weniger kleines) Problem habe ich. Wie ich feststellen musste
ist der LAMP leider hier drauf einerichtet.

Code:
/srv/www/basic

Der Ordner wäre wohl besser : ~/username/public_html.

Denn ich bekomme bei meinen Versuchen Dinge auf in dem WEBROOT zu installieren immer wieder Turbulenzen. Die Rechtefrage ist hier immer wieder sehr schwer zu händeln.
Ganz grundsätzlich: Es geht - ich kann auch da arbeiten. Ich installiere z.b. auf dem Server immer wieder mal ein CMS - eine Joomla.
Das Installieren des CMS geht noch ganz gut. Dann und wann bekomme ich Rechteprobleme - nämlich wenn ich in einer CMS-Installation, die auf dem Localhost liegt dann was nachinstallieren will (siehe unten). Beim Versuch die Joomla 1.7.3 mit Erweituerungen und Plugins auszubauen gehe ich - wie immer in den Amdin-Panel: Dort suche ich nach den gezippten Dateien die ich als Extensions adden und installieren will. Dabei bekomme ich merkwürdigerweise immer den folgenden Fehler: Warning: Failed to move file! Hmmm, ich koennte mir jetzt vorstellen dass das eine Frage der Berechtigungen ist. Ich muss ja - wenn ich die Extensions von den Festplatte - hole und sozusagen von ausserhalb des Servers dann auch verschiedene Ordner überschreiten. Dabei kann es m.E. zu Rechteproblemen kommen.

Das Problem bzw. der Hintergrund: Standardmäßig wird der Apache-Server mit dem Benutzer wwwrun ausgeführt. Sprich, wenn ich jetzt
in dem CMS versuche, etwas auf das Dateisystem zu speichern, dann wird dies immer mit dem Benutzer wwwrun versucht. Das bedeutet, der Benutzer wwwrun benötigt für das Verzeichnis, wo das CMS liegt auch die Schreibrechte.Das heißt: Die Rechte für den Ordner musst man so setzen, dass diese auch für alle Unterordner gelten. Ich muss /müsste den Ordner dann eben entsprechend berechtigen.

Mehrere Fragen, die mir hier jetzt einfallen:

Kann ich denn nicht z.B. das ganz auf den folgenden Ordner bringen -
Code:
 ~/username/public_html.

Bin ich dann die Probleme los - und hab überhaupt keine Rechtprobleme mehr. Eben weil ich nicht mehr in dem rechtemässig kritischen Verzeichnis /srv/www/basic drinne bin.

Was aber passiert wenn ich das ändere auf ~/username/public_html ?
Muss ich dann auch folgendes ändern:

- die Einstellungen des MySQL.Servers
- den PHPMYADMIN - ggf einfach verschieben das dürfte nicht schwer sein.

Frage: kann ich das denn dann irgendwie jetzt noch nachträglich einrichten, bzw. umkonfigurieren, oder sollte die LAMP-Installation vielle. lieber
ganz loeschen.

Freu mich von euch zu hoeren.

lg lin
 

spoensche

Moderator
Teammitglied
Code:
~/username/public_html
sind die Userverzeichnisse. Dafür musst du nicht den DocumentRoot ändern, sondern das Modul mod_userdir laden. Siehe http://httpd.apache.org/docs/2.2/mod/mod_userdir.html
 

revealed

Guru
Hallo!

Ich hab mit mod userdir kürzlich auch was probiert. Es steht eigentlich ganz gut in der vorhandenen configdatei beschrieben.
Code:
/etc/apache2/mod_userdir.conf
Und ein Abschnitt in /etc/apache2/default-server.conf beginnt mit:
Code:
<IfModule mod_userdir.c>
Dort steht auch einiges dabei, beispielsweise:
Code:
# You can, however, change the ~ if you find it awkward, by mapping e.g.
        # http://www.example.com/users/karl-heinz/ --> /home/karl-heinz/public_html/
Vielleicht hilft dir das.

Gruß,

R

PS.: Du wirst auf jeden Fall eine eventuell vorhandene apache config (/etc/apache2/conf.d/joomla?) und die joomla config beispielsweise an den Pfad anpassen müssen usw. Zum Thema verschieben einer Joomla Installation gibt es einige Threads im Internet. Die würde ich dir zum Lesen empfehlen. Dazu eine Suchmaschine deiner Wahl bemühen... es ist übrigens vorteilhaft die config von joomla portabel zu gestalten. Spätestens, falls deine Joomla mal live auf einen Webserver geladen werden soll musst du dich damit beschäftigen, dass es nicht statische Pfade verwendet. Meine könnte ich hinladen wo ich will. Die würde überall funktionieren, wo der Server die PHP Version bietet eben mit einer kompatiblen Datenbank. Die Dateisystemberechtigungen für die Joomla beispielsweise sollten allerdings auch möglichst restriktiv gesetzt sein. Dazu gibts meine ich hardening guides. http://docs.joomla.org/Security_Checklist_4_-_Joomla_Setup
Code:
Permissions should never be 777

PHPMyAdmin musst du doch nicht auch verschieben... es können ja auch mehrere documentroots vorhanden sein. Also in Sysconfig wirst du den standard documentroot nicht ändern müssen, weil du diesen eben parallel mit den userdirs betreiben kannst. Es ist mit Sicherheit keine schlechte Idee, wenn beispielsweise .... ich meine insbesondere PHPMyAdmin an einer Stelle auf dem Server liegt, der sehr sehr restriktiv gehandelt wird. Außerdem würde sich eine Änderung mit dem Sinn von mod_userdir überschneiden.

Die Einstellungen für den MySQL ändern? Nein! Warum? Die Datenbank ist vom Standort des CMS unabhängig. Du könntest es auch an eine Datenbank anbinden, die auf einem komplett anderen Rechner am anderen Ende der Welt liegt. Genauso ist normalerweise PHPMyAdmin nicht vom Standort abhängig. Es stellt eine Verbindung mit dem Datenbankserver her.
 
OP
L

lin

Hacker
Hallo spoensche und revealed - vielen Dank für eure tipps und sehr hilfreichen infos!


ich werde das alles heut am sonntag mal durcharbeiten / nachladen und einrichten,.

@revealed - deine tipps bzgl joomla sind m.E. echt total wichtig - sie sind Antworten auf Fragen die ich schon lange hatte. 1000 DANK dafür.

Ich werde sicher in der ein oder anderen Form nochmals drauf zurückkkommen.
Vielen Dank.

Grüße
lin


PS.: Du wirst auf jeden Fall eine eventuell vorhandene apache config (/etc/apache2/conf.d/joomla?) und die joomla config beispielsweise an den Pfad anpassen müssen usw. Zum Thema verschieben einer Joomla Installation gibt es einige Threads im Internet. Die würde ich dir zum Lesen empfehlen. Dazu eine Suchmaschine deiner Wahl bemühen... es ist übrigens vorteilhaft die config von joomla portabel zu gestalten. Spätestens, falls deine Joomla mal live auf einen Webserver geladen werden soll musst du dich damit beschäftigen, dass es nicht statische Pfade verwendet. Meine könnte ich hinladen wo ich will. Die würde überall funktionieren, wo der Server die PHP Version bietet eben mit einer kompatiblen Datenbank. Die Dateisystemberechtigungen für die Joomla beispielsweise sollten allerdings auch möglichst restriktiv gesetzt sein. Dazu gibts meine ich hardening guides. http://docs.joomla.org/Security_Checklist_4_-_Joomla_Setup
Code:
Permissions should never be 777

wie geagt - tolle tipps - viel Stoff fürs 'Umsetzen! LG Lin
thread ist geloest - ich markiere entsprechend! ;-)
 
Oben