EteSync ist ein kostenloses Open-Source-End-to-End-Tool zum Synchronisieren Ihrer Kontakte, Kalender, Aufgaben und Notizen. Es kann einfach in Ihre bestehenden Apps integriert werden. Sie benötigen nur ein Passwort für Login und Verschlüsselung. EteSync kann Daten mit anderen Benutzern teilen und zwischen mehreren Geräten synchronisieren. Es bietet auch ein Add-on für Mozilla Thunderbird und einen Client für Web, Desktop, Android und iOS.
In diesem Beitrag zeigen wir Ihnen, wie Sie EteSync auf einem Ubuntu 20.04-Server installieren.
Voraussetzungen
- Ein frischer Ubuntu 20.04-Server auf der Atlantic.Net Cloud Platform
- Ein gültiger Domainname, der auf Ihren Server verweist
- Ein auf Ihrem Server konfiguriertes Root-Passwort
Schritt 1 – Atlantic.Net Cloud-Server erstellen
Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Ubuntu 20.04 als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.
Sobald Sie sich bei Ihrem Ubuntu 20.04-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.
apt-get update -y
Schritt 2 – MariaDB-Datenbank installieren und konfigurieren
EteSync verwendet MariaDB als Datenbank-Backend, daher muss die neueste Version von MariaDB auf Ihrem Server installiert sein.
Installieren Sie zunächst die erforderlichen Abhängigkeiten mit dem folgenden Befehl:
apt-get install software-properties-common curl git gnupg2 -y
Laden Sie als Nächstes den GPG-Schlüssel und das Repository herunter und fügen Sie sie mit dem folgenden Befehl hinzu:
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'
Installieren Sie als Nächstes die neueste Version des MariaDB-Servers mit dem folgenden Befehl:
apt-get install mariadb-server -y
Verbinden Sie sich als Nächstes mit MariaDB und erstellen Sie eine Datenbank und einen Benutzer:
mysql
Sobald die Verbindung hergestellt ist, erstellen Sie eine Datenbank und einen Benutzer mit dem folgenden Befehl:
create database etebase; create user [email protected] identified by 'password';
Als nächstes erteilen Sie der etebase-Datenbank alle Privilegien mit dem folgenden Befehl:
grant all privileges on etebase.* to [email protected];
Leeren Sie als Nächstes die Berechtigungen und beenden Sie die MariaDB mit dem folgenden Befehl:
flush privileges; exit;
Schritt 3 – EteSync installieren
Zuerst müssen Sie alle Python-Abhängigkeiten auf Ihrem Server installieren. Sie können alle mit dem folgenden Befehl installieren:
apt-get install python3-virtualenv python3-pip gcc build-essential libmysqlclient-dev -y
Sobald alle Abhängigkeiten installiert sind, laden Sie die neueste Version von EteSync mit dem folgenden Befehl herunter:
git clone https://github.com/etesync/server.git etebase
Wechseln Sie als Nächstes in das heruntergeladene Verzeichnis und erstellen Sie mit dem folgenden Befehl eine virtuelle Python-Umgebung:
cd etebase virtualenv -p python3 .venv
Als nächstes aktivieren Sie die virtuelle Umgebung mit dem folgenden Befehl:
source .venv/bin/activate
Als nächstes installieren Sie alle erforderlichen Abhängigkeiten mit dem folgenden Befehl:
pip install -r requirements.txt
Als nächstes benennen Sie die Beispielkonfigurationsdatei um:
cp etebase-server.ini.example etebase-server.ini
Als nächstes bearbeiten Sie die Konfigurationsdatei mit dem folgenden Befehl:
nano etebase-server.ini
Ändern Sie die folgenden Zeilen:
media_root = /mnt allowed_host1 = etebase.example.com ;engine = django.db.backends.sqlite3 ;name = db.sqlite3 engine = django.db.backends.mysql name = etebase user = etebase password = password host = 127.0.0.1 port = 3306
Speichern und schließen Sie die Datei und installieren Sie dann den Django-Web-Socket-Server und den MariaDB-Client mit dem folgenden Befehl:
pip3 install daphne mysqlclient aioredis
Erstellen Sie als Nächstes die statischen Dateien von Django mit dem folgenden Befehl:
./manage.py collectstatic
Als nächstes initialisieren Sie die Anwendung mit dem folgenden Befehl:
./manage.py migrate
Als nächstes starten Sie den EteSync-Server mit dem folgenden Befehl:
daphne -b 0.0.0.0 -p 8001 etebase_server.asgi:application
Sie sollten die folgende Ausgabe erhalten:
2021-03-13 04:30:04,102 INFO Starting server at tcp:port=8001:interface=0.0.0.0 2021-03-13 04:30:04,103 INFO HTTP/2 support not enabled (install the http2 and tls Twisted extras) 2021-03-13 04:30:04,103 INFO Configuring endpoint tcp:port=8001:interface=0.0.0.0 2021-03-13 04:30:04,104 INFO Listening on TCP address 0.0.0.0:8001
Drücken Sie STRG+C, um den Server zu stoppen.
Schritt 4 – Erstellen Sie eine Systemd-Dienstdatei für EteSync
Als nächstes müssen Sie eine systemd-Dienstdatei für EteSync erstellen. Sie können es mit dem folgenden Befehl erstellen:
nano /etc/systemd/system/etebase.service
Fügen Sie die folgenden Zeilen hinzu:
[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
Speichern und schließen Sie die Datei und laden Sie dann den systemd-Daemon mit dem folgenden Befehl neu:
systemctl daemon-reload
Starten Sie als Nächstes den EteSync-Dienst und aktivieren Sie ihn mit dem folgenden Befehl, damit er beim Systemneustart gestartet wird:
systemctl start etebase systemctl enable etebase
Überprüfen Sie als Nächstes den Status des EteSync-Dienstes mit dem folgenden Befehl:
systemctl status etebase
Sie sollten die folgende Ausgabe erhalten:
● etebase.service - EteSync: End-to-End Encryption to Sync Calender, Contacts, Tasks and Notes. Loaded: loaded (/etc/systemd/system/etebase.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2021-03-13 04:30:57 UTC; 6s ago Main PID: 13641 (daphne) Tasks: 1 (limit: 2353) Memory: 48.5M CGroup: /system.slice/etebase.service └─13641 /root/etebase/.venv/bin/python /root/etebase/.venv/bin/daphne -b 127.0.0.1 -p 8001 -u /tmp/etebase_server.sock etebase_se> Mar 13 04:30:57 ubuntu2004 systemd[1]: Started EteSync: End-to-End Encryption to Sync Calender, Contacts, Tasks and Notes.. Mar 13 04:30:58 ubuntu2004 daphne[13641]: 2021-03-13 04:30:58,437 INFO Starting server at tcp:port=8001:interface=127.0.0.1, unix:/tmp/ete> Mar 13 04:30:58 ubuntu2004 daphne[13641]: 2021-03-13 04:30:58,438 INFO HTTP/2 support not enabled (install the http2 and tls Twisted extra> Mar 13 04:30:58 ubuntu2004 daphne[13641]: 2021-03-13 04:30:58,439 INFO Configuring endpoint tcp:port=8001:interface=127.0.0.1 Mar 13 04:30:58 ubuntu2004 daphne[13641]: 2021-03-13 04:30:58,441 INFO Listening on TCP address 127.0.0.1:8001 Mar 13 04:30:58 ubuntu2004 daphne[13641]: 2021-03-13 04:30:58,441 INFO Configuring endpoint unix:/tmp/etebase_server.sock
Schritt 5 – Nginx für EteSync konfigurieren
Als nächstes installieren Sie Nginx mit dem folgenden Befehl:
apt-get install nginx -y
Erstellen Sie nach der Installation eine Konfigurationsdatei für den virtuellen Nginx-Host mit dem folgenden Befehl:
nano /etc/nginx/conf.d/etebase.conf
Fügen Sie die folgenden Zeilen hinzu:
upstream etebase { server unix:/tmp/etebase_server.sock; } server { 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 /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; } }
Speichern und schließen Sie die Datei und starten Sie dann den Nginx-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart nginx
Schritt 6 – Erstellen Sie einen Admin-Benutzer
Als nächstes müssen Sie einen administrativen Benutzer für EteSync erstellen.
Ändern Sie zuerst das Verzeichnis in etebase und aktivieren Sie die virtuelle Umgebung, falls nicht aktiviert:
cd etebase source .venv/bin/activate
Als nächstes erstellen Sie einen Superuser mit dem folgenden Befehl:
./manage.py createsuperuser
Geben Sie alle Informationen wie unten gezeigt an:
Username: admin Email address: [email protected] Password: Password (again): Superuser created successfully.
Schritt 7 – Zugriff auf EteSync
Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://etebase.example.com/admin auf Ihre EteSync-Weboberfläche zu . Sie sollten die folgende Seite sehen:
Geben Sie Ihren Benutzernamen und Ihr Passwort ein und klicken Sie auf Anmelden Taste. Sie sollten das EteSync-Dashboard auf der folgenden Seite sehen:
Schlussfolgerung
Herzliche Glückwünsche! Sie haben EteSync erfolgreich auf dem Ubuntu 20.04-Server installiert und konfiguriert. Sie können jetzt ganz einfach Ihre Kontakte, Kalender, Aufgaben und Notizen mit dem VPS-Hosting von Atlantic.Net synchronisieren!