PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : apache - wo cgi "aktivieren" ?



tHaHooL
24.08.03, 20:03
Kann mir jemand sagen wie ich bei einer domain cgi aktiviere? Und wie muss das cgi-Verzeichniss heissen (cgi-bin?) oder ist das egal?
Ich hab bei mir Webmin installiert und es darüber -angeblich- aktiviert. Leider bekomme ich immer noch error500...

Hier mal ein Auszug aus dem configfile:

<VirtualHost 111.222.333.444>
DocumentRoot /home/www/www.name_der_domain.de/html
ServerName www.name_der_domain.de
Options +ExecCGI
</VirtualHost>

Am liebsten wärs mir wenn die cgi-skripte in jedem Ordner unterhalb von /home/www/www.name_der_domain.de laufen würden.

Cyberdesigns
24.08.03, 21:14
also ich mach meine vhost einträge immer so:




<VirtualHost *>
DocumentRoot /home/www/cyberfile/html
ServerName cyberfile.shannondream.com
ServerAdmin cyberfile@shannondream.com
ScriptAlias /cgi-bin/ /home/www/cyberfile/html/cgi-bin/
CustomLog /home/www/cyberfile/logs/cyberfile.shannondream.com-access_log common
CustomLog /home/www/cyberfile/logs/cyberfile.shannondream.com-referer_log referer
CustomLog /home/www/cyberfile/logs/cyberfile.shannondream.com-agent_log agent
ErrorLog /home/www/cyberfile/logs/cyberfile.shannondream.com-error_log
IndexOptions FancyIndexing ScanHTMLTitles FoldersFirst
DirectoryIndex index.html index.htm index.php
</VirtualHost>



die zeile für cgi ist hier



ScriptAlias /cgi-bin/ /home/www/cyberfile/html/cgi-bin/


das dir muss es natürlich auch geben :)

tHaHooL
24.08.03, 22:03
Danke für Deine Antwort!
Aber der Browser mach bei aufruf eines CGI's nur das Downloadfenster auf und will das Skript downloaden.

Was genau hat es mit diesem Alias auf sich?
warum muss mann da z. B. "cgi-bin" angeben und anschließend dann doch den genauen Pfad?
Oder bedeutet das nur, dass ich z. B. in
/home/fuer_alle_user/cgi/
CGI's speichern könnte, die dann bei den URL's wo dieser Alias gesetzt ist folgendermaßen aufgerufen werden könnte:
http://www.irgend_eine_domain/cgi-bin/

:confused:

tHaHooL
24.08.03, 22:11
Ok, habs kapiert mit dem Alias. Ich hab nur ein "/" vergessen, deshalb hats erst nicht funktioniert. Jetzt kommt aber immer noch error 500:

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, admin@xxxxx.de and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Apache/1.3.26 Server at www.xxxxxx.de Port 80

In der error_log steht folgendes:

[Sun Aug.....] [error] [client 123.456.789.123] Premature end of script headers: /home/..../cgi-file.pl

Cyberdesigns
25.08.03, 00:06
das dürfte am falschen chmod vom cgi-bin dir und/oder vom file selber liegen.

die meisten cgi files und anwendungen sind da sehr heikel

chmod mal den cgi-bin ordner mit 755 user grp sollte mit dem vom hostowner übereinstimmen

das file ebenfalls mal mit 755, dann sollts eigentlich klappen ausser das cgi file benötigt einen bestimmten chmod

tHaHooL
25.08.03, 10:20
Nein, geht leider immer noch nicht :confused:
Die user grp ist auch die vom hostowner...

red_head
26.08.03, 09:43
Hey

Ich würde eher auf einen Fehler im Skript tippen.
Gib mal in der Console ./scriptname ein.
Wenn da Fehlermeldungen kommen dann stimmt am Script was nicht :D
Bei Perl Scripten muß ja folgender Header rein: #!/usr/bin/perl -T :rolleyes:


Gruß red_head105

ardesh
26.08.03, 12:05
wieso -T ? ich mach immer -W

ach.. und mach lieber
perl ./datei

red_head
26.08.03, 14:38
:) Aus der Schule
perl ./datei ist schon besser ;)
Thx für die Verbesserung

tHaHooL
27.08.03, 11:15
im Header steht
#!/usr/bin/suidperl -T

Es handelt sich übrigens um "openwebmail", ist ein Webinterface für Mails (wers nicht kennen sollte). http://openwebmail.org

Vielleicht hilft das ja weiter...

Bei Eingabe von
# perl ./openwebmail.pl
kommt das hier:
"Too late for "-T" option at ./openwebmail.pl line 1."