Perl und Python bei Shared Hosting Anbietern

Die überwiegende Zahl der Webanwendungen läuft mit PHP, der am meisten gebräuchlichen serverseitigen Scriptsprache. In manchen Fällen stößt man jedoch auf Anwendungen, die in den ebenfalls serverseitig interpretierten Scriptsprachen Python oder Perl programmiert wurden. Falls man über einen virtuellen Server verfügt sind die erforderlichen Softwarepakete schnell installiert. Anders sieht es hingegen aus, wenn man für die eigene Website eines der zahlreichen Shared Hosting Angebote nutzt. Hierbei teilen sich mehrere Nutzer einen (virtuellen) Server und es ist in der Regel nicht möglich, selbst Pakete zu installieren. Allerdings gibt es unter diesen Shared Hosting Angeboten auch solche, bei denen bereits Perl oder Python oder beide Scriptsprachen installiert sind. Ich möchte an hand einfacher Beispiele beschreiben, wie man ein Perl- bzw. Pyhton-Script zum laufen bringt. Getestet habe ich mein vorgehen bei den Anbietern 1blu und One.com.

Perl und Python bei 1blu

Perl

Nehmen wir zuerst ein einfaches Perl-Script demo-01.pl, das so aussehen könnte

#!/usr/bin/perl -w

print "Content-type: text/html\n\n";

print "Nun können Sie etwas lesen";
print "- Na Bitte - gar nicht so schwer !";

Wenn man dieses Script jetzt im Browser aufruft, dann geschieht erst einmal gar nichts bzw. der Browser bietet an, das Script herunter zu laden. Was ist da los?

Zunächst muss man dem Server mitteilen, dass es sich um ein ausführbares Script handelt. Das geschieht mit Hilfe einer .htaccess-Datei, in der mindestens stehen muss:

AddHandler cgi-script .pl

Damit wird der Apache-Server angewiesen,  Dateien mit der Erweiterung .pl als ausführbares Script zu behandeln.

Bei einem erneuten Aufruf des Scripts erhält man nun einen 500 Internal Server Error.

Nun ja, die Datei hat nach dem Upload per FTP den Datei-Attribut-Code 644, das heißt dass die Berichtigungen zum Ausführen fehlen. Wenn man die setzt, dann hat die Datei den Attribut-Code 744. Eventuell ist manchmal auch 755 erforderlich.

Python

Auch hier zunächst das zu testende Beispiel-Script demo-01.py:

#!/usr/bin/python
# -*- coding: utf-8 -*-

print "Content-Type: text/html;charset=utf-8\n"
print "Hello World!"

In diesem Fall können wir uns langes Herumprobieren ersparen und gleich die entsprechenden Maßnahmen durchführen, d.h. den Attribut-Code der Datei ändern und in der .htaccess-Datei diese Zeile hinzufügen:

AddHandler cgi-script .py

Perl und Python bei One.com

Bei One.com ist es mir nicht gelungen, die oben aufgeführten Beispiele erfolgreich einzusetzen. Ich erhalte jeweils ein 500-Internal Server Error. Somit gibt es nur die Möglichkeit, solche Script in der Shell auszuführen.