Hallo Silvio, Am Montag August 18 2003 15:17 schrieb Silvio Siefke:
wieder einmal ich. Jetzt habe ich nur noch eine Frage. Wie bring ich dem Apache CGI und PL bei.
Wie ist denn Dein System eingerichtet? Mein (SuSE-) Linux hat eine Apacheninstallation von den CDs, zusätzlich, da ich mit Perl arbeiten wollte, natürlich den Perl-Interpreter drinne und damit Apache was damit anfangen kann, mod_perl. mod_php auch, aber das lasse ich mal weg. Mit der Möglichkeit, über die CGI-Schnittstelle zu kommunizieren, ist Apache bereits ausgestattet. Darum mußte ich mich nicht kümmern. (Leider neige ich gerne mal zur Bequemlichkeit).
Laut Apache Buch geht das über die Script Alias,
Yup, das Stichwort ist wichtig. Damit ich meine Webspielereien betreiben kann, habe ich mir Virtuelle Hosts eingerichtet. (Du kennst die httpd.conf?). Damit jeder Host sein eigenes cgi-Verzeichnis hat, mußte ich das Skriptalias anlegen. Dann sucht der Apache nämlich an der richtigen Ecke.
Wenn man dann die Internetseite http://192.168.0.43/default.html aufruft
Dort klickt man normalerweise auf den Links, Systeminformation. Diese ist verlink mit /cgi-bin/informationen.cgi.
Dem kann ich nicht ganz folgen. Der Apache liefert auf Anfrage des Browsers eine Webseite. In dieser Webseite kann ein Link auf ein Programm stecken. Ruft der Benutzer das auf, nimmt der Apache diesen Request und schaut im Skriptverzeichnis nach. Im Skript steht drin, welcher Interpreter (oder auch Programm) aufgerufen werden muß. Diesen Aufruf nimmt die Shell, stößt den Interpreter an, der das Skript abarbeitet und die Ergebnisse an den Apachen weiterreicht. Dieser übergibt sie wiederum dem Browser.
Dieses Script sollte normalerweise die Perl Variablen ausgeben und ein paar Systeminfos. Nur es kommt immer HTTP 404 Seite wurde nicht gefunden.
Du verweist auf eine Stelle, die er nicht findet.
Error Log Mon Aug 18 17:11:42 2003] [error] [client 192.168.0.20] script not found or unable to stat: /usr/local/httpd/cgi-bin/information.cgi
Entweder weiß der Apache nicht, was er mit der Endung cgi anfangen soll (guck mal in die httpd.conf) oder Dein Skriptaufruf funktioniert nicht.
Hat das was mit Headern zu tun. Muss ich da mod-perl einsetzen oder geht es auch so.
Gute Frage. Es sollte auch ohne gehen, ich habe es aber nicht ausprobiert. mod_perl erlaubt das schnellere Bearbeiten solcher Skripten, nagle mich bitte nicht fest, das müßte ich nachlesen.
Weil manche Scripts in Perl finde ich besser als PHP.
Ich mag auch Perl lieber, PHP kann man aber schön in den HTML-Code mitreinschreiben.
Würde mich über Infos freuen.
Wir bräuchten Infos zum System, Deiner Apachen-Einrichtung, Auszüge aus der httpd.conf und vielleicht Beispielcode. Helga -- ## Content Developer OpenOffice.org: lang/DE ## Office-Suite für Linux, Mac, Windows -- http://de.openoffice.org/ ## Werkstatt & Information zu OpenSource -- http://www.eschkitai.de/ ## Offene Jobs -- http://www.eschkitai.de/openoffice/jobs.html