Dans ce didacticiel, nous allons vous montrer comment installer EteSync Server sur Ubuntu 20.04 LTS. Pour ceux d'entre vous qui ne le savaient pas, EteSync est une solution open source de bout en bout solution de chiffrement pour la synchronisation de vos calendriers, contacts, tâches et notes. Elle est accessible via les clients de bureau, Web, Android et iOS.
Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L'installation est assez simple et suppose que vous s'exécutent dans le compte root, sinon vous devrez peut-être ajouter 'sudo
‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer pas à pas l'installation du serveur EteSync sur Ubuntu 20.04 (Focal Fossa). Vous pouvez suivre les mêmes instructions pour Ubuntu 18.04, 16.04 et toute autre distribution basée sur Debian comme Linux Mint.
Prérequis
- Un serveur exécutant l'un des systèmes d'exploitation suivants :Ubuntu 20.04, 18.04 et toute autre distribution basée sur Debian comme Linux Mint ou un système d'exploitation élémentaire.
- Il est recommandé d'utiliser une nouvelle installation du système d'exploitation pour éviter tout problème potentiel.
- Un
non-root sudo user
ou l'accès à l'root user
. Nous vous recommandons d'agir en tant qu'non-root sudo user
, cependant, car vous pouvez endommager votre système si vous ne faites pas attention lorsque vous agissez en tant que root.
Installer EteSync Server sur Ubuntu 20.04 LTS Focal Fossa
Étape 1. Tout d'abord, assurez-vous que tous vos packages système sont à jour en exécutant le apt
suivant commandes dans le terminal.
sudo apt update sudo apt upgrade sudo apt install python3-virtualenv python3-pip gcc build-essential libmysqlclient-dev
Étape 2. Installation de MariaDB.
Exécutez la commande suivante pour ajouter la clé GPG et le référentiel MariaDB avec 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, installez MariaDB sur votre système :
sudo apt install mariadb-server
Par défaut, MariaDB n'est pas renforcée. Vous pouvez sécuriser MariaDB à l'aide de mysql_secure_installation
scénario. vous devez lire attentivement et en dessous de chaque étape qui définira un mot de passe root, supprimera les utilisateurs anonymes, interdira la connexion root à distance et supprimera la base de données de test et l'accès à MariaDB sécurisé :
mysql_secure_installation
Configurez-le comme ceci :
- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y
Ensuite, nous devrons nous connecter à la console MariaDB et créer une base de données pour EteSync. Exécutez la commande suivante :
mysql -u root -p
Cela vous demandera un mot de passe, alors entrez votre mot de passe root MariaDB et appuyez sur Entrée. Une fois que vous êtes connecté à votre serveur de base de données, vous devez créer une base de données pour Installation d'EteSync :
MariaDB [(none)]> create database etesyncdb; MariaDB [(none)]> create user etesync@localhost identified by 'your-stronge-passwd'; MariaDB [(none)]> grant all privileges on etesyncdb.* to etesync@localhost; MariaDB [(none)]> flush privileges; MariaDB [(none)]> exit;
Étape 3. Installation du serveur EteSync sur Ubuntu 20.04.
Nous téléchargeons maintenant la dernière version d'EteSync depuis GitHub :
git clone https://github.com/etesync/server.git etebase
Ensuite, changez de répertoire et créez un Python virtuel :
cd etebase virtualenv -p python3 .venv source .venv/bin/activate pip install -r requirements.txt
Après cela, copiez l'exemple de fichier de configuration et modifiez la configuration :
cp etebase-server.ini.example etebase-server.ini nano etebase-server.ini
Modifiez les lignes suivantes :
media_root = /mnt allowed_host1 = etesync.your-domain.com ;engine = django.db.backends.sqlite3 ;name = db.sqlite3 engine = django.db.backends.mysql name = etebase user = etebase password = your-strong-password host = 127.0.0.1 port = 3306
Enregistrez et fermez le fichier puis installez d'autres modules en utilisant la commande suivante ci-dessous :
pip3 install daphne mysqlclient aioredis
Ensuite, générez les fichiers statiques et migrez la base de données avec la commande suivante :
./manage.py collectstatic ./manage.py migrate
Démarrez ensuite le serveur EteSync avec la commande suivante :
daphne -b 0.0.0.0 -p 8001 etebase_server.asgi:application
Étape 4. Créez un fichier de service Systemd pour EteSync.
Créez maintenant un systemd
fichier d'unité de service pour EteSync avec la commande suivante :
nano /etc/systemd/system/etebase.service
Ajoutez les lignes suivantes :
[Unit] Description=EteSync: End-to-End Encryption to Sync Calendar, Contacts, Tasks and Notes. [Service] WorkingDirectory=/root/etebase/ ExecStart=/root/etebase/.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.target
Enregistrez et fermez le fichier, puis rechargez le systemd
démon avec la commande suivante :
sudo systemctl daemon-reload sudo systemctl start etebase sudo systemctl enable etebase
Étape 5. Configurez Nginx.
Nous installons maintenant Nginx en utilisant la commande suivante ci-dessous :
sudo apt install nginx
Ensuite, créez un fichier de configuration d'hôte virtuel Nginx avec la commande suivante :
nano /etc/nginx/conf.d/etebase.conf
Ajoutez les lignes suivantes :
upstream etebase { server unix:/tmp/etebase_server.sock; } server { listen 80; server_name etesync.your-domain.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 64M; location /static/ { alias /root/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 of/f; 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, puis redémarrez le service Nginx pour appliquer les modifications de configuration :
sudo systemctl restart nginx
Étape 6. Créez des comptes d'utilisateurs.
Tout d'abord, nous changeons le répertoire en etebase et activons l'environnement virtuel s'il n'est pas activé :
cd etebase source .venv/bin/activate
Ensuite, créez un superutilisateur avec la commande suivante :
./manage.py createsuperuser
Indiquez votre nom d'utilisateur, votre mot de passe et votre adresse e-mail comme indiqué ci-dessous :
Username: admin Email address: [email protected] Password: Password (again): Superuser created successfully.
Étape 7. Accédez à l'interface Web du serveur EteSync.
Une fois installé avec succès, ouvrez votre navigateur Web et accédez à votre interface Web EteSync en utilisant l'URL http://etesync.your-domain.com/admin
. Vous devriez voir la page suivante :
Félicitations ! Vous avez installé EteSync avec succès. Merci d'avoir utilisé ce tutoriel pour installer EteSync Server sur le système Ubuntu 20.04 LTS Focal Fossa. Pour une aide supplémentaire ou des informations utiles, nous vous recommandons de consulter le site officiel EteSync site Web.