Hallo zusammen, On 06.02.2018 13:31, Peter Hormanns wrote: > Hallo Martin, > > Am 06.02.2018 um 01:28 schrieb Dr. Martin Weigele: >> >> Jedoch findet sich in unserem Wiki die Anleitung zur Einrichtung eines Python- >> basierten RadicaleCalDAVservers, >> >> https://wiki.hostsharing.net/index.php?title=RadicaleCalDAVServer >> >> Mittels pip -U kann später auch ein upgrade der Software durch einfachen >> Aufruf durchgeführt werden. Die im Vergleich zu php-basierten Systemen eher >> selten erforderlichen Sicherheitsupdates für das zugrundeliegende Python >> System sowie für das Betriebssystem werden vom Hostsharing Team ständig im >> Rahmen der Pflege unserer Server ( = Managed Hosting) routinemäßig ebenso wie >> Backups durchgeführt. >> > > Ich habe es gerade in die Wiki-Seite geschrieben: > > Die Anleitung funktioniert nur für Radicale 1.x > > Die Version 2.x braucht Python 3. Ich habe die Installation mit pip3 > nicht auf Anhieb hinbekommen. Das muss sich mal jemand ansehen, der sich > im Python-Universum auskennt. Ich habe Radicale 2.x komplett analog zu Radicale 1.x installiert, allerdings nicht nach der Anleitung im Wiki, sondern (wie allgemein empfohlen) mit virtualenv. Virtualenv managed Python-Packages im Userland. Anleitung: mkdir -p radicale/etc mkdir -p radicale/var mkdir -p radicale/log chmod 700 radicale virtualenv -p python3 radicale/virtualenv radicale/virtualenv/pip install radicale radicale/virtualenv/pip install --upgrade passlib bcrypt echo <<EOF >doms/example.com/.htaccess PassengerPython $HOME/radicale/virtualenv/bin/python EOF echo <<EOF >doms/example.com/app-ssl/passenger_wsgi.py import os from radicale import Application, config, log config_paths = ["$HOME/radicale/etc/config"] configuration = config.load(config_paths, ignore_missing_paths=False) filename = os.path.expanduser(configuration.get("logging", "config")) debug = configuration.getboolean("logging", "debug") logger = log.start("radicale", filename, debug) EOF application = Application(configuration, logger) mkdir doms/example.com/app-ssl/tmp touch doms/example.com/app-ssl/tmp/restart.txt Dann legt man in $HOME/radicale/etc/ Konfiguarationsdateien gemäß Upstream-Anleitung an: config: [server] [encoding] request = utf-8 stock = utf-8 [auth] type = htpasswd htpasswd_filename = /home/........../radicale/etc/users [rights] type = from_file file = /home/................./radicale/etc/rights [storage] type = multifilesystem filesystem_folder = /home/.............../radicale/var/ [logging] config = /home/............./radicale/etc/logging debug = False full_environment = False users: (htpassword-Format mit -B für bcrypt) rights: [all] user: .+ collection: .* permission: rw logging: [loggers] keys = root [handlers] keys = file [formatters] keys = full [logger_root] level = INFO handlers = file [handler_file] class = FileHandler args = ('/home/...................../radicale/log/radicale.log',) formatter = full [formatter_full] format = %(asctime)s - %(levelname)s: %(message)s Muster für die Konfigurationsdateien, aber auch für das Startup-File, gibt es "upstream": https://github.com/Kozea/Radicale/tree/2.0.x Ich möchte dieses Installationsschema grundsätzlich für Python-Anwendungen empfehlen: - Installationshauptordner - virtualenv - aus Passenger dort hinein verweisen Man *kann* das auch anders machen, aber der vorgestellte Weg hat sich für zahlreiche Anwendungen bewährt. Virtualenv ermöglicht u.a. Installationen zu trennen, zu sichern und Pakete in von Hostsharing abweichenden Versionen zu installieren. Beste Grüße Michael
Nutzen Sie unser kostenloses Test- und Beratungsangebot.
Nehmen Sie jetzt Kontakt auf und lernen Sie den Hostsharing-Service kennen.