GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer le serveur EteSync 2.0 (Etebase) sur Ubuntu

Ce tutoriel va vous montrer comment installer EteSync serveur sur Ubuntu. EteSync est une solution de chiffrement de bout en bout open source pour la synchronisation de vos calendriers, contacts, tâches et notes.

Fonctionnalités EteSync

La dernière version est EteSync 2.0, qui comprend

  • Cryptage de bout en bout.
  • Aucun mot de passe de cryptage séparé n'est nécessaire. Vous n'avez besoin que d'un seul mot de passe utilisé à la fois pour le cryptage et la connexion.
  • Preuve de connaissance zéro pour s'authentifier auprès du serveur en s'assurant que votre mot de passe ne quitte jamais votre appareil.
  • Synchronisation instantanée entre vos appareils.
  • La possibilité de partager des données avec d'autres utilisateurs
  • Les clients sont disponibles pour le bureau (pont DAV), le Web, Android et iOS.
  • Intégration avec les bureaux GNOME et KDE (backend EteSync pour Evolution et Akonadi).
  • Un module complémentaire pour Mozilla Thunderbird.
  • Passez au nouveau protocole Etebase.

Dans un avenir proche, EteSync ajoutera également la prise en charge du partage de localisation sécurisé. EteSync fournit un service hébergé sur etesync.com. Je vais vous montrer comment exécuter une instance auto-hébergée sur un serveur Ubuntu et comment utiliser le logiciel client sur différentes plates-formes.

Étape 1 :Installez la dernière version stable de MariaDB Server sur Ubuntu

Par défaut, EteSync stocke les informations utilisateur dans SQLite base de données. Si vous préférez utiliser MariaDB , suivez les instructions ci-dessous.

Vous devez utiliser la dernière version stable de MariaDB, qui est 10.5, car il y aura des problèmes si vous exécutez EteSync avec MariaDB 10.3. Pour installer la dernière version stable, exécutez les commandes suivantes pour ajouter le référentiel MariaDB sur Ubuntu 20.04.

sudo apt-get install software-properties-common

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.lstn.net/mariadb/repo/10.5/ubuntu focal main'

Pour ajouter le référentiel sur Ubuntu 18.04, remplacez simplement focal avec bionic dans la troisième commande.

Ensuite, mettez à jour l'index du package et installez le serveur MariaDB.

sudo apt update

sudo apt install mariadb-server

Si vous mettez à niveau un serveur MariaDB existant vers la dernière version, vous pouvez voir le message suivant. Je recommande de choisir N pour conserver la version actuelle et examiner ce qui doit changer ultérieurement.

S'il y a un problème de dépendance de package, vous pouvez exécuter la commande suivante pour le résoudre.

sudo apt --fix-broken install

Une fois l'installation terminée, le serveur MariaDB démarre automatiquement. Vous pouvez vérifier son statut avec :

systemctl status mariadb

Comme vous pouvez le voir, il est actif et en cours d'exécution.

Astuce  :Appuyez sur Q pour reprendre le contrôle du terminal si la commande ci-dessus ne se ferme pas immédiatement.

S'il ne fonctionne pas, vous pouvez le démarrer manuellement avec :

sudo systemctl start mariadb

Pour activer le démarrage automatique au démarrage, exécutez

sudo systemctl enable mariadb

Étape 2 :Créer une base de données et un utilisateur pour EteSync dans le serveur de base de données MariaDB

Connectez-vous au serveur de base de données MariaDB avec la commande suivante. Puisque MariaDB utilise maintenant unix_socket plugin pour authentifier la connexion de l'utilisateur, il n'est pas nécessaire de saisir le mot de passe root MariaDB. Nous avons juste besoin de préfixer le mysql commande avec sudo .

sudo mysql

Créez ensuite une base de données pour EteSync. Ce tutoriel nomme la base de données etebase . Vous pouvez utiliser le nom de votre choix.

create database etebase;

Créez l'utilisateur de la base de données. Encore une fois, vous pouvez utiliser votre nom préféré pour cet utilisateur. Remplacez your-password avec votre mot de passe préféré.

create user etebase@localhost identified by 'your-password';

Accordez à cet utilisateur tous les privilèges sur etebase base de données.

grant all privileges on etebase.* to etebase@localhost;

Vider les privilèges et quitter.

flush privileges;

exit;

Étape 3 :Installer le serveur EteSync 2.0 sur Ubuntu

Installez le créateur d'environnement virtuel Python3 et certains outils de création de packages.

sudo apt install python3-virtualenv python3-pip gcc build-essential

