Hallo
Für mein neues Programm (wird noch nicht verraten) will ich noch (so als Schmankerl) einen kleinen Webhosting Deinst aufbauen ([gratis] und gegen €),
dazu möchte ich wie die meisten Hoster Python als CGI anbieten, evtl auch Django. Jetzt die Frage, wie stelle ich das am besten an?
der Server ist Apache, und Python läuft mit "AddHandler cgi-script .py".
ich habe mit das bisher so gedacht:
-jeder Kunde erhält einen Ordner mit ferster Größe, http://enotacoes.wordpress.com/2010/10/ ... -in-linux/
-der Ordner gehört der Gruppe "www-data"
-php kann ich eindämmen mit "php_admin_value open_basedir" und "disable_functions"
-mysql und phpmyadmin sind auch keine Probleme
-ftp-server schreibe ich selber mit: http://code.google.com/p/pyftpdlib
-der Kunde hat kein Benutzerkonto auf dem Ubuntu (10.04) System
Wie machen das jetzt die anderen Hoster, wollte jetzt nicht bei Strato rum "Hacken" um zu schauen was ich allem machen kann.
Gruß
Andy
Webhosting Python absichern
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ich würde anstelle von CGI WSGI vorschlagen. Wie man das alles sicher gestaltet kann ich Dir auch nicht sagen - aber WSGI ist für Python-Webhosting imho die bessere Wahl.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Kein ordentlicher Pythonhoster bietet Python via CGI anAndyh hat geschrieben: dazu möchte ich wie die meisten Hoster Python als CGI anbieten, evtl auch Django. Jetzt die Frage, wie stelle ich das am besten an?
Quotas sind wohl einfacher und auch sinnvoller.-jeder Kunde erhält einen Ordner mit ferster Größe, http://enotacoes.wordpress.com/2010/10/ ... -in-linux/
Glaube kaum dass das reicht.-php kann ich eindämmen mit "php_admin_value open_basedir" und "disable_functions"
Ähhhhhhhhhhm…-mysql und phpmyadmin sind auch keine Probleme
Lieber was ordentliches verwenden was (relativ) sicher ist ala vsftp.-ftp-server schreibe ich selber mit: http://code.google.com/p/pyftpdlib
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Warum nicht? ich würde genau das machen, um die Prozesse des Users mit seinen Berechtigungen laufen zu lassen.Andyh hat geschrieben:-der Kunde hat kein Benutzerkonto auf dem Ubuntu (10.04) System
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Hallo
Keiner kann alles einfach so, ich habe mich z.B. weiter eingelesen und musste selber feststellen das meine ersten Überlegungen (Falsch) sind.
Ich bin jetzt schon ein stück weiter mit meinen Überlegungen:
echte Userkonten im System mit den dazugehörigen rechten
FTP/QUOTA: http://www.proftpd.org/docs/howto/Quotas.html
PHP: Noch keine Änderungen, kommen aber noch
Python: Ist erstmal rausgeflogen
Gruß
Andy
Nö das stimmt nicht, nur weil der jetzige Ansatz käse ist heist das ja nicht das ich das nicht kann.Alles in allem kann man dir zum derzeitigen Moment definitiv nicht empfehlen einen solchen Hosting Service anzubieten!
Keiner kann alles einfach so, ich habe mich z.B. weiter eingelesen und musste selber feststellen das meine ersten Überlegungen (Falsch) sind.
Ich bin jetzt schon ein stück weiter mit meinen Überlegungen:
echte Userkonten im System mit den dazugehörigen rechten
FTP/QUOTA: http://www.proftpd.org/docs/howto/Quotas.html
PHP: Noch keine Änderungen, kommen aber noch
Python: Ist erstmal rausgeflogen
Gruß
Andy
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Wenn du über Hosting nachdenkst, definiert IMHO Heroku, wie einfach es mindestens sein muss. Mit CGI oder FTP gewinnst du da keinen Blumentopf. Bei Heroku kann ich mit einem simplen Befehl ein neues Projekt erzeugen, welches automatisch derart mit git verknüpft ist, dass ich später nur ein "git push heroku master" machen muss, um meinen Code zum Hoster zu übertragen und dort automatisch meine Anwendung zu starten bzw. neu zu starten. Für Ruby geht das bei Heroku komplett automatisch, für andere Sprachen muss man ein bisschen mehr tun, aber Python (z.B. mittels CherryPy) funktioniert auch. Lief was schief, kann ich automatisch ein Rollback machen. Des weiteren erlaubt Herokus Architektur eine gute Skalierbarkeit. Billig ist das nicht, aber super bequem.
Siehe auch http://www.quora.com/What-is-the-Heroku ... plications
Stefan
Siehe auch http://www.quora.com/What-is-the-Heroku ... plications
Stefan