Perl am Apache auf OS-X ?

Diskutiere mit über: Perl am Apache auf OS-X ? im Web-Programmierung Forum

  1. mcmarty

    mcmarty Thread Starter MacUser Mitglied

    Beiträge:
    43
    Zustimmungen:
    0
    Registriert seit:
    11.07.2004
    Hallo, bin grad dabei mein lokales Testenvironment auszubauen;
    Apache läuft, PHP aktiviert, und wollte genauso bei Perl vorgehen;

    hab also in der httpd.config Loadmodule / Addmodule dementsprechend aktiviert;

    dann hab ich noch, weils das für PHP auch gebraucht hat, einen Type geadded:

    AddType application/x-httpd-perl .pl

    Aber, im Browser (Safari, Firefox) wenn ich ein .pl aufrufe, kommt immer nur das Fenster mit dem Source Code.

    Kann mir wer weiterhelfen ?
     
  2. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    So auf die Schnelle ist mir nur das aufgefallen:
    Code:
    <IfModule mod_mime.c>
    ...
        # Note 1: The suffix does not have to be the same as the language 
        # keyword --- those with documents in Polish (whose net-standard 
        # language code is pl) may wish to use "AddLanguage pl .po" to 
        # avoid the ambiguity with the common suffix for perl scripts.
    ...
     
  3. TerminalX

    TerminalX MacUser Mitglied

    Beiträge:
    1.800
    Zustimmungen:
    108
    Registriert seit:
    12.01.2004
    Hallo,
    Normalerweise sind Perl Skripte die im Webbrowser ausgeführt werden CGI Skripte. Daher ist die Endung meist .cgi anstatt .pl. Nur so am Rande. :)

    Eine ganz wichtig Frage bei CGI/Perl Skripte ist immer ob sie die richtigen Rechte bzw. ob sie als ausführbare Datei gekennzeichnet sind.

    Um ein CGI/PerlSkript als ausführbare Datei zu kennzeichnen, einfach das Terminal aufmachen und dann "chmod a+x Dateipfad" eingeben.
    Den Dateipfad musst du nicht ganz ausschreiben, du kannst auch einfach die Datei in das Terminal Fenster ziehen und dann wird der Pfad automatisch reingeschrieben.

    CGI/Perl Skripte müssen auch immer in einem speziellen Ordner auf dem Server liegen.
    z.b. cgi-bin oder wie auf meinem Mac CGI-Executables
    bei mir befindet sich der Webserver - Ordner unter /Library/WebServer und da gibt es 2 Ordner: CGI-Executables & Documents


    Schritt für Schritt
    wenn ich jetzt ein Skript habe das z.b. hallo_welt.cgi heißt, dann verschiebe ich das Skript zuerst in den Ordner CGI-Executables.
    Dann öffne ich das Terminal und gebe : "chmod a+x /Library/WebServer/CGI-Executables/hallo_welt.cgi" ein.
    Dann öffne ich Safari und gebe "http://127.0.0.1/cgi-bin/hallo_welt.cgi" ein.
    127.0.0.1 ist der lokale Rechner und cgi-bin heißt soweit ich weiß immer cgi-bin egal ob der Ordner in dem sich das Skript befindet CGI-Executables oder cgi-bin oder irgendwie anders heißt.

    Hoffe ich konnte dir ein wenig helfen. :)
     
    Zuletzt bearbeitet: 01.11.2005
  4. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    Schöne Anleitung; die ist bestimmt für viele hilfreich.

    Hier noch eine kleine Ergänzung:
    cgi-bin ist ein Alias, der in der Konfiguration des Webservers eingetragen ist.
    Grundsätzlich ist der Name beliebig, cgi-bin hat sich aber als eine Art Standard herausgebildet.

    Ein wichtiger Punkt ist, dass das Skript Verzeichnis außerhalb der DocumentRoot des Webservers liegen kann und sollte, damit die Skripte nicht als Datei heruntergeladen werden können. Das könnte ein Sicherheitsrisiko sein z.B. weil in den Skripten Zugangsdaten oder andere geheime Informationen enthalten sein können.
     
  5. TerminalX

    TerminalX MacUser Mitglied

    Beiträge:
    1.800
    Zustimmungen:
    108
    Registriert seit:
    12.01.2004
    Danke für die Verbesserung. Ich hatte das schon einmal in der Konfigurationsdatei gelesen, doch hatte es vergessen. Danke :)

    Hab nochmal nachgeschaut. In der httpd.conf(Pfad: /etc/httpd/httpd.conf) Datei steht:
    ScriptAlias /cgi-bin/ "/Library/WebServer/CGI-Executables/"

    Wie du schon gesagt hast, doch könnte man prinzipiell jeden beliebigen Namen hinschreiben.
    Wenn jemand die Datei ändern möchte, legt vorher lieber ein Backup an.

    Zitat aus der httpd.conf Datei:

    Kann man auch mit .htaccess unterbinden oder?


    Vielleicht schreibe ich einmal ein Anfänger-Tutorial über Perl und Web.
     
    Zuletzt bearbeitet: 01.11.2005
  6. dms

    dms Gast

    Gibts doch schon tausendfach. Unter anderem direkt von der Apache Group: http://httpd.apache.org/docs/2.0/howto/cgi.html
     
  7. TerminalX

    TerminalX MacUser Mitglied

    Beiträge:
    1.800
    Zustimmungen:
    108
    Registriert seit:
    12.01.2004
    Natürlich gibs welche. Doch sie zu finden ist eine Sache und oft sind sie auch auf Englisch wie bei deinem Link.
    Und bei dem Tutorial auf der Apache Seite gehen sie nicht besonders weit. Der Großteil hat mit Apache zu tun und nicht wie man CGI Skripte schreibt. Also ein Tutorial vom einfach Perl Skript zum CGI Skript. Das CGI Module wird nur einmal kurz erklärt, doch kann es vieles vereinfachen.

    z.b. :
    Code:
    print "Content-type: text/html\n\n";
    dann fehlt noch das html Tag usw.
    mit dem CGI Module schreibt man einfach:
    Code:
    print header(), start_html();
    #den HTML Code
    print end_html();
    
    Wir können auch eine kleine Link Sammlung machen. Mit Tutorials, Tools, etc.
     
  8. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    Ich finde die Idee grundsätzlich gut.
    Gute Tutorials finden eigentlich immer den Zuspruch der Leser und helfen sicher auch vielen, die sich dann nicht weiter dazu äußern.
     
  9. dms

    dms Gast

    Klar ist das kein CGI-Howto, sondern eine Beschreibung wie man CGI auf dem Apache flot macht. Dachte Du meintest sowas, denn darum geht es hier ja. :)
     
  10. TerminalX

    TerminalX MacUser Mitglied

    Beiträge:
    1.800
    Zustimmungen:
    108
    Registriert seit:
    12.01.2004
    Also eigendlich beides, sowohl CGI-Howto wie auch eine kleine Beschreibung wie das mit dem Webserver funktioniert. Gehört ja zusammen. Dein Link ist auch auf Englisch wie ich vorher schon geschrieben habe und auf deutsch wäre das für manche vielleicht verständlicher. :)

    (Jetzt komm bloß nicht mit einem deutschen Tutorial :D )
     
Die Seite wird geladen...
Ähnliche Themen - Perl Apache auf Forum Datum
Hilfe, nach Installation zwei Perl versionen Web-Programmierung 31.07.2012
Matches aus PERL REGEX extrahieren ??? ($1 gibt mir nur eins zurück) Web-Programmierung 29.08.2010
Problem mit Net::Ping (Perl) Web-Programmierung 28.12.2009
Apache funktioniert nicht (PERL lokal testen) Web-Programmierung 01.06.2007
OS X Apache und Perl Web-Programmierung 20.02.2007

Diese Seite empfehlen

Benutzerdefinierte Suche