Radicale

De Le Wiki du Forum-Debian.fr
Révision datée du 5 mai 2017 à 08:45 par Dunatotatos (discussion | contributions) (Création de la page (WIP))
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Introduction

Radicale est une application serveur qui permet de gérer des calendriers et des contacts. Elle nécessite peu de dépendances et est écrite en Python. Deux versions sont actuellement disponible, l'une pour Python 2, l'autre pour Python 3. Nous ne détaillons pas ici l'installation de la version pour Python 2 (abondement documentée sur le web, et sur le point de ne plus être maintenue).

Installation de paquets

La version pour Python3 n'est pas disponible dans les dépôts stable, ni dans les backports. Il faudra donc faire du [[[1]] dans testing.

Quand c'est fait, installer le paquet python3-radicale.

Le script wsgi.py n'est pas fourni. Il faut le créer soi-même (par exemple dans /var/www/radicale). Son contenu :

import radicale
radicale.log.start()
application = radicale.Application()

Configuration de Apache

L'application étant écrite en Python3, il nous faut le module Apache WSGI pour Python3. Installer libapache2-mod-wsgi-py3. Malheureusement, ce module est incompatible avec WSGI pour Python2. Si vous avez besoin de Python 2, il vaut mieux installer la version pour Python2 de radicale.

Puis activer le module :

# a2enmod wsgi


En fonction du comportement que vous souhaitez, la configuration de Apache peut légèrement varier. Pour le faire fonctionner sur un sous-domaine (que vous aurez au préalable configuré correctement), avec des certificats letsencrypt et une redirection automatique vers HTTPS, ce fichier de conf fonctionne :

<VirtualHost calendar.example.com:80>
    ServerName calendar.example.com
    ServerAlias calendar.example.fr
    ServerAdmin contact@example.com

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Redirect permanent / https://calendar.example.com
</VirtualHost>

<VirtualHost calendar.example.com:2443>
    ServerName calendar.example.com
    ServerAlias calendar.example.fr
    ServerAdmin contact@example.com

    ErrorLog ${APACHE_LOG_DIR}/calendar_error.log
    CustomLog ${APACHE_LOG_DIR}/calendar_access.log combined

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

    WSGIScriptAlias / /var/www/radicale/wsgi.py
    WSGIDaemonProcess calendar.example.com user=www-data group=www-data threads=1
    WSGIProcessGroup calendar.example.com

    <Directory /var/www/radicale>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>
</VirtualHost>

Maintenant, si vous accédez à http://calendar.example.com, vous devriez être redirigé vers https://calendar.example.com, et voir le mesage

Radicale works!