« Radicale » : différence entre les versions

De Le Wiki du Forum-Debian.fr
Aller à la navigation Aller à la recherche
mAucun résumé des modifications
mAucun résumé des modifications
Ligne 1 : Ligne 1 :
== Introduction ==
== Introduction ==
Radicale est une application serveur qui permet de gérer de calendriers ([https://fr.wikipedia.org/wiki/CalDAV CalDAV]) et de contacts ([https://fr.wikipedia.org/wiki/CardDAV CardDAV]). Elle nécessite peu de dépendances et est écrite en Python. Deux versions sont actuellement disponibles, l'une pour Python 2, l'autre pour Python 3.
Radicale est une application serveur qui permet de gérer de calendriers ([https://fr.wikipedia.org/wiki/CalDAV CalDAV]) et de contacts ([https://fr.wikipedia.org/wiki/CardDAV CardDAV]).
Elle nécessite peu de dépendances et est écrite en Python.<br />
Deux versions sont actuellement disponibles, l'une pour Python 2, l'autre pour Python 3.<br />
Nous ne détaillons pas ici l'installation de la version pour Python 2 (abondamment documentée sur le web, et sur le point de ne plus être maintenue).
Nous ne détaillons pas ici l'installation de la version pour Python 2 (abondamment documentée sur le web, et sur le point de ne plus être maintenue).


== Installation de paquets ==
== 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 [[L'etiquetage_de_paquets_via_le_fichier_/etc/apt/preferences|pinning]] dans testing.
La version pour Python3 n'est pas disponible dans les dépôts stable, ni dans les backports. Il faudra donc faire du [[L'etiquetage_de_paquets_via_le_fichier_/etc/apt/preferences|pinning]] dans testing.<br />
 
Quand c'est fait, installez le paquet python3-radicale. <br />
Quand c'est fait, installez 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).<br />
 
Son contenu :
Le script wsgi.py n'est pas fourni. Il faut le créer soi-même (par exemple dans /var/www/radicale). Son contenu :
<pre>import radicale
<pre>import radicale
radicale.log.start()
radicale.log.start()
Ligne 14 : Ligne 15 :


== Configuration de Apache ==
== Configuration de Apache ==
L'application étant écrite en Python3, il nous faut le module Apache WSGI pour Python3. Installez 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.
L'application étant écrite en Python3, il nous faut le module Apache WSGI pour Python3. Installez libapache2-mod-wsgi-py3.<br />
Malheureusement, ce module est incompatible avec WSGI pour Python2.<br />
Si vous avez besoin de Python 2, il vaut mieux installer la version pour Python2 de radicale.


Puis activer le module :
Puis activer le module :
{{Root|Text=a2enmod wsgi}}
{{Root|Text=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 :
En fonction du comportement que vous souhaitez, la configuration de Apache peut légèrement varier.<br />
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,<br />
ce fichier de conf fonctionne :
<pre><VirtualHost calendar.example.com:80>
<pre><VirtualHost calendar.example.com:80>
     ServerName calendar.example.com
     ServerName calendar.example.com
Ligne 55 : Ligne 60 :
</pre>
</pre>


Maintenant, si vous accédez à http://calendar.example.com, vous devriez être redirigé vers https://calendar.example.com, et voir le message
Maintenant, si vous accédez à http://calendar.example.com, vous devriez être redirigé vers https://calendar.example.com,<br />
et voir le message :
<pre>Radicale works!</pre>
<pre>Radicale works!</pre>

Version du 6 mai 2017 à 00:55

Introduction

Radicale est une application serveur qui permet de gérer de calendriers (CalDAV) et de contacts (CardDAV). Elle nécessite peu de dépendances et est écrite en Python.
Deux versions sont actuellement disponibles, l'une pour Python 2, l'autre pour Python 3.
Nous ne détaillons pas ici l'installation de la version pour Python 2 (abondamment 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 pinning dans testing.
Quand c'est fait, installez 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. Installez 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 message :

Radicale works!