Installation serveur · 10 min read · Sep 30, 2025
Comment installer le serveur EteSync sur Ubuntu 20.04

EteSync est une solution open-source pour synchroniser vos contacts, calendriers et tâches. Il est auto-hébergé, fournit un chiffrement de bout en bout et vous permet de partager des données avec d’autres utilisateurs. Il peut être intégré avec les bureaux GNOME et KDE. Il peut être accessible via des clients de bureau, web, Android et iOS.
Dans ce tutoriel, je vais vous montrer comment installer EteSync avec Apache sur Ubuntu 20.04.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Un nom de domaine valide pointé vers l’IP de votre serveur.
- Un mot de passe root configuré sur le serveur.
Mise en route
Tout d’abord, mettez à jour les paquets du système vers la version mise à jour en exécutant la commande suivante :
apt-get update -yUne fois tous les paquets mis à jour, vous pouvez passer à l’étape suivante.
Installation du serveur MariaDB
Par défaut, EteSync utilise la base de données SQLite pour stocker ses informations. Ici, nous allons installer et utiliser MariaDB comme backend de base de données.
Tout d’abord, installez les dépendances requises en utilisant la commande suivante :
apt-get install software-properties-common gnupg2 -yEnsuite, ajoutez la clé GPG et le dépôt MariaDB en utilisant la commande suivante :
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.lstn.net/mariadb/repo/10.5/ubuntu focal main'Ensuite, mettez à jour le dépôt MariaDB et installez la dernière version de MariaDB avec la commande suivante :
apt-get install mariadb-server -yAprès avoir installé le serveur MariaDB, connectez-vous à l’interface de commande MariaDB avec la commande suivante :
mysqlUne fois connecté, créez une base de données et un utilisateur pour EteSync avec la commande suivante :
MariaDB [(none)]> create database etesync;
MariaDB [(none)]> create user etesync@localhost identified by 'securepassword';Ensuite, accordez tous les privilèges à la base de données EteSync avec la commande suivante :
MariaDB [(none)]> grant all privileges on etesync.* to etesync@localhost;Ensuite, videz les privilèges et quittez MariaDB avec la commande suivante :
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;Une fois que vous avez terminé, vous pouvez passer à l’étape suivante.
Installation et configuration d’EteSync
Tout d’abord, vous devrez installer certaines dépendances Python requises pour EteSync. Vous pouvez toutes les installer avec la commande suivante :
apt-get install python3-virtualenv python3-pip gcc libmysqlclient-dev build-essential git -yAprès avoir installé toutes les dépendances, téléchargez la dernière version d’EteSync en utilisant la commande suivante :
git clone https://github.com/etesync/server.git etesyncUne fois le téléchargement terminé, changez de répertoire vers etesync et créez un environnement virtuel Python avec la commande suivante :
cd etesync
virtualenv -p python3 .venvEnsuite, activez l’environnement virtuel avec la commande suivante :
source .venv/bin/activateEnsuite, installez toutes les dépendances requises avec la commande suivante :
pip install -r requirements.txtEnsuite, copiez le fichier de configuration d’exemple :
cp etebase-server.ini.example etebase-server.iniEnsuite, éditez le fichier de configuration en utilisant la commande ci-dessous :
nano etebase-server.iniAjoutez ou modifiez les lignes suivantes selon votre configuration :
media_root = /opt
allowed_host1 = etesync.example.com
;engine = django.db.backends.sqlite3
;name = db.sqlite3
engine = django.db.backends.mysql
name = etesync
user = etesync
password = securepassword
host = 127.0.0.1
port = 3306Enregistrez et fermez le fichier, puis installez d’autres modules en utilisant la commande suivante :
pip3 install daphne
pip3 install mysqlclient
pip3 install aioredisEnsuite, générez les fichiers statiques et migrez la base de données avec la commande suivante :
./manage.py collectstatic
./manage.py migrateEnfin, démarrez le serveur EteSync avec la commande suivante :
daphne -b 0.0.0.0 -p 8001 etebase_server.asgi:applicationSi tout va bien, vous devriez obtenir la sortie suivante :
2021-07-09 05:42:28,510 INFO Démarrage du serveur à tcp:port=8001:interface=0.0.0.0
2021-07-09 05:42:28,510 INFO Support HTTP/2 non activé (installez les extras http2 et tls de Twisted)
2021-07-09 05:42:28,511 INFO Configuration du point de terminaison tcp:port=8001:interface=0.0.0.0
2021-07-09 05:42:28,512 INFO Écoute sur l'adresse TCP 0.0.0.0:8001Appuyez sur CTRL + C pour arrêter le serveur.
Ensuite, créez un utilisateur administratif en utilisant la commande suivante :
./manage.py createsuperuserFournissez votre nom d’utilisateur, mot de passe et e-mail comme indiqué ci-dessous :
Nom d'utilisateur: etesync
Adresse e-mail: [email protected]
Mot de passe:
Mot de passe (à nouveau):
Superutilisateur créé avec succès.Ensuite, désactivez l’environnement virtuel Python avec la commande suivante :
deactivateCréer un fichier d’unité Systemd pour EteSync
Ensuite, vous devrez créer un fichier d’unité systemd pour gérer EteSync. Vous pouvez le créer avec la commande suivante :
nano /etc/systemd/system/etesync.serviceAjoutez les lignes suivantes :
[Unit]
Description=EteSync: Chiffrement de bout en bout pour synchroniser Calendrier, Contacts, Tâches et Notes.
[Service]
WorkingDirectory=/root/etesync
ExecStart=/root/etesync/.venv/bin/daphne -b 127.0.0.1 -p 8001 -u /tmp/etebase_server.sock etebase_server.asgi:application
User=root
Group=root
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.targetEnregistrez et fermez le fichier, puis rechargez le démon systemd pour appliquer les modifications de configuration :
systemctl daemon-reloadEnsuite, démarrez et activez le service EteSync avec la commande suivante :
systemctl start etesync
systemctl enable etesyncPour vérifier l’état du service EteSync, exécutez la commande suivante :
systemctl status etesyncVous obtiendrez la sortie suivante :
? etesync.service - EteSync: Chiffrement de bout en bout pour synchroniser Calendrier, Contacts, Tâches et Notes.
Chargé: chargé (/etc/systemd/system/etesync.service; désactivé; paramètre du fournisseur: activé)
Actif: actif (en cours d'exécution) depuis ven. 09 juil. 2021 05:45:45 UTC; il y a 5s
PID principal: 16213 (daphne)
Tâches: 1 (limite: 2353)
Mémoire: 48.7M
CGroup: /system.slice/etesync.service
??16213 /root/etesync/.venv/bin/python /root/etesync/.venv/bin/daphne -b 127.0.0.1 -p 8001 -u /tmp/etebase_server.sock etebase_se>
Jul 09 05:45:45 node1 systemd[1]: Démarré EteSync: Chiffrement de bout en bout pour synchroniser Calendrier, Contacts, Tâches et Notes..
Jul 09 05:45:46 node1 daphne[16213]: 2021-07-09 05:45:46,993 INFO Démarrage du serveur à tcp:port=8001:interface=127.0.0.1, unix:/tmp/etebase_>
Jul 09 05:45:46 node1 daphne[16213]: 2021-07-09 05:45:46,995 INFO Support HTTP/2 non activé (installez les extras http2 et tls de Twisted)
Jul 09 05:45:46 node1 daphne[16213]: 2021-07-09 05:45:46,995 INFO Configuration du point de terminaison tcp:port=8001:interface=127.0.0.1
Jul 09 05:45:46 node1 daphne[16213]: 2021-07-09 05:45:46,997 INFO Écoute sur l'adresse TCP 127.0.0.1:8001
Jul 09 05:45:46 node1 daphne[16213]: 2021-07-09 05:45:46,998 INFO Configuration du point de terminaison unix:/tmp/etebase_server.sockÀ ce stade, EteSync est démarré et écoute sur le port 8001. Vous pouvez maintenant passer à l’étape suivante.
Configuration d’Apache en tant que proxy inverse
Il est également conseillé d’installer et d’utiliser Apache comme proxy inverse pour accéder à EteSync. Tout d’abord, installez le serveur Apache avec la commande suivante :
apt-get install apache2 -yAprès avoir installé le serveur Apache, activez tous les modules proxy avec la commande suivante :
a2enmod proxy proxy_http headers proxy_wstunnelEnsuite, créez un nouveau fichier de configuration de l’hôte virtuel Apache :
nano /etc/apache2/sites-available/etesync.confAjoutez les lignes suivantes :
ServerName etesync.example.com
ErrorDocument 404 /404.html
ErrorLog ${APACHE_LOG_DIR}/etebase_error.log
CustomLog ${APACHE_LOG_DIR}/etebase_access.log combined
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8001/
ProxyPassReverse / http://127.0.0.1:8001/
Alias /static /etesync/static
Enregistrez et fermez le fichier, puis activez l’hôte virtuel Apache avec la commande suivante :
a2ensite etesync.confEnsuite, redémarrez Apache pour mettre à jour les modifications :
systemctl restart apache2Vous pouvez maintenant vérifier l’état d’Apache en utilisant la commande suivante :
systemctl status apache2Vous devriez obtenir la sortie suivante :
? apache2.service - Le serveur HTTP Apache
Chargé: chargé (/lib/systemd/system/apache2.service; activé; paramètre du fournisseur: activé)
Actif: actif (en cours d'exécution) depuis ven. 09 juil. 2021 05:50:26 UTC; il y a 5s
Docs: https://httpd.apache.org/docs/2.4/
Process: 17551 ExecStart=/usr/sbin/apachectl start (code=exité, statut=0/SUCCESS)
PID principal: 17567 (apache2)
Tâches: 55 (limite: 2353)
Mémoire: 5.3M
CGroup: /system.slice/apache2.service
??17567 /usr/sbin/apache2 -k start
??17568 /usr/sbin/apache2 -k start
??17569 /usr/sbin/apache2 -k start
Jul 09 05:50:26 node1 systemd[1]: Démarrage du serveur HTTP Apache...
Jul 09 05:50:26 node1 apachectl[17558]: AH00558: apache2: Impossible de déterminer de manière fiable le nom de domaine complet du serveur, en utilisant 45.58.3>Accéder à la console d’administration d’EteSync
Maintenant, ouvrez votre navigateur web et accédez à l’interface d’administration d’EteSync en utilisant l’URL http://etesync.example.com/admin/. Vous serez redirigé vers la page suivante :

Fournissez votre nom d’utilisateur admin, mot de passe et cliquez sur le bouton Se connecter. Vous devriez voir la page suivante :

Sécuriser EteSync avec le SSL Let’s Encrypt
Tout d’abord, vous devrez installer le client Certbot Let’s Encrypt pour télécharger et installer le certificat SSL pour votre domaine.
Vous pouvez l’installer avec la commande suivante :
apt-get install python3-certbot-apache -yUne fois installé, vous pouvez exécuter la commande suivante pour installer le certificat Let’s Encrypt pour votre domaine etesync.example.com.
certbot --apache -d etesync.example.comLors de l’installation, il vous sera demandé de fournir votre adresse e-mail et d’accepter les conditions de service comme indiqué ci-dessous :
Enregistrement du journal de débogage dans /var/log/letsencrypt/letsencrypt.log
Plugins sélectionnés : Authenticator apache, Installer apache
Entrez l'adresse e-mail (utilisée pour les renouvellements urgents et les avis de sécurité) (Entrez 'c' pour
annuler): [email protected]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Veuillez lire les conditions de service à
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Vous devez
accepter pour vous inscrire auprès du serveur ACME à
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)ccepter/(C)annuler: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Seriez-vous prêt à partager votre adresse e-mail avec la Electronic Frontier
Foundation, un partenaire fondateur du projet Let's Encrypt et l'organisation à but non lucratif
qui développe Certbot ? Nous aimerions vous envoyer un e-mail sur notre travail
pour chiffrer le web, les nouvelles de l'EFF, les campagnes et les moyens de soutenir la liberté numérique.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(O)ui/(N)on: Y
Obtention d'un nouveau certificat
Réalisation des défis suivants :
http-01 challenge pour etesync.example.com
Module de réécriture Apache activé
Attente de vérification...
Nettoyage des défis
Création d'un hôte virtuel SSL à /etc/apache2/sites-available/etesync-le-ssl.conf
Déploiement du certificat sur l'hôte virtuel /etc/apache2/sites-available/etesync-le-ssl.conf
Activation du site disponible : /etc/apache2/sites-available/etesync-le-ssl.conf
Veuillez choisir de rediriger ou non le trafic HTTP vers HTTPS, en supprimant l'accès HTTP.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Pas de redirection - Ne faites aucun autre changement à la configuration du serveur web.
2: Rediriger - Faites en sorte que toutes les demandes soient redirigées vers un accès HTTPS sécurisé. Choisissez cela pour
de nouveaux sites, ou si vous êtes sûr que votre site fonctionne sur HTTPS. Vous pouvez annuler ce
changement en modifiant la configuration de votre serveur web.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Sélectionnez le numéro approprié [1-2] puis [entrer] (appuyez sur 'c' pour annuler) : 2Ensuite, tapez 2 et appuyez sur Entrée pour télécharger et installer un certificat SSL gratuit pour votre domaine. Une fois l’installation terminée avec succès, vous devriez obtenir la sortie suivante :
Module de réécriture Apache activé
Redirection de l'hôte virtuel dans /etc/apache2/sites-enabled/etesync.conf vers l'hôte virtuel ssl dans /etc/apache2/sites-available/
etesync-le-ssl.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Félicitations ! Vous avez activé avec succès https://etesync.example.com
Vous devriez tester votre configuration à :
https://www.ssllabs.com/ssltest/analyze.html?d=etesync.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Conclusion
Félicitations ! Vous avez installé avec succès EteSync sur le serveur Ubuntu 20.04 avec SSL Let’s Encrypt. Vous pouvez maintenant synchroniser facilement votre calendrier et vos contacts avec EteSync.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.