« Radicale » : différence entre les versions
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!