Perl einrichten

ups, vielleicht hätte ich den Thread zu Ende lesen sollen.
Gruß,
 
@badHorsie

also mal abgesehen davon, dass Dein Skript nicht dem CGI Standard entspricht, und deswege vermutich nicht funktionieren wird ist es ja schon fast ein bisschen fies, dem offensichtlichen Newbie den vi bzw. vim(übrigens mein Lieblingseditor) zu empfehlen :D
Außerdem ist es unötig "zuerst den Webserver stoppen" - wozu ?
Ich mach halt immer einen graceful restart.

der "httpd.conf" müssen die Zeilen "LoadModule perl_module libexec..." und die Zeile "AddModule mod_perl.c" auskommentiert, also die Raute davor entfernt werden.
auch das ist nicht erforderlich.

@moritz

ich empfehle Dir bei solchen Test immer zwei Terminalfenster zu öffnen (mit screen reicht eins, aber das lassen wir jetzt mal) und folgende Befehle abzusetzen:
tail -f /var/log/httpd/access_log
und
tail -f /var/log/httpd/error_log
Du kannst damit die Logfiles life mitlesen (also im laufenden Betrieb)
und bei Problemen auch (und vor allem) die Ausgabe des error_logs zu posten.
Wenn Du ernsthaft mit dem Apache arbeiten möchtest, ist das Verständnis der logfiles Gold wert.

---
[edit]
ups, da hatte ich mal eben was durcheinander gebracht
[/edit]
----
[edit 2]
Der Fehler liegt daran, dass das Skript von BadHorsie nicht CGI-konform ist (habs jetzt getestet)
Richtig muss es so heissen:
Code:
#!/usr/bin/perl

print "Content-Type: text/html\n[B]\n[/B]";
print "<html><head></head><body>Jetzt bin ich ein CGI-Skript<br /></body></html>\n";
 
Zuletzt bearbeitet:
hallo zusammen,

um das nochmal deutlich zu machen.

Um CGI-Skripte zu verwenden ist erstmal keine Änderung an der httpd.conf erforderlich.
Die von mir oben beschriebene Änderung ist nur dann notwendig, wenn man mit SSI arbeiten möchte (und das möchte man wahrscheinlich irgendwann).

Um CGI-s zu verwenden müssen im Wesentlichen zwei Voraussetzungen erfüllt sein:
1. Die Skripte oder Programme müssen eine Ausgabe erzeugen, die dem CGI Standard entspricht.
2. Die Skripte bzw. Programme müssen im richtigen Verzeichnis liegen.
 
Vielen Dank maceis, jetzt funktioniert es einwandfrei!
Noch eine letzte Frage zum Schluss:
Wie kann ich den CGI-Skripte Ordner ändern, so dass er zusammen mit meiner Homepage im Web-Sites Ordner und nicht irgendwo anders auf der Festplatte liegt?

moritz
 
moritz-t schrieb:
Vielen Dank maceis, jetzt funktioniert es einwandfrei!
Noch eine letzte Frage zum Schluss:
Wie kann ich den CGI-Skripte Ordner ändern, so dass er zusammen mit meiner Homepage im Web-Sites Ordner und nicht irgendwo anders auf der Festplatte liegt?

moritz
Dazu musst Du nur folgende Datei editieren:
/etc/httpd/users/<dein benutzername>.conf

Hier fügst Du irgendwo im Bereich zwischen den Directory-Tags folgende Zeile ein:
ScriptAlias /cgi-bin/ "/Users/<dein benutzername>/cgi/"

Mit http://localhost/cgi-bin/... solltest Du dann die Skripte etc. aufrufen können, die im Ordner cgi in deinem Sites-Ordner liegen.
Anstelle von "cgi-bin" und "cgi" kannst Du auch andere Bezeichnungen wählen.
 
Super, alles funktioniert!
Nochmas vielen Dank für eure Mühe, ihr habt mir echt gut geholfen!

moritz
 
moritz-t schrieb:
@BadHorsie:
habe alles so gemacht, wie du es beschrieben hast, wenn ich aber die Perl Datei aufrufe, bekomme ich folgende Fehlermeldung:


In der httpd.conf habe ich die beiden Zeilen auskommentiert.

Vielen Dank für eure Hilfe,
moritz

Die Fehlermeldung bekommt man wenn das Skript nicht geparst wird, also zB. Tippfehler drin sind.

@maceis:

Mir ist schleierhaft warum die Skripte geparst werden sollten wenn man in der httpd.conf die perl Module explizit nicht läd. Genauso schleierhaft ist mir die Sache mit den zwei Zeilenumbrüchen nach der Angabe des Content-Types. Bei meinem Test hat es einwandfrei mit nur einem "\n" funktioniert. Genausogut sollte ein "\r\n" oder gar "0x_wasauchimmer" funktionieren. Moritz hatte warscheinlich einen Tippfehler im Skript.

BadHorsie
 
Den vi hatte ich nur erwähnt weil er auf jedem *NIX System der Standard-Editor ist, und man sich wenigstens den einen reinziehen sollte. Wenn man anfängt richtig zu programmieren wird man sich eh was anständiges (Emacs, Nirvana, BBEdit, Quanta etc.) besorgen.

BadHorsie
 
Zurück
Oben Unten