Perl auf QNAP Webserver

  • Hallo,


    ich habe ein perl Skript, was ich zum laufen kriegen muss (siehe Anhang).
    Zum Test kann man folgende Seite am Webserver aufrufen:


    http://<Webserver-IP>/cgi-bin/ubr_upload.pl?about


    Dann sollte die Versionsinformation angezeigt werden. Folgende Schritte hab ich dafür gemacht:


    Perl auf dem QNAP installiert:

    Code
    # ipkg install perl


    -> Hat wunderbar funktioniert


    Das Perl Skript dahin kopiert: /home/httpd/cgi-bin/
    chmod 755 auf das Skript gesetzt


    /mnt/HDA_ROOT/.config/apache/apache.conf folgende Änderungen:

    Code
    AddHandler cgi-script .cgi .pl


    Nach einem Neustart wollte ich das Perl Skript wie oben beschrieben testen, aber die Seite bleibt weiß -> keine Info erscheint
    Wenn ich das Perl Skript über SSH starte, funktionierst prima, nur der Apache Webserver mag nicht :(


    Was mach ich falsch?

  • Wenn ich das pl-Skript woanders hinopfere und direkt ausführen möchte kommt:


    Code
    Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.
    Please contact the server administrator, admin@NAS 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.


    Das error.log des Apache Servers bleibt aber komplett leer.

  • Hatte dasselbe Problem. Es hat sich gelöst, indem ich auf der ersten Zeile meines Perl Skripts den richtigen Pfad zu Perl eingetragen habe.


    Code
    #!/opt/bin/perl -w


    Perl findet sich auf dem QNAP unter /opt/bin und nicht unter /usr/bin. Hat eine ganze Zeit gedauert, bis ich das als Ursache des Fehlers herausgefunden hatte.


    Alternativ reicht es auch, unter /usr/bin einen symbolischen Link auf /opt/bin/perl zu legen. Dann kann man wie gewohnt

    Perl
    #!/usr/bin/perl -w


    auf der ersten Zeile eintragen.