Hallo Sebastian,
vorausschicken will ich, dass ich mit solchen Konfigs nur wenig Erfahrung habe.
Am Samstag 04 Oktober 2014 schrieb Sebastian Reinhardt:
[...]
Leider bin ich auf ein neues Problem gestoßen: suexec scheint ein Problem mit dem "DocumentRoot" zu haben. Die Seite funktioniert nicht mehr und in der suexec.log kommt nur sowas: ------------------/var/log/apache2/suexec.log--------------------- ------- [2014-10-04 00:24:40]: uid: (12345678/kivitendo) gid: (12345/wws) cmd: dispatcher.fpl [2014-10-04 00:24:40]: command not in docroot (/mnt/md1/lvm/srv/www/vhosts/kivitendo-test/dispatcher.fpl) ------------------------------------------------------------------ ---------------- Bist Du sicher, dass der Pfad der Documentroot nicht einen Zweig zu lang ist? Müsste der nicht /mnt/md1/lvm/srv/www/vhosts/kivitendo-test/ heißen? Heist der ja! suexec meint, dass das Script "dispatcher.fpl" nicht dort
Am 04.10.2014 um 20:01 schrieb Helga Fischer: liegen würde! Tut es aber! Ich habe alle Webseiten auf eine andere Partition/ Platte gelegt (/mnt/md1, früher mal /mnt/lvm/; alles von "lvm" hab ich später auf das Raid verschoben und "lvm" noch beibehalten bzw. einen symb. Link gesetzt, sollte aber eigentlich Wurscht sein, wo das liegt, so lange die Pfade "absolut" und korrekt sind?)
Je nach Lage der Skripten muss auch der cgi-bin-Pfad in der vhost.conf richtig sitzen. Da kann man sich ruckzuck vertun.
Ohne "suexec" funktioniert die Config des vhosts ja! Ich habe nur die Zeile "SuexecUserGroup kivitendo wws" eingefügt! Bei "kivitendo" ist i.Ü. der "html"- und der "cgi"-Pfad identisch!
Natürlich befindet sich die Datei genau dort, wo sie sein soll! Eben im Verzeichnis des vhosts! Nach einigem Suchen im Netz bin ich auf Anleitungen gestoßen, wo man suexec neu kompilieren soll und dort den Pfad angeben soll. Es finden sich aber auch Anleitungen, die von der Datei "/etc/apache2/suexec/wwwdata" sprechen und dass man dort für suexec das "DocumentRoot" angeben kann. Ich finde es n ur reichlich komisch, dass bei suexec der Pfad fest einkompiliert werden muss und nicht über Kondigdateien mitgegeben werden kann. Die Idee, jeden vhost mit einem eigenen Nutzer/ Gruppe laufen zu lassen, würde ich gern umsetzen. Soweit ich das verstanden habe, bezieht sich der Benutzerwechsel nur auf die auszuführenden Skripte und haben nichts damit zu tun, wo die Dateien des Programms wie kivitendo oder eines CMS liegen. Also, in dem Moment, wo der Apache ein cgi-Skript ausführen soll, wechselt das Skript vom Apachen auf den Eigentümer des Skriptes. Dieser hat dann nur seine eigenen Rechte und nicht die des Apachen.
Deshalb folgende Fragen:
1. Muss ich suexec mit dem neuen Pfad kompilieren? Glaube ich nicht. (Ich weiß allerdings grad nicht, ob bei mir suexec aktiv ist).
Die Documentroot, auf der ich rummansche, gehört mir übrigens selbst, damit ich als Benutzer helga:helga da drin rummosten kann. (Meistens Testinstallationen von CMS). (Damit das hinterher läuft, bin ich selbst in der Gruppe www. Dann kann der Apache auch alles ausführen, was da drin liegt. Meine Documentroot lautet übrigens auf: /srv/webentwicklung/meinevhosts. Da drunter läuft ein bunter Strauß von PHP- und Perlkrams).
2. Kann man mit Yast2 http-server verschiedene vhosts mit unterschiedlichen Nutzern (x- vhosts mit x- verschiedenen Nutzern/ Gruppen) konfigurieren? Mach's zu Fuss. Das Meiste ändere ich eh so. Aber ich möchte eben so eventuelle Tipp- und Verständnisfehler ausschließen (und mich auf die Entwickler verlassen ). Deshalb nehme ich die Yast2 generierten Dateien immer als Vorlage....
3. Gibt es ggf. Alternativen zu suexec, die mit openSuSE/ Yast2 laufen/ konfigurierbar und sicher sind? Die Alternative heißt fastcgi, meine. (Ich habe aber nicht mehr parat, warum ich mich dagegen entschieden hatte). Na das "fastcgi"- Modul ist für "Kivitendo" eh obligatorisch, aber kann man dort auch den Nutzer ändern?
Helga
Also lieber noch mal: Mein Problem ist eigentlich nicht "Suexec2",
sondern dass Postgres merkt, dass der Nutzer "wwwrun" sich mit dem
Nutzernamen "kivitendo" an der DB anmelden will und das nat. zwei
unterschiedliche Nutzer sind. Deshalb würde ich gern nur (!) den vhost
"Kivitendo" mit dem Nutzer "kivitendo" statt "wwwrun" ausführen. Es geht
dabei nicht um die Verzeichnisberechtigungen des Scriptverzeichnisses!
Hier mal Vorschsthalber meine vhosts- Config:
---------------/etc/apache2/vhosts/kivitendo-test.nas.conf------------------------
--------------/var/lib/pgsql/data/pg_hba.conf----------------------------------
# kivitendo unsecure # # # local is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: host all all ::1/128 trust host all all 127.0.0.1 255.255.255.255 trust ---------------/var/lib/pgsql/data/pg_hba.conf----------------------------------
-- Mit freundlichen Grüßen
Sebastian Reinhardt
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org