PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "VirtualHost + CGI" Problem



Sfeni
15.04.02, 11:29
Auszug aus der Apache Config:

<Directory "/www/homepages/domain.de">

<Files ~ "^\.ht">
deny from all
</Files>

AllowOverride All
AllowOverride Indexes AuthConfig Limit FileInfo
Options -FollowSymLinks -SymLinksIfOwnerMatch Includes
</Directory>

<Directory "/www/homepages/domain.de/html/cgi-bin">
AllowOverride None
Options +ExecCGI -Includes
SetHandler cgi-script
</Directory>

<VirtualHost 000.000.000.000>
ServerName domain.de
ServerAlias www.domain.de ftp.domain.de
DocumentRoot /www/homepages/domain.de/html
User u5
Group ftp
ScriptAlias /cgi-bin/ /www/homepages/domain.de/html/cgi-bin/
php_admin_value open_basedir /www/homepages/domain.de
php_admin_value upload_tmp_dir /www/homepages/domain.de/phptmp
CustomLog /www/homepages/domain.de/logs/access.log common
ErrorLog /www/homepages/domain.de/logs/error.log
</VirtualHost>


Problem:
Ich kann in dem Verzeichnis "/www/homepages/domain.de/html/cgi-bin/" nur CGIs ausführen wenn ich "User u5" und "Group ftp" weglassen, ansonsten, wenn ich es als u5:ftp ausführen will, dann kommt ein Error 500.

Was muss ich an der Config ändern?

tassadar
15.04.02, 12:00
Hallo,

soweit ich weiss kann der server cgi-skripte nur als benutzer wwwrun ausführen. Ändere mal testweise den ein trag "User U5" auf "User wwwrun" vielleicht bringt das was.

Florian

Sfeni
15.04.02, 13:47
Da habe ich mich wahrscheinlich nicht richtig ausgedrückt.
Das mit dem Beutzer wwwrun stimmt.

Aber genau das ist mein Problem, wie kann ich das machen, dass ich CGIs auch unter anderen benutzern ausführen kann???

tassadar
15.04.02, 22:21
Hast du schon mal versucht deinen benutzer, der die Skripte ausführen soll, in die gleiche gruppe zu tun wie den wwwrun? Da könnte ich mir vorstellen das, dass funzt.

Mister Spring
16.04.02, 09:49
Moin,

Ich hab das bei mir auch schnell versucht, das geht so nicht.

Habe wwwrun in die BenutzerGruppe hinzugefügt, die datein im VirtualHost Mueller haben auch Mueller als Besitzer. Es kommt immer noch Error 500

Hat jemand eine Lösung?

Gruss Spring

tassadar
16.04.02, 13:40
Ich hab mich mal mit unserem Admin darüver unterhalten. So wie du das in deiner Config geschrieben hast, stimmt das auch. Wir haben allerdings als User wwwrun und als group nogroup angegeben. Das funktioniert einwandfrei.Ansonsten gint es in der httpd.conf auch noch einen eintrag
User wwwrun und Group nogroup. Das legt fest mit welchem benutzer der apache gestartet wird. So weit ich weiss ist es so das cgi-skripte dem webserver gehören müssen, also in unserem fall wwwrun. versuch doch einfach mal den user für den apache deamon zu ändern. Vielleicht klappt das ja.

Newbie2001
16.04.02, 14:29
mal ne ganz dämliche Frage sind die Skripts denn überhaupt ausführbar ?

TNT
16.04.02, 17:08
Hi, da gibts m.e. ein Tool, das sich SUEXEC (ist das richtig??) nennt. Mit dem müsstest du Scripte auch unter anderen Usern laufen lassen können.

Update:

ha, lag ich doch richtig:D

Folgendes findest du unter : http://httpd.apache.org/docs/suexec.html :

The suEXEC feature -- introduced in Apache 1.2 -- provides Apache users the ability to run CGI and SSI programs under user IDs different from the user ID of the calling web-server. Normally, when a CGI or SSI program executes, it runs as the same user who is running the web server.

FF (viel Vergnügen)

einbaun musst du es aber selber :cool:

Grüsse

Thomas

Sfeni
16.04.02, 19:47
Danke.

Das mit dem suexec habe ich noch nicht getestet, werde ich aber noch machen.

Das mit den Usern und Groups funktioniert nei mir auch nicht.
Der Server läuft als wwwrun, aber die virtualhosts sollen mit einem anderen user laufen, wegen den dateiberechtigungen. Der Sicherheit wegen!

Ich werde mich dann wieder hier melden, wenn ich das suexec getestet habe.
Hat das schon jemand getestet und konfiguriert???

Mister Spring
17.04.02, 07:59
Moin

Ich hatte das selbe Problem, habe es jetzt folgendermassen gelöst:

Der Apache Daemon ist jetzt in den Gruppen users und nogroup, httpd.conf auf wwwrun/users geändert. Jetzt hat jeder Virtual Host seinen eigenen Benutzer welchen ich auch für FTP usw. benutze. Das CGI Verzeichnis habe ich für Uploads auf CHMOD 755 geändert.

Gruss Spring