DocumentRoot geändert, Zugriff auf cgi-bin ?!

Irgendwelche Probleme mit XAMPP für Linux? Dann ist hier genau der richtige Ort um nachzufragen.

DocumentRoot geändert, Zugriff auf cgi-bin ?!

Postby format » 01. December 2004 12:12

Hallo Xampp Freunde,


bei mir läuft der aktuelle Xampp unter Suse 9.1 auf einem ded. Server äusserst anständig.

Jetzt spiele ich gerade ein bisschen mit 'mailman' auf der Kiste rum. Für Mailman benötige ich das "cgi-bin" Verzeichnis des jeweiligen virtuellen Hosts.

Da ich mehrere Domains für unterschiedliche Benutzer auf dem Server habe, änderte ich seinerzeit auch das "DocumentRoot" für die virtuellen Hosts.
Beispiel: Domain "www.haumichblau.de" hat als DocRoot "/home/user/apache/" statt den Xampp Standard "/op/lampp/htdocs"

Mailman soll jetzt für jede Domain separat laufen. Dazu ist es nötig, die Dateien aus ~/mailman/cgi-bin in jeden cgi Ordner der jeweiligen Domains zu kopieren.

Ich habe keine Ahnung, wie ich cgi Scripte für meine Domains ausführen bzw. testen kann und wo sie bei meiner Konfiguration überhaupt hin müssen.
Bitte sagt mir, an welcher Stelle ich was konfigurieren muss, damit der Server weiss, "aha, cgi-Script ausführen für 'haumichblau.de" :-)


Danke & viele Grüße,
olli
User avatar
format
 
Posts: 45
Joined: 11. September 2004 18:52
Location: Düsseldorf

Postby deepsurfer » 01. December 2004 13:29

folgendes...

LAMPP hat auch einen PERLparser eingebaut und läuft auf
/opt/lampp/cgi-bin
Wenn Du nun das mailmanscript in dieses Verzeichniss kopierst und die
Webaufrufe (HTMLcode) den richtigen Pfad (also /opt/lampp/cgi-bin/mailman.cgi) einträgst, so sollte das Script wieder laufen.

Im normalfall brauchst du nur für jede seperate Domain im HTMLcode den Pfad von mailman.cgi eintragen, denn die Übergabe der Sendeadresse (empfängeradresse für Kontaktformular) wird im htmlcode eingetragen. Damit brauchts du nicht für jede Domain ein einzelnes mailmanscript kopieren.

Wenn Du aber für jeden einzelnen Domainnamen eigene
Scripte verwalten willst, so musst du in der /opt/lampp/etc/httpd.conf sogenanannte VirtualHosts einbauen (hast du ja) und dort auch den ScriptAlias für das cgi-bin Verzeichniss hinzufügen.
Dann geht es auch mit /opt/lampp/htdocs/domainname/cgi-bin oder wie immer du es eingerichtet hast.

chirio
Deep
Last edited by deepsurfer on 01. December 2004 13:39, edited 4 times in total.
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Wiedmann » 01. December 2004 13:33

Da ich mehrere Domains für unterschiedliche Benutzer auf dem Server habe, änderte ich seinerzeit auch das "DocumentRoot" für die virtuellen Hosts.

Du änderst ja dein "DocumentRoot" bestimmt nicht laufend, sondern du hast für jeden VHost ein separates "DocumentRoot" definiert?

Ich habe keine Ahnung, wie ich cgi Scripte für meine Domains ausführen bzw. testen kann und wo sie bei meiner Konfiguration überhaupt hin müssen.

In der "httpd.conf" wird für den Hauptserver ein ScriptAlias für "/cgi-bin" konfigiert. Analog wie dieses, schreibst du das einfach nochmal in jeden VHost rein. Halt mit entsprechend angepasstem Pfad für das cgi - Verzeichnis.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby format » 01. December 2004 14:17

Hallo Wiedmann,


vielen Dank für die rasche Antwort.

Nur um sicher zu gehen; Könntest du mir bitte ein entsprechendes Beispiel nennen.


Danke & Gruß, olli
User avatar
format
 
Posts: 45
Joined: 11. September 2004 18:52
Location: Düsseldorf

Postby format » 01. December 2004 14:29

Oh, sorry Deepsurfer. Deine Antwort habe ich gar nicht gesehen.

Euren Ausführungen nach müsste ich also in jeden Eintrag eines virtuellen Hostes folgende Ergänzung machen:

Code: Select all
 
ScriptAlias /cgi-bin/ "/home/user/apache/cgi-bin/"


Richtig?


Danke & Grüße, olli
User avatar
format
 
Posts: 45
Joined: 11. September 2004 18:52
Location: Düsseldorf

Postby format » 01. December 2004 14:35

Eine Frage ergibt sich gerade noch ...

Ein User hat mehrere Domains. In seinem Verzeichnis 'apache', welches das öffentliche www Verzeichnis darstellt, gibt es für jede Domain ein Untervz., Bsp.:
/home/user/apache/dom1
/home/user/apache/dom2
/home/user/apache/dom3

Wäre es sinnvoller für jede Domain ein separates cgi-bin Verzeichnis in den Ordner der Domain. also /home/user/apache/dom1/cgi-bin/ zu packen, oder würde es auch mit _einem_ cgi-bin Vz. für den Nutzer reichen, quasi /home/user/apache/cgi-bin/

Nochmals Danke :o)
User avatar
format
 
Posts: 45
Joined: 11. September 2004 18:52
Location: Düsseldorf

Postby Wiedmann » 01. December 2004 14:37

Genau.

Plus einem entsprechendem "<Directory>" - Block. Der kommt ja beim Hauptserver auch gleich nach "ScriptAlias"
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby deepsurfer » 01. December 2004 15:04

Du kannst aber auch via ScriptAlias jedem User/Domain ein eignes CGI-BIN Verzeichniss geben, denn ich gehe jetzt mal von aus das jeder User von dir via FTP oder UserLogin in sein htdocs Verzeichniss rein darf.

Wenn du nun global ein Verzeichniss für CGI anbietest, so sieht jeder andere Benutzer die scriptes des anderen, und aus aus Erfahrung geht soetwas nie gut. :twisted:


chirio
Deep
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby format » 01. December 2004 15:45

Okay, danke euch. Habs hingebogen.

Mailman läuft soweit :o)


Grüße, olli
User avatar
format
 
Posts: 45
Joined: 11. September 2004 18:52
Location: Düsseldorf


Return to XAMPP für Linux

Who is online

Users browsing this forum: No registered users and 4 guests