Accédez à votre répertoire personnel.

cd

Clonez le référentiel EteSync depuis Github.

git clone https://github.com/etesync/server.git etebase

Accédez au répertoire nouvellement créé.

cd etebase

Créez un environnement virtuel Python3.

virtualenv -p python3 .venv

source .venv/bin/activate

pip install -r requirements.txt

Copiez l'exemple de fichier de configuration.

cp etebase-server.ini.example etebase-server.ini

Modifiez le fichier.

nano etebase-server.ini

Trouvez la ligne suivante

;media_root = /path/to/media

Décommentez-le et modifiez la valeur.

media_root = /home/username/etebase/media/

Trouvez la ligne suivante,

allowed_host1 = example.com

Utilisez un sous-domaine comme etebase.example.com .

allowed_host1 = etebase.example.com

Par défaut, EteSync stocke les informations utilisateur dans la base de données SQLite. Si vous préférez utiliser le serveur de base de données MariaDB, commentez les deux lignes suivantes (ajoutez un point-virgule au début de chaque ligne).

engine = django.db.backends.sqlite3
name = db.sqlite3

Ajoutez ensuite les lignes suivantes à la fin de ce fichier. Cela indique à EteSync comment accéder à etebase base de données dans MariaDB, qui est créée à l'étape 1. Évidemment, vous devez utiliser votre propre mot de passe pour le etebase utilisateur.

engine = django.db.backends.mysql
name = etebase
user = etebase
password = your-password
host = 127.0.0.1
port = 3306

Enregistrez et fermez le fichier. Le serveur Etebase est une application Django, nous pouvons utiliser Daphne (le serveur HTTP/WebSocket de Django Channels) pour exécuter Etebase. Installez Daphné avec :

pip3 install daphne

Comme nous utilisons MySQL/MariaDB comme moteur de base de données, nous devons également installer le mysqlclient module.

sudo apt install libmysqlclient-dev

pip3 install mysqlclient

Installez le aioredis module afin d'utiliser le cache Redis.

pip3 install aioredis

Créez les fichiers statiques de Django.

./manage.py collectstatic

Initialisez l'application.

./manage.py migrate

Démarrez le serveur EteSync 2.0 (Etebase).

daphne -b 0.0.0.0 -p 8001 etebase_server.asgi:application

Étape 4 :Exécutez EteSync en tant que service Systemd

Nous pouvons démarrer manuellement EteSync avec daphne -b 0.0.0.0 -p 8001 etebase_server.asgi:application , mais il est plus pratique d'exécuter EteSync en tant que service systemd en arrière-plan. Appuyez sur Ctrl+C pour arrêter l'instance EteSync en cours.

Créez un fichier d'unité de service systemd pour EteSync avec la commande suivante.

sudo nano /etc/systemd/system/etebase.service

Mettez les lignes suivantes dans le fichier. Remplacer username avec votre vrai nom d'utilisateur.

[Unit]
Description=EteSync: End-to-End Encryption to Sync Calender, Contacts, Tasks and Notes.

[Service]
WorkingDirectory=/home/username/etebase/
ExecStart=/home/username/etebase/.venv/bin/daphne -b 127.0.0.1 -p 8001 -u /tmp/etebase_server.sock etebase_server.asgi:application
User=username
Group=username
Restart=always
RestartSec=5s

[Install]
WantedBy=multi-user.target

Enregistrez et fermez le fichier. Nous pouvons maintenant démarrer et activer etebase service systemd.

sudo systemctl start etebase

sudo systemctl enable etebase

Vérifier l'état.

systemctl status etebase

Si etebase le service n'est pas actif (en cours d'exécution), vous pouvez exécuter la commande suivante pour voir ce qui ne va pas.

sudo journalctl -eu etebase

Étape 5 :Configurer le proxy inverse

Nous devons maintenant configurer un proxy inverse pour l'application Django, afin que nous puissions plus tard accéder à EteSync via un nom de domaine et activer facilement HTTPS. Nous pouvons utiliser Apache ou Nginx pour accomplir cela.

Apache

Si vous préférez Apache, installez le serveur Web Apache à l'aide de la commande suivante.

sudo apt install apache2

Pour utiliser Apache comme proxy inverse, nous devons activer le proxy modules et l'header module.

sudo a2enmod proxy proxy_http headers proxy_wstunnel

Créez ensuite un fichier d'hôte virtuel pour EteSync.

sudo nano /etc/apache2/sites-available/etebase.conf

Mettez les configurations suivantes dans le fichier. Remplacez etebase.example.com avec votre vrai nom de domaine. N'oubliez pas de créer un enregistrement DNS A pour ce sous-domaine. Si vous n'avez pas de vrai nom de domaine, je vous recommande d'aller sur NameCheap pour en acheter un. Le prix est bas et ils offrent une protection de la confidentialité whois gratuite à vie.

<VirtualHost *:80>
   ServerName etebase.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 /home/username/etebase/static

</VirtualHost>

Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel.

sudo a2ensite etebase.conf

Redémarrez Apache

sudo systemctl restart apache2

Vous pouvez maintenant accéder à l'interface Web EteSync en utilisant le nom de domaine etebase.example.com .

Nginx

Si vous préférez le serveur Web Nginx, installez Nginx avec.

sudo apt install nginx

Créez un fichier d'hôte virtuel dans Nginx pour EteSync.

sudo nano /etc/nginx/conf.d/etebase.conf

Mettez les lignes suivantes dans le fichier. Remplacez les espaces réservés si nécessaire et vous devriez créer un enregistrement DNS A pour le sous-domaine.

upstream etebase {
    server unix:///tmp/etebase_server.sock;
}

server {
    listen 80;
    listen [::]:80;
    server_name etebase.example.com;

    charset     utf-8;
    access_log /var/log/nginx/etebase.access;
    error_log /var/log/nginx/etebase.error;

    # max upload size
    client_max_body_size 75M;

    location /static/ {
        alias /home/username/etebase/static/;
    }

    location / {
        proxy_pass http://etebase;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $server_name;
    }
}

Enregistrez et fermez le fichier. Testez ensuite les configurations Nginx.

sudo nginx -t

Si le test réussit, rechargez Nginx pour que la modification prenne effet.

sudo systemctl reload nginx

Vous pouvez maintenant accéder à l'interface Web d'EteSync sur etebase.example.com .

Dépannage

Si vous voyez la bad request (400) erreur lors de la tentative d'accès à l'interface Web EteSync, assurez-vous d'avoir ajouté le nom du serveur etesync au allowd_hosts liste dans etebase-server.ini dossier. Puis redémarrez etebase (sudo systemctl restart etebase ).

Vous pouvez également activer le mode débogage dans etebase-server.ini fichier, c'est-à-dire modifier

debug = false

À

debug = true

Redémarrez ensuite etebase.

sudo systemctl restart etebase

Vérifiez ensuite le journal de service systemd.

sudo journalctl -eu etebase

Étape 6 :Activer HTTPS

Pour chiffrer le trafic HTTP, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let's Encrypt. Exécutez la commande suivante pour installer le client Let's Encrypt (certbot) sur le serveur Ubuntu.

sudo apt install certbot

Si vous utilisez Apache, vous devez également installer le plugin Certbot Apache.

sudo apt install python3-certbot-apache

Ensuite, exécutez la commande suivante pour obtenir et installer le certificat TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d etebase.example.com

Si vous utilisez Nginx, vous devez également installer le plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Ensuite, exécutez la commande suivante pour obtenir et installer le certificat TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d etebase.yourdomain.com

Où :

  • --apache :Utilisez le plug-in Apache.
  • --nginx  :Utilisez le plug-in nginx.
  • --agree-tos  :acceptez les conditions d'utilisation.
  • --redirect  :Forcer HTTPS par redirection 301.
  • --hsts :Ajoutez l'en-tête Strict-Transport-Security à chaque réponse HTTP. Forcer le navigateur à toujours utiliser TLS pour le domaine. Protège contre le SSL/TLS Stripping.
  • --staple-ocsp :active l'agrafage OCSP. Une réponse OCSP valide est agrafée au certificat que le serveur propose pendant TLS.

Le certificat devrait maintenant être obtenu et installé automatiquement.

Étape 7 :Créer des comptes utilisateur

Créez un utilisateur super administrateur.

./manage.py createsuperuser

Allez ensuite sur etebase.example.com/admin et connectez-vous à la console d'administration. Ensuite, vous pouvez créer des comptes d'utilisateurs individuels à utiliser pour synchroniser les calendriers, les contacts, les tâches et les notes. Notez que vous n'avez pas besoin de créer de mots de passe pour les utilisateurs dans la console d'administration EteSync, car Etebase utilise une preuve de connaissance zéro pour l'authentification.

Nous devons maintenant configurer les clients pour utiliser EteSync.

Comment installer le module Evolution EteSync sur le bureau Ubuntu

Évolution est la suite groupware par défaut dans l'environnement de bureau GNOME. Vous pouvez l'installer sur votre bureau Ubuntu avec :

sudo apt install evolution

Pour utiliser EteSync dans Evolution, nous devons installer le module EteSync pour Evolution en suivant les étapes ci-dessous.

Cloner la libetebase référentiel.

sudo apt install git

git clone https://github.com/etesync/libetebase.git

Accédez au répertoire nouvellement créé.

cd libetebase/

Installez les packages requis pour créer le package à partir de la source.

sudo apt install build-essential libssl-dev cargo

Compilez le paquet source.

make

Installez le binaire.

sudo make install

Revenez ensuite au répertoire précédent.

cd ..

Cloner le Evolution-EteSync référentiel.

git clone https://gitlab.gnome.org/GNOME/evolution-etesync

Accédez au répertoire nouvellement créé.

cd evolution-etesync/

Installez les packages requis pour créer le package à partir de la source.

sudo apt install cmake intltool evolution-data-server-dev evolution-dev libedata-book1.2-dev libedata-cal2.0-dev libecal2.0-dev libebook1.2-dev

Compilez et installez le package.

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make -j
sudo make -j install

Utiliser EteSync dans Evolution

Lancez maintenant l'application Evolution sur votre bureau Ubuntu. Cliquez sur Nouveau dans la barre d'outils et ajoutez un nouveau compte de collection .

Entrez ensuite votre nom d'utilisateur EteSync et l'adresse du serveur. Notez que vous devez ajouter https:// comme préfixe de l'adresse du serveur. Sélectionnez Rechercher un compte EteSync et décochez toutes les autres options. Cliquez ensuite sur Rechercher bouton.

Il vous demandera d'entrer le mot de passe pour continuer. C'est en fait le moment de définir le mot de passe, alors cliquez sur Entrer le mot de passe lien et définissez un mot de passe.

Après avoir entré un mot de passe, cliquez sur le bouton Réessayer et il devrait trouver un candidat. Cliquez sur Suivant bouton pour continuer.

Synchroniser avec NextCloud

Si vous avez un serveur Nextcloud auto-hébergé et avez installé l'application Calendrier, Tâches ou Contacts sur votre serveur Nextcloud, vous pouvez ajouter votre serveur Nextcloud DAV dans Evolution, afin qu'ils puissent être synchronisés. Ajoutez simplement un autre compte de collecte dans Evolution, saisissez votre nom d'utilisateur Nextcloud et votre adresse CalDAV/CardDAV, sélectionnez Rechercher un serveur CalDAV/CardDAV , décochez toutes les autres options. Entrez ensuite votre mot de passe Nextcloud. L'adresse Nextcloud CalDAV/CardDAV doit être https://nextcloud.yourdomain.com/remote.php/dav .

Utilisation de l'application iOS EteSync

Pour synchroniser votre calendrier, vos contacts et vos tâches sur iOS, vous devez d'abord configurer un compte CalDAV/CardDAV dans iOS. Accédez aux Paramètres application -> Calendrier -> Comptes -> Ajouter un compte -> Autre , et ajoutez un compte CalDAV et CardDAV. CalDAV est utilisé pour synchroniser les calendriers et CardDAV est utilisé pour synchroniser les contacts sur vos appareils.

Si vous avez un serveur Nextcloud auto-hébergé, vous pouvez utiliser votre compte Nextcloud CalDAV/CardDAV. Si vous n'en avez pas, utilisez simplement un faux compte.

Ensuite, installez l'application EteSync depuis l'App Store. Ajoutez ensuite votre compte EteSync.

Après vous être connecté à votre compte EteSync, accédez aux paramètres menu dans l'application EteSync. Dans l'onglet Avancé section, sélectionnez votre compte CardDAV pour synchroniser les contacts et sélectionnez votre compte CalDAV pour synchroniser les calendriers et les rappels .


Ubuntu
  1. Comment installer MariaDB 10.4 sur Ubuntu 18.04

  2. Comment installer MySQL sur Ubuntu 18.04

  3. Comment installer MariaDB sur Ubuntu 18.04

  4. Comment installer Zimbra 8.6 sur le serveur Ubuntu 14.04

  5. Comment installer MariaDB sur Ubuntu 22.04

Comment installer Consul Server sur Ubuntu 16.04

Comment installer MariaDB sur Ubuntu 18.04 / Ubuntu 16.04

Comment installer le serveur EteSync 2.0 (Etebase) sur Ubuntu

Comment installer MariaDB sur Ubuntu 16.04

Comment installer EteSync Server sur Ubuntu 20.04 LTS

Comment installer MariaDB sur Ubuntu