Proxmox VM Alpine Linux - Radicale serveur CalDAV CardDAV
Radicale est un serveur CalDAV petit mais puissant (calendriers, listes de choses à faire) et CardDAV (contacts)
*À propos de Radicale**
- Partage des calendriers et des listes de contacts via CalDAV, CardDAV et HTTP.
- Prend en charge les événements, les todos, les entrées de journaux et les cartes de visite.
- Fonctionne à l’extérieur, pas de configuration ou de configuration compliquée requis.
- Offre des options d’authentification flexibles.
- Peut limiter l’accès par autorisation.
- Peut sécuriser les connexions avec TLS.
- Fonctionne avec de nombreux CalDAV et CardDAV clients.
- Stocke toutes les données sur le système de fichiers dans un dossier simple structure.
- Peut être étendu avec des plugins.
- Est un logiciel gratuit GPLv3-licensed.
Proxmox VM Radicale
VM pvm-alpine01
Créer une VM avec Alpine sous Proxmox
Télécharger l’image ISO
local (pve) –> Images ISO –> Télécverser alpine-standard-3.22.2-x86_64.iso
Créer une VM avec alpine3.22 - Modèle (Disque 5GB , Ram 128MB)
Se connecter en utilisateur rad
Connexion ssh sur un autre port avec un jeu de clés
Générer une paire de clé sur l’ordinateur de bureau PC1
Générer une paire de clé curve25519-sha256 (ECDH avec Curve25519 et SHA2) pour une liaison SSH avec la machine virtuelle pvm-alpine01
1
2
ssh-keygen -t ed25519 -o -a 100 -f ~/.ssh/pvm-alpine01
chmod 600 ~/.ssh/pvm-alpine01
Copier la clé publique cat ~/.ssh/pvm-alpine01.pub dans le presse-papier
1
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMmkrE2ZdxnE1GfwmHMrzEXCv4FF2EfITNvtL44oTFc7 yann@pc
On se connecte sur la machine virtuelle alpine linux “pvm-alpine01” en proxy avec le serveur cwwk (192.168.0.205)
1
ssh rad@192.168.0.221
Créer le répertoire et ouvrir nouveau fichier
1
2
mkdir -p $HOME/.ssh/
nano $HOME/.ssh/authorized_keys
Coller le contenu du presse-papier , sauver le fichier et sortir
Modifier les droits
1
chmod 600 $HOME/.ssh/authorized_keys
Passer en mode su
1
su -
Modifier la configuration serveur SSH
1
nano /etc/ssh/sshd_config
Modifier
1
2
Port = 55221
PasswordAuthentication no
Relancer le serveur
1
service sshd restart
Test connexion depuis un poste sur le réseau
1
ssh rad@192.168.0.221 -p 55221 -i /home/yann/.ssh/pvm-alpine01
Passer en root
1
su -
Ajout dépôt communauté
Editer la configuration des dépôts
1
nano /etc/apk/repositories
Trouvez maintenant la ligne qui se termine dans /community
Ensuite, retirez le # au début de la ligne.
Le fichier résultant devrait ressembler à ceci
1
2
3
#/media/cdrom/apks
http://mirrors.ircam.fr/pub/alpine/v3.20/main
http://mirrors.ircam.fr/pub/alpine/v3.20/community
Installer sudo
1
2
apk update
apk add sudo
Ajouter un utilisateur avec les privlèges root
1
echo "rad ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/20-rad
Motd /etc/motd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
___ _ _ _
| _ \ __ _ __| |(_) __ __ _ | | ___ ___ ___ _ _ __ __ ___ _ _ _ _
| // _` |/ _` || |/ _|/ _` || |/ -_) (_-</ -_)| '_|\ V // -_)| || || '_|
|_|_\\__,_|\__,_||_|\__|\__,_||_|\___| /__/\___||_| \_/ \___| \_,_||_|
___ _ _ __ ___ _ _
/ __| __ _ | | __| | __ _ __ __ / // __| __ _ _ _ __| | __| | __ _ __ __
| (__ / _` || |/ _` |/ _` |\ V // /| (__ / _` || '_|/ _` |/ _` |/ _` |\ V /
\___|\__,_||_|\__,_|\__,_| \_//_/ \___|\__,_||_| \__,_|\__,_|\__,_| \_/
_ _ __ _
_ __ __ __ _ __ ___ __ _ | | _ __ (_) _ _ ___ / \ / |
| '_ \\ V /| ' \|___|/ _` || || '_ \| || ' \ / -_)| () || |
| .__/ \_/ |_|_|_| \__,_||_|| .__/|_||_||_|\___| \__/ |_|
|_| |_|
_ ___ ___ _ __ ___ __ ___ ___ _
/ |/ _ \|_ ) / | / / ( _ ) / \ |_ )|_ )/ |
| |\_, / / / _ | |/ _ \/ _ \ _| () |_ / / / / | |
|_| /_/ /___|(_)|_|\___/\___/(_)\__/(_)/___|/___||_|
Radicale serveur CalDAV CardDAV
installer radicale sur l’alpine
Mise à jour et mise à niveau après l’installation
1
apk update && apk upgrade
Installer nano
1
apk add nano
Editer la configuration des dépôts
1
nano /etc/apk/repositories
Trouvez maintenant la ligne qui se termine dans /community Ensuite, retirez le # au début de la ligne. Le fichier résultant devrait ressembler à ceci
1
2
3
#/media/cdrom/apks
http://dl-cdn.alpinelinux.org/alpine/v3.21/main
http://dl-cdn.alpinelinux.org/alpine/v3.21/community
Mise à jour des dépôts
1
apk update
Installer radicale, nano et apache2-utils
1
apk add radicale apache2-utils py3-bcrypt
Sécurité: Le stockage ne doit pas être lisible par d’autres. (Exécuter chmod -R o= /var/lib/radicale/collections comme racine.)
1
chmod -R o= /var/lib/radicale/collections
Obtenez votre adresse IP
1
ip addr
Modifier /etc/radicale/config pour la configuration de l’adresse ip et de la méthode d’authentification
1
nano /etc/radicale/config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[server]
# CalDAV server hostnames separated by a comma
# IPv4 syntax: address:port
# IPv6 syntax: [address]:port
# For example: 0.0.0.0:9999, [::]:9999
# Set your ip address
hosts = 192.168.0.221:5232
[auth]
# Authentication method
# Value: none | htpasswd | remote_user | http_x_remote_user
# Set htpasswd
type = htpasswd
# Htpasswd filename
# Set filename
htpasswd_filename = /etc/radicale/users
# Htpasswd encryption method
# Value: plain | bcrypt | md5
# bcrypt requires the installation of radicale[bcrypt].
# Set encryption method
htpasswd_encryption = bcrypt
Enregistrer le fichier
Créer l’utilisateur et le mot de passe
1
htpasswd -B -c /etc/radicale/users yann
Service de démarrage
1
rc-service radicale start
Ajouter un service au niveau d’exécution par défaut
1
rc-update add radicale
webbrowser login
1
192.168.0.221:5232
Sécurité: Le stockage ne doit pas être lisible par d’autres. (Exécuter chmod -R o= /var/lib/radicale/collections comme racine.)
1
chmod -R o= /var/lib/radicale/collections
proxy Nginx
Utilisation du proxy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/etc/nginx/conf.d/radicale.rnmkcy.eu.conf
server {
# ipv4 listening port/protocol
listen 443 ssl;
# ipv6 listening port/protocol
listen [::]:443 ssl;
server_name radicale.rnmkcy.eu;
include /etc/nginx/conf.d/ssl-modern.inc;
gzip on;
location / {
proxy_pass http://192.168.0.221:5232/;
proxy_set_header X-Script-Name /radicale;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass_header Authorization;
}
}
Une fois que vous avez redémarré Nignx, vous devriez pouvoir accéder à radicale sur un port http ou https normal en naviguant vers http://example.com/radicale/ et vous devriez voir l’écran de connexion.
Connexion Radicale
Utilisez le nom d’utilisateur et le mot de passe que vous avez créés dans les étapes ci-dessus pour vous connecter au portail Radicale.
Collections
Créer une nouvelle collection ou ajouter à partir d’un fichier existant de type vcf pur le carnet d’adresses et ics pour les calendriers
Cliquer sur “Upload addressbook or calendar”


Refaire l’opération pour le carnet d’adresse


Android Calendrier et Contacts
Applications android Agenda et Contacts








