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

noch mal cgi-bin

v5b3t

Newbie
Ich hab in der httpd.conf nach den Einstellungen für mein cgi-Verzeichnis gesucht.

Code:
<Location /cgi-bin>
    AllowOverride None
    Options +ExecCGI -Includes
    SetHandler cgi-script
</Location>

Soweit alles gut.
ich habe vhosts mit PLESK, ich kann auch über domain.de/cgi-bin/foobar.cgi mein CGI ansprechen.
Das Verzeichnis liegt aber nicht in
httpdocs/cgi-bin
sondern auch gleicher ebene wie die httpdocs.
Wo ist das eingestellt und wie kann ich das ändern? Ich will es gerne, zumindest für eineige Domains, in httpdocs/cgi-bin haben.

URL und Verzeichnis müssen gleich sein.
 

nbkr

Guru
Du kannst die URL und das Verzeichnis auch über einen Alias gleich setzen. Alternativ könnte es so gehen:

Code:
<Location /httpdocs/cgi-bin>
    AllowOverride None
    Options +ExecCGI -Includes
    SetHandler cgi-script
</Location>
 
OP
V

v5b3t

Newbie
Genau das habe ich ausprobiert, ohne Erfolg

Auch einen ScriptAlias habe ich auf verschiedenste Art probiert.

Code:
ScriptAlias /cgi-bin/ "var/www/vhosts/domainname/httpdocs/cgi-bin/"
# noch schoener doch so:
ScriptAlias /cgi-bin/ "var/www/vhosts/*/httpdocs/cgi-bin/"

Aber er nimmt immer document-root/cgi-bin
Ist das der Standard den er nicht ueberschrieben haben will???

Fuerchterlich!
 

nbkr

Guru
Könnte sein das Plesk da drüberbügelt. Plesk ist meines Wissens nach der Nachfolger von Confixx und das hat die Configuration des Apache immer wieder überschrieben. Vielleicht liegts daran.
 
OP
V

v5b3t

Newbie
Hab ich auch gedacht, also eigentlich habe ich gedacht ich schiebe immer fleissig ins falsche Verzeichnis oder so. Das kenne ich aus der CGI Entwicklung, damit kann man sich lange selbst beschaeftigen...

Drum hab ich einfach mal Schwachsin eingetragen. Klappt! Es geht nix mehr! Also nehmen tut er es in meinen Augen schon. PLESK ueberschreibt die includes fuer die einzelnen vhosts. Dafuer muss man eine eigene datei anlegen, daraus holt er sich dann die individuellen einstellungen.

Die EIntraege bleiben auch in der Datei, also wenn dann wird sie nur im RAM "ueberschrieben".

Ich hab noch so andere confs gefunden, in unterverzeichnissen conf.d oder so (hab gerade hier leider keinen Zugriff drauf) auch irgendwas mit sys oder system. Darin habe ich aber auch nichts ueber cgi-bin gefunden. Dachte da ist evtl. die Reihenfolge so, dass die httpd.conf nach mal ueberschrieben werden kann!?

:cry:
 
OP
V

v5b3t

Newbie
Ich dachte jetzt mehr an die Reihenfolge der Dateien.

Komisch ist, selbst wenn ich alle ScriptAlias'e raus loesche sucht er in dem unteren cgi-bin.

Wo steht das denn dann noch???
 

nbkr

Guru
Code:
grep -ilr cgi /etc/apache2/

Damit solltest Du alle Dateien unter /etc/apache2 (anpassen falls nötig) die "cgi" enthalten.

Die Reihenfolge der Dateien wird über die Include Anweisungen geregelt. Zuerst geht der Apache die httpd.conf durch. Sobald er eine Include Anweisung findet geht er durch die angegeben Datei und kehrt dann zur httpd.conf zurück und macht weiter.
 
OP
V

v5b3t

Newbie
Stimmt eigentlich, manchmal liegt die gute Idee so nah!

Ich werde es heute Nachmittag gleich mal checken.

Hast mir in jedem Fall schon sehr weiter geholfen!!!

Vielen Dank!
 
OP
V

v5b3t

Newbie
Ich hab den Hund!

In /var/www/vhosts/domain.org/conf befindet sich eine httpd.include die sich auf den vhost domain.org bezieht. Darin wird der ScriptAlias erneut gesetzt und dadurch natürlich meine alten Bemühungen überschrieben...

Leider steht in der Datei gross und breit, dass man sie nicht ändern soll, weil sonst Plesk evtl. nicht mehr funktioniert...
Code:
# ATTENTION!
# DO NOT MODIFY THIS FILE OR ANY PART OF IT. THIS CAN RESULT IN IMPROPER PLESK
# FUNCTIONING OR FAILURE, CAUSE DAMAGE AND LOSS OF DATA. IF YOU REQUIRE CUSTOM
# MODIFICATIONS TO BE APPLIED TO THE CONFIGURATION, PLEASE, PERFORM THEM IN THE
# FOLLOWING FILE(S):
Es gibt eine Datei, bzw. diese soll man nach Doku anlegen, die als individuelle conf funzt.
/var/www/vhosts/domain.org/conf/vhost.conf
Leider kann ich darin den ScriptAlias lange definieren, dat hilft net.

Jetzt habe ich wider aller Warnungen den ScriptAlias direkt in der Datei geändert. Oh siehe und staune, nun greift er auf das gewünschte Verzeichnis zu.

Die Frage ist nun wie lange es dauert bis PLESK mir die Datei wieder ueberschreibt :)

Mich wundert, dass ich sogar ganz unten in die httpd.conf ein

Code:
ScriptAlias /cgi-bin/  /var/www/vhosts/*/httpdocs/cgi-bin/
schreiben kann ohne dass er darauf reagiert. Das ist ja dann nach dem include von oben beschriebenen Dateien.

Kann ich fuer solche EIntraege auch definieren, dass sie nicht ueberschrieben werden können?
 
Oben