Kann ich bei XAMPP das cgi-bin Verzeichnis....

Alles, was Perl betrifft, kann hier besprochen werden.

Kann ich bei XAMPP das cgi-bin Verzeichnis....

Postby BennyB » 09. June 2004 10:07

Hallo Freunde,

kann ich bei bei XAMPP das cgi-bin verzeichnis, was ja momentan direkt im /lampp Verzeichnis liegt auch woanders hinlegen, z.b. ins htdocs Verzeichnis, so dass es immer noch funktioniert?

Hintergrund meiner Frage ist, das ich eine Software laufen lassen möchte, die in der Installation beschreibt, wie man ein cgi-bin Verzeichnis im hauptverzeichnis anlegen sollte (in diesem fall wäre es ja das htdocs verzeichnis).

ich weiss jetzt nicht, ob das programm auch laufen würde wenn ich das cgi-bin verzeichnis nutzen würde, das xampp vorgibt. dazu kenne ich mich zu wenig in der ganzen materie aus.

kann mir dazu jemand helfen?

gruß und dank im voraus
denis
BennyB
 
Posts: 36
Joined: 07. June 2004 08:08

Postby micha78347 » 09. June 2004 13:42

mir falen da jetzt nur folgende dateien ein (konfiguration!!)

xampp\apache\conf\httpd.conf:
ScriptAlias /cgi-bin/ "/xampp/cgi-bin/"
<Directory "/xampp/cgi-bin">
AllowOverride None
Options Includes ExecCGI
AddHandler server-parsed .shtml
AddHandler cgi-script .cgi .pl
Order allow,deny
Allow from all
</Directory>

xampp\apache\conf\ssl.conf:
<Directory "/xampp/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
micha78347
 
Posts: 57
Joined: 07. June 2004 20:56

Postby BennyB » 18. June 2004 23:32

Hallo Freunde,

ich hab jetzt mal folgendes in die httpd.conf Datei eingefügt:

ScriptAlias /cgi-bin/ "/opt/lampp/htdocs/mpt/cgi-bin/"
<Directory "/opt/lampp/htdocs/mpt/cgi-bin">
AllowOverride None
Options None
AddHandler server-parsed .shtml (testweise auch mit einem # davor, was nix brachte)
AddHandler cgi-script .cgi .pl (testweise auch mit einem # davor, was nix brachte)
Order allow, deny
Allow from all
</Directory>


(/mpt ist das rootverzeichnis meines vhosts und das cgi-bin Verzeichnis soll, lt. Installationsanleitung der Software, im root Verzeichnis liegen)

Wenn ich jetzt im Browser www.meineseite.de/cgi-bin/test.cgi eingebe (test.cgi ist ein script, was prüfen soll, ob alle Vorraussetzungen für die Software gegeben sind) erhalte ich einen Internal Server Error

Weiß jemand was das sein könnte oder was ich falsch gemacht habe? Ich wäre Euch sehr dankbar wenn Ihr mir helfen könntet.

Gruß
BennyB[/b]
BennyB
 
Posts: 36
Joined: 07. June 2004 08:08

Postby BennyB » 19. June 2004 00:15

Hallo Freunde, ich bin jetzt schon wieder einen Schritt weiter, nur tritt jetzt ein sehr merkwürdiges Problem auf, was ich mir als Windows Depp und Linux Laie:-) nicht erklären kann.

Als ich diese test.cgi Datei aufgerufen habe (wie im vorherigen post geschrieben) kam immer ein Internal Server Error. Also hab ich mal spasseshalber die Zeile

use CGI::Carp qw(fatalsToBrowser);

in die test.cgi Datei eingefügt, weil ich mir dachte, dass er irgendeine Fehlermeldung auspucken wird. Aber Pustekuchen, plötzlich gehts!!! Ich den Gegentest gemacht und die Zeile aus der Datei wieder entfernt (logisch wäre es ja, wenn es jetzt wieder nicht gehen würde). Uns siehe da, es funktioniert plötzlich auch ohne diese Zeile.

Also hab ich weitergestestet. Es gibt eine install.cgi die ich ausführen wollte. Und ratet mal, was passiert ist: Natürlich kam wieder der Internal Server Error. Ich also wieder rein mit der Zeile use CGI::Carp qw(fatalsToBrowser); und schwupps, es funktioniert! Zeile wieder raus und es funktioniert immer noch!

Was könnte das sein? Ich hab nämlich keinen Bock in alle meine cgi Dateien diese Zeile einmal einzufügen damit die ganze Geschichte läuft.

Was mache ich falsch?

Gruß und Dank
BennyB
BennyB
 
Posts: 36
Joined: 07. June 2004 08:08

Postby daxim » 19. June 2004 22:33

BennyB wrote:ich hab jetzt mal folgendes in die httpd.conf Datei eingefügt
Hinzugefügt, oder den bestehendenden ScriptAlias /cgi-bin/ ... geändert?

Schaue doch mal ins error_log, was da zum Internal Server Error steht und zeige uns das.
daxim
 
Posts: 53
Joined: 04. June 2004 20:45

Postby BennyB » 20. June 2004 12:56

Also meine aktuelle httpd.conf Datei sieht so aus:

ScriptAlias /cgi-bin/ "/opt/lampp/htdocs/mpt/cgi-bin/"

<Directory "/opt/lampp/htdocs/mpt/cgi-bin">
AllowOverride None
Options Includes EcexCGI
Order allow, deny
Allow from all
</Directory>

Und das error_log sagt folgendes:

[Sun Jun 20 12:41:10 2004] [error] [client 127.0.0.1] Premature end of script headers: regform.pl, referer: http://www.meineseite.de/cgi-bin/main.pl
[Sun Jun 20 12:41:10 2004] [error] [client 127.0.0.1] (2) No such file or directory: exec of '/opt/lampp/htdocs/mpt/cgi-bin/regform.pl' failed, referer: http://www.meineseite.de/cgi-bin/main.pl
[Sun Jun 20 12:42:22 2004] [error] [client 127.0.0.1] File does not exist: /opt/lampp/htdocs/mpt/editor/editor.js

Mir sag das alles, leider Gottes, nicht viel. Die regform.pl Datei liegt in diesem Verzeichnis. Was bedeutet denn "exec of..." in der zweiten Zeile des error_logs?

Wie gesagt, wenn ich den einzelnen .pl Dateien die Zeile

use CGI::Carp qw(fatalsToBrowser); hinzufüge, dann klappts wunderbar. Eigentlich dachte ich ja, das diese Zeile dafür gedacht ist, eine Fehlermeldung auszuspucken, wenn nicht klappt. Aber warum klappt es mit dieser Zeile dann doch? Und vor allem, warum klappt es dann immernoch, wenn ich diese Zeile wieder aus der .pl Datei herausnehme?

Gruß
BennyB[/i]
BennyB
 
Posts: 36
Joined: 07. June 2004 08:08

Postby Wiedmann » 20. June 2004 13:35

[Sun Jun 20 12:42:22 2004] [error] [client 127.0.0.1] File does not exist: /opt/lampp/htdocs/mpt/editor/editor.js


Gibt es diese Datei:
/opt/lampp/htdocs/mpt/editor/editor.js
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby BennyB » 20. June 2004 14:30

Nein, diese Datei und den Ordner gibt es nicht. Aber das sollte wohl auch kein größeres Problem sein, weil

1. gibt es diese Datei auch nicht auf meinem richtigen Server im Internet, auf dem diese Software läuft

2. funktionieren ja die Dateien nach dem ich use CGI::usw.... in die pl Datei eingefügt habe. Und auch dann, wenn ich es wieder rausnehme.

Jede Datei muss nur einmal mit dieser use CGI::usw.. Zeile ausgeführt werden und dann klappts.....aber warum?????

Findet Ihr nicht, dass das ein komischer Fehler ist?
BennyB
 
Posts: 36
Joined: 07. June 2004 08:08

Postby daxim » 20. June 2004 16:12

BennyB, du hast meine Frage nicht beantwortet. Ich wollte wissen, ob du die Direktiven ScriptAlias und den <Directory>-Block neu hinzugefügt hast, d.h. parallel zu den existierenden originalen Direktiven, oder ob du die originalen Direktiven abgeändert hast.

Die Option EcexCGI gibt es nicht. Es muss ExecCGI heißen.
Hintergrund meiner Frage ist, das ich eine Software laufen lassen möchte, die in der Installation beschreibt, wie man ein cgi-bin Verzeichnis im hauptverzeichnis anlegen sollte (in diesem fall wäre es ja das htdocs verzeichnis).
Bist du dir da ganz sicher? Vielleicht ist ja auch das Stammverzeichnis des URI-Baums gemeint:
Code: Select all
http://examle.com/         : Haupt
http://examle.com/cgi-bin/ : cgi-bin liegt "im Hauptverzeichnis"
Apache wird standardmäßig ja so schon ausgeliefert, und eigentlich werden alle CGI-Skripte normalerweise mit dieser Annahme geschrieben.

Die erste Fehlermeldung deutet daraufhin, dass das CGI-Programm nicht die benötigten HTTP-Header erzeugt. Höchstwahrscheinlich, so vermute ich, ist die Meldung durch irgendeinen Umstand, den ich ja schlecht erraten kann, bogus.
daxim
 
Posts: 53
Joined: 04. June 2004 20:45


Return to Perl

Who is online

Users browsing this forum: No registered users and 3 guests