Perl und Python auf dem vServer

In einem früheren Beitrag habe ich mich  zu den Möglichkeiten des Einsatzes von Perl- und Python-Scripten bei Shared Hosting angeboten geäußert. An dieser Stelle nun einige Anmerkungen zur Nutzung solcher Scripte auf einem vServer.

Proplay

Auf einem vServer bei proplay.de habe ich einen Account inclusive Subdomain eingerichtet. Die einzelnen Subdomains werden als virtuelle Hosts konfiguriert. Jeder virtueller Host hat eine eigene zusätzliche Konfigurationsdatei. Im konkreten Fall hat diese Datei subdomainname.hauptdomainname.de im Verzeichnis /etc/apache2/sites-available unter anderem den folgenden Inhalt:


    
    
        SetHandler perl-script
        PerlHandler ModPerl::Registry
        Options ExecCGI
        allow from all
        PerlSendHeader On
    
    
    
    
        SetHandler python-program
        PythonHandler mod_python.cgihandler
    
    
   Options Indexes MultiViews FollowSymLinks +ExecCGI
   FCGIWrapper /var/www/username/php-fcgi/php-fcgi-starter .php
   Order allow,deny
   allow from all

Mit dieser Konfigurationsdatei laufen sowohl einfache Python wie auch Perl-Scripte ohne zusätzliche Maßnahmen in der .htaccess. Auch der Rechte-Status der Dateien muss nicht geändert werden.

Netcup

Bei Netcup wird zunächst nur der Download der Python- bzw. Perldatei angeboten. Nach dem Erstellen einer .htaccess-Datei erhalte ich einen

500 Internal Server Error

Die Überprüfung mit

apache2ctl -M

zeigt dann, dass entsprechenden Apache-Module gar nicht geladen sind. Dies wird jetzt nachgeholt mit

apt-get install libapache2-mod-perl2
apt-get install libapache2-mod-python

In die Apache-vHost-Konfigurationsdatei wird eingefügt:

    
    
        SetHandler perl-script
        PerlHandler ModPerl::Registry
        Options ExecCGI
        allow from all
        PerlSendHeader On
    
    
    
    
        SetHandler python-program
        PythonHandler mod_python.cgihandler
    
    

Damit die Änderungen auch wirksam werden:

service apache2 restart

Jetzt klappt es, auch ohne .htaccess.