Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

apache2 und cgi-bin

Alles rund um das Internet, Internet-Anwendungen (E-Mail, Surfen, Cloud usw.) und das Einrichten von Netzwerken einschl. VPN unter Linux

Moderator: Moderatoren

Antworten
defektes_neuteil
Newbie
Newbie
Beiträge: 3
Registriert: 14. Sep 2005, 14:04

apache2 und cgi-bin

Beitrag von defektes_neuteil »

Hallo!
Ich stehe vor dem Problem, dass ich auf einem Webserver nicht nur ein cgi-bin Verzeichnis im Dokument-Root des Servers benötige, sondern auch noch in einzelnen Verzeichnissen gerne eines zur Verfügung hätte.

Also nicht nur www.name.de/cgi-bin/ sondern auch www.name.de/verzeichnis/cgi-bin

So weit so einfach könnte man denken, aber das scheint es nicht zu sein.

In der httpd.conf steht in den Einträgen des entsprechenden Virtual
Host in der Zeile ScriptAlias standardmäßig:

> /cgi-bin/ /home/x/domainname/public_html/cgi-bin/

Ergänze ich das ganze um einen weiteren Eintrag in Form von:

> /cgi-bin/ /home/x/domainname/public_html/cgi-bin/ /home/x/domainname/public_html/verzeichnisname/cgi-bin/

oder

> /cgi-bin/ /home/x/domainname/public_html/cgi-bin/ /home/x/domainname/public_html/*/cgi-bin/

meckert er beim Aufruf von /etc/init.d/apache configtest einen Syntax error an und fügt ergänzend hinzu: ScriptAlias takes two arguments, a fakename and a realname"

Deshalb meine Frage:
Wie kann ich dem Apache beibringen, das er neben dem eigentlichen cgi-bin im Root, auch in einem anderen Verzeichnis ebenfalls ein cgi-binVerzeichnis akzeptiert und die dort abgelegten Scripte schlußendlich auch ausführt?

System:
Strato Root-Server auf Suse9.x mit Apache2

Danke im Voraus,

epsdps
admine
Administrator
Administrator
Beiträge: 8939
Registriert: 15. Feb 2004, 21:13

Beitrag von admine »

Willst du mehrere solcher Aliase anlegen (mehrere Script-Verzeichnisse), müssen sie jeweils andere Aliasnamen tragen.
Grüße
-------------------------
..:: Deutsche Mugge ::..
-------------------------
defektes_neuteil
Newbie
Newbie
Beiträge: 3
Registriert: 14. Sep 2005, 14:04

Beitrag von defektes_neuteil »

admine hat geschrieben:Willst du mehrere solcher Aliase anlegen (mehrere Script-Verzeichnisse), müssen sie jeweils andere Aliasnamen tragen.
Ja, dass habe ich vor. Auf dem damaligen Server war das einfach so möglich. Wenn ich jetzt alles umschreiben müsstewäre das ziemlich nervig.

Ich verstehe allerdings nicht wie du das meinst mit den anderen Aliasnamen meinst.

Vielleicht kannst du mir besser verdeutlichen was du meinst, wenn du den entsprechenden Teil der httpd.conf siehst:
#VHOST medien.de
<VirtualHost *:80>
php_admin_value open_basedir /home/m/medien.de/public_html/:/usr/local/lib/php:/tmp
DocumentRoot /home/m/medien.de/public_html/
ServerName www.medien.de
IndexOptions
DirectoryIndex index.htm index.html index.shtml start.htm start.html start.shtml index.php index.php3
ServerAlias medien.de medien.h12345.serverkompetenz.net *.medien.de
CustomLog "|/usr/local/visas/cronolog/cronolog --symlink=/usr/local/visas/logfiles/medien.de/access_log [...]
SuexecUserGroup medien www
ScriptAlias /cgi-bin/ /home/m/medien.de/public_html/cgi-bin/
</VirtualHost>
#/VHOST
Hoffentlich hast du eine Idee?!

Viele Grüße und Danke im Voraus,

defektes_neuteil
admine
Administrator
Administrator
Beiträge: 8939
Registriert: 15. Feb 2004, 21:13

Beitrag von admine »

Beispiel:

Code: Alles auswählen

ScriptAlias /cgi-bin/ "/usr/local/httpd/cgi-bin/"
ScriptAlias /test/cgi-bin/ "/usr/cgi-bin/"
ScriptAlias /users/hans/cgi-bin/ "/home/hans/cgi-bin/"
Die entsprechenden URLs für die drei verschiedenen Verzeichnisse wären jetzt:
http://www.myhost.mydomain.de/cgi-bin/irgendwas.pl
http://www.myhost.mydomain.de/test/cgi-bin/irgendwas.pl
http://www.myhost.mydomain.de/users/han ... gendwas.pl

das Beispiel habe ich hier gefunden:
http://www.linux-praxis.de/linux3/apache.html
Grüße
-------------------------
..:: Deutsche Mugge ::..
-------------------------
defektes_neuteil
Newbie
Newbie
Beiträge: 3
Registriert: 14. Sep 2005, 14:04

Beitrag von defektes_neuteil »

Hallo!
Sehr geile Sache. Hat wunderbar geklapt. Manchmal liegt das Gute so nahe.
Ich hatte zwar einige Seiten zum Thema gefunden, doch ganz schlau bin ich daraus nicht geworden.

Vielen Dank für dein Bemühen!

defektes_neuteil
Benutzeravatar
klausph
Newbie
Newbie
Beiträge: 6
Registriert: 7. Nov 2004, 19:42
Wohnort: Radeberg

Beitrag von klausph »

hai
warum mit scriptalias arbeiten?

z.b. so:
<Directory "/home/*/public_html/pups">
Options +ExecCGI
</Directory>
PerlModule Apache2
AddHandler cgi-script .cgi .pl
mit der obigen lösung kan ich überall nach /pups cgi/pl's reinstopefn.

php's werden überall ausgeführt:


der addhandler ist wohl überflüssig...
aber es gibt noch eine mod_perl.conf, wie ich gerad esehe. da ist defniert. kann überflüssig sein, da die scripte NICHT in EINEM subdir liegen.
<IfModule mod_perl.c>
PerlRequire "/etc/apache2/mod_perl-startup.pl"

ScriptAlias /perl/ "/srv/www/cgi-bin/"
<Location /perl/>
# mod_perl mode
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
</Location>

ScriptAlias /cgi-perl/ "/srv/www/cgi-bin/"
<Location /cgi-perl>
# perl cgi mode
SetHandler perl-script
PerlResponseHandler ModPerl::PerlRun
PerlOptions +ParseHeaders
Options +ExecCGI
</Location>


gruß
klaus
Antworten