Hello World auf Server beim Webhoster [Vorsicht noop Frage]

Probleme bei der Installation?
Antworten
pyklaus
User
Beiträge: 2
Registriert: Mittwoch 6. Februar 2019, 12:11

Mittwoch 6. Februar 2019, 13:15

Hallo,
und toll, dass es dieses Forum gibt!

Ich lerne Python und möchte mal sehen, was ich damit im Web mit sqlite machen kann.
Es soll eine einfache Seite geben, in der ich eine Liste einbetten möchte, die Daten einer sqlite Datenbank anzeigt.
Einfache Webseiten kann ich mit einem Editor erstellen, aber habe noch nicht viel mit Skripten im Web gearbeitet.

Ich habe Webspace bei einem Provider mit python2.6., der folgenden Pfad angibt: usr/bin/python2.6
Wie bekomme ich es erstmal grundsätzlich hin, dass mein Code ausgeführt wird?

Soviel ich verstanden habe kommt in die htaccess folgendes:

Code: Alles auswählen

Options +ExecCGI
AddHandler cgi-script .py
Und meine "Seite" test.py sieht im Quellcode so aus:

Code: Alles auswählen

#!/usr/bin/python2.6
 #-*-Encoding: utf-8-*-
print "Content-Type: text/plain"
print ""
print "Hallo Klaus!"
Das alles zeigt Fehler 500 im Browser, Script-Fehler.
Gibt es eine einfache Lösung?

Danke!
Benutzeravatar
noisefloor
User
Beiträge: 2669
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Donnerstag 7. Februar 2019, 14:33

Hallo,

Python lernen ist gut, aber dein Ansatz ist nicht gut...

Python 2.6 ist uralt und AFAIK auch EOL. Die einzige Python 2 Version mit Unterstützun isgt Python 2.7, und das ist auch Ende des Jahres EOL.
Oder anders: es gibt 2019 kaum noch Gründe, Python 2.x einzusetzen.

Außerdem nutzt du CGI für die Anbindung. Stand der Dinge ist seit > 10 Jahren aber WSGI für Python Webapplikationen. CGI ist vergleichsweise kompliziert und nur noch die allerletze Fallback Lösung.

Abgesehen davon macht es IMHO null Sinn, das auf einem "echten" Server zu machen. Alle gängige Python Webframeworks wie Flask, Bottle, Django, ... haben einen Server an Bord, der für das lokale Testen gemacht ist.Darauf entwickelt man dann üblicherweise auch, bevor man irgendwas auch einen "echten" Server hoch lädt.

Gruß, noisefloor
Sirius3
User
Beiträge: 9680
Registriert: Sonntag 21. Oktober 2012, 17:20

Donnerstag 7. Februar 2019, 14:55

@noisefloor: das Stichwort hier ist "Ich habe Webspace bei einem Provider". Es gibt leider etliche Billig-Webspace-Provider, die mit uralten Servern und Linux-Versionen aus der Steinzeit eine Unmenge an ungepatchten und ungewarteten Programmen zur Verfügung stellen, und der arme Anfänger denkt, die Liste an unterstützten Features hört sich ja toll an.

@pyklaus: niemand der Python sinnvoll einsetzen will, würde sich so einem Provider auch nur auf 100m nähern. Man müßte in die Server-Logs schauen, wenn der Anbieter die anbietet, um genau zu wissen, was denn da nicht funktioniert. Apache ist halt auch ein Dinosaurier des Internets und wird professionell kaum mehr eingesetzt, weil die Konfiguration unendlich kompliziert ist. Es wäre ein ewiges Trial-and-Error, um eine einigermaßen funktionierende Seite hinzubekommen.
Es gibt etliche Anbieter, die für etwas Geld pro Monat gute Infrastruktur bereitstellen (Amazon AWS, IBM, Microsoft Azure, Google Firebase, Redhad Openstack, ... und noch etliche kleine Deutsche Unternehmen (meist etwas teurer)).
Benutzeravatar
__blackjack__
User
Beiträge: 3048
Registriert: Samstag 2. Juni 2018, 10:21

Donnerstag 7. Februar 2019, 15:03

@pyklaus: Erst einmal möchte ich mich meinem Vorredner anschliessen: Python 2.6 ist zu alt. Das definitiv letzte Release war 2013. Wenn der Server-Anbieter nichts neueres hat, dann mag der Python wohl nicht wirklich unterstützen, sondern hat das vor laaanger Zeit mal aufgesetzt um „Python“ in der Werbung/Paketbeschreibung unterbringen zu können.

Und zu Python 2.7: https://pythonclock.org/

Ebenso bei CGI. Wenn der Server nichts anderes kann, dann kann man zur Not auch WSGI über CGI anbinden. Ist zwar auch nicht schön, aber wenigstens muss man sich beim Programmieren dann nicht auf einer so niedrigen Ebene wie CGI bewegen.

Wenn Du einen 500er bekommst, musst Du im Serverlog nachschauen was da nicht geklappt hat.
“In computing, invariants are ephemeral.” – Alan J. Perlis
pyklaus
User
Beiträge: 2
Registriert: Mittwoch 6. Februar 2019, 12:11

Freitag 8. Februar 2019, 14:03

Hallo, danke für die erschütternden Hinweise. Ich dachte wirklich, dass es Gründe gibt, die alte Version anzubieten.
Ich habe mich umgesehen und es gibt Hoster die Version 3.x installiert haben, aber es ist wohl insgesamt nicht so trivial wie ich dachte.

Dann lasse ich erstmal insgesamt die Finger davon und übe noch ein paar Monate lokal.
Die genannten Services sind fürs Spielen und das Nanoprojekt auch zu teuer. Und auch hier ist Einarbeiten angesagt.

Grüße
Klaus
Benutzeravatar
__blackjack__
User
Beiträge: 3048
Registriert: Samstag 2. Juni 2018, 10:21

Freitag 8. Februar 2019, 14:54

@pyklaus: Zumindest AWS hatte mal ein gewisses Freikontingent pro Monat an Speicherplatz, Rechenzeit, und Übertragungsvolumen. Vielleicht gibt es bei den anderen Plattformen auch solche Schnupperangebote. Bei günstigen shared Hostern würde mir noch Uberspace einfallen. Und falls es noch günstige oder gar kostenlose DynDNS-Anbieter gibt, könnte man sich für Nanoprojekte auch zu hause einen Raspberry Pi hinstellen und das darauf hosten.
“In computing, invariants are ephemeral.” – Alan J. Perlis
Antworten