Installer un serveur Radicale sur FreeBSD
À ce jour, la dernière version de Radicale n'est pas encore disponible sous forme de paquet pour FreeBSD.
Il est possible qu'il faille adapter les instructions en fonction de la version de FreeBSD.
Vous devez suivre les instructions en tant que root.
Installer les paquets prérequis
- Apache 2.4 (pour l'outil
htpasswd
)
- Python 3.6
pip
(Gestionnaire de paquet Python)
- Librairies Python requises pour Radicale
pkg install apache24 python36 py36-pip py36-bcrypt py36-passlib py36-cffi py36-six py36-vobject
L'utilisateur radicale
Afin d'améliorer la sécurité, il est vivement recommandé de lancer une application Web à l'aide d'un compte utilisateur dédié et restreint.
pw useradd -n radicale -c "Radicale user" -s /usr/sbin/nologin -h - -d /nonexistent
Voir aussi :
man pw
Installer Radicale
python3.6 -m pip install radicale
Configuration
Création des répertoires
mkdir -p /var/db/radicale/collections /usr/local/etc/radicale /var/log/radicale
Définition des permissions
chown -R radicale:radicale /var/db/radicale /var/log/radicale
chmod 750 /var/db/radicale /var/log/radicale
Créer /usr/local/etc/radicale/config
[server]
hosts = 0.0.0.0:5232
[auth]
type = htpasswd
htpasswd_filename = /usr/local/etc/radicale/users
htpasswd_encryption = bcrypt
[rights]
type = owner_only
[storage]
filesystem_folder = /var/db/radicale/collections
[logging]
config = /usr/local/etc/radicale/logging
Plus
Créer /usr/local/etc/radicale/logging
[loggers]
keys = root
[handlers]
keys = file
[formatters]
keys = full
[logger_root]
level = WARNING
handlers = file
[handler_file]
class = handlers.TimedRotatingFileHandler
args = ("/var/log/radicale/radicale.log", "midnight", 1, 7)
formatter = full
[formatter_full]
format = %(asctime)s - [%(thread)x] %(levelname)s: %(message)s
Plus
Gestion des utilisateurs de Radicale
Créer un utilisateur avec htpasswd
pour initialiser le fichier qui contient les utilisateurs
htpasswd -Bc /usr/local/etc/radicale/users johndoe
Définition des permissions du fichier
chown root:radicale /usr/local/etc/radicale/users
chmod 640 /usr/local/etc/radicale/users
Pour ajouter un utilisateur ou modifier son mot de passe
htpasswd -B /usr/local/etc/radicale/users katsmith
Pour supprimer un utilisateur
htpasswd -D /usr/local/etc/radicale/users katsmith
Plus
rc script
Créer /etc/rc.d/radicale
#!/bin/sh
# PROVIDE: radicale
# REQUIRE: DAEMON
# BEFORE: LOGIN
# KEYWORD: shutdown
. /etc/rc.subr
name=radicale
rcvar=radicale_enable
pidfile=/var/run/${name}/${name}.pid
start_precmd=do_precmd
load_rc_config $name
: ${radicale_enable:=NO}
: ${radicale_user:=radicale}
: ${radicale_group:=radicale}
: ${radicale_config:=/usr/local/etc/radicale/config}
command=/usr/local/bin/python3.6
command_args="-m radicale -d -p ${pidfile} -C ${radicale_config}"
do_precmd()
{
if [ ! -d ${pidfile%/*} ]
then
install -d -o ${radicale_user} ${pidfile%/*}
fi
}
run_rc_command "$1"
Définition des permissions
chmod 555 /etc/rc.d/radicale
Plus
Démarrer
sysrc radicale_enable=YES
service radicale start
Tags : unix freebsd radicale caldav carddav