EteSync Installation · 9 min read · Sep 30, 2025
So installieren Sie den EteSync-Server auf Ubuntu 20.04

EteSync ist eine Open-Source-Lösung zum Synchronisieren Ihrer Kontakte, Kalender und Aufgaben. Es ist selbst gehostet, bietet End-to-End-Verschlüsselung und ermöglicht es Ihnen, Daten mit anderen Benutzern zu teilen. Es kann in GNOME- und KDE-Desktops integriert werden. Es kann über Desktop-, Web-, Android- und iOS-Clients zugegriffen werden.
In diesem Tutorial zeige ich Ihnen, wie Sie EteSync mit Apache auf Ubuntu 20.04 installieren.
Voraussetzungen
- Ein Server, der Ubuntu 20.04 ausführt.
- Ein gültiger Domainname, der auf Ihre Server-IP zeigt.
- Ein Root-Passwort ist auf dem Server konfiguriert.
Erste Schritte
Zuerst aktualisieren Sie die Systempakete auf die aktualisierte Version, indem Sie den folgenden Befehl ausführen:
apt-get update -ySobald alle Pakete aktualisiert sind, können Sie mit dem nächsten Schritt fortfahren.
Installation des MariaDB-Servers
Standardmäßig verwendet EteSync die SQLite-Datenbank, um seine Informationen zu speichern. Hier werden wir MariaDB als Datenbank-Backend installieren und verwenden.
Zuerst installieren Sie die erforderlichen Abhängigkeiten mit dem folgenden Befehl:
apt-get install software-properties-common gnupg2 -yFügen Sie als Nächstes den MariaDB GPG-Schlüssel und das Repository 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'Aktualisieren Sie als Nächstes das MariaDB-Repository und installieren Sie die neueste Version von MariaDB mit dem folgenden Befehl:
apt-get install mariadb-server -yNach der Installation des MariaDB-Servers melden Sie sich mit dem folgenden Befehl an der MariaDB-Shell an:
mysqlSobald Sie angemeldet sind, erstellen Sie eine Datenbank und einen Benutzer für EteSync mit dem folgenden Befehl:
MariaDB [(none)]> create database etesync;
MariaDB [(none)]> create user etesync@localhost identified by 'securepassword';Gewähren Sie als Nächstes alle Berechtigungen für die EteSync-Datenbank mit dem folgenden Befehl:
MariaDB [(none)]> grant all privileges on etesync.* to etesync@localhost;Spülen Sie als Nächstes die Berechtigungen und beenden Sie die MariaDB mit dem folgenden Befehl:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Installation und Konfiguration von EteSync
Zuerst müssen Sie einige Python-Abhängigkeiten installieren, die für EteSync erforderlich sind. Sie können alle mit dem folgenden Befehl installieren:
apt-get install python3-virtualenv python3-pip gcc libmysqlclient-dev build-essential git -yNachdem Sie alle Abhängigkeiten installiert haben, laden Sie die neueste Version von EteSync mit dem folgenden Befehl herunter:
git clone https://github.com/etesync/server.git etesyncSobald der Download abgeschlossen ist, wechseln Sie in das Verzeichnis etesync und erstellen Sie eine Python-virtuelle Umgebung mit dem folgenden Befehl:
cd etesync
virtualenv -p python3 .venvAktivieren Sie als Nächstes die virtuelle Umgebung mit dem folgenden Befehl:
source .venv/bin/activateInstallieren Sie als Nächstes alle Anforderungen mit dem folgenden Befehl:
pip install -r requirements.txtKopieren Sie als Nächstes die Beispielkonfigurationsdatei:
cp etebase-server.ini.example etebase-server.iniBearbeiten Sie als Nächstes die Konfigurationsdatei mit dem folgenden Befehl:
nano etebase-server.iniFügen Sie die folgenden Zeilen gemäß Ihrer Konfiguration hinzu oder ändern Sie sie:
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 = 3306Speichern und schließen Sie die Datei und installieren Sie dann andere Module mit dem folgenden Befehl:
pip3 install daphne
pip3 install mysqlclient
pip3 install aioredisGenerieren Sie als Nächstes die statischen Dateien und migrieren Sie die Datenbank mit dem folgenden Befehl:
./manage.py collectstatic
./manage.py migrateStarten Sie schließlich den EteSync-Server mit dem folgenden Befehl:
daphne -b 0.0.0.0 -p 8001 etebase_server.asgi:applicationWenn alles in Ordnung ist, sollten Sie die folgende Ausgabe erhalten:
2021-07-09 05:42:28,510 INFO Starting server at tcp:port=8001:interface=0.0.0.0
2021-07-09 05:42:28,510 INFO HTTP/2 support not enabled (install the http2 and tls Twisted extras)
2021-07-09 05:42:28,511 INFO Configuring endpoint tcp:port=8001:interface=0.0.0.0
2021-07-09 05:42:28,512 INFO Listening on TCP address 0.0.0.0:8001Drücken Sie CTRL + C, um den Server zu stoppen.
Erstellen Sie als Nächstes einen Administrationsbenutzer mit dem folgenden Befehl:
./manage.py createsuperuserGeben Sie Ihren Benutzernamen, Ihr Passwort und Ihre E-Mail-Adresse wie unten gezeigt ein:
Username: etesync
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.Deaktivieren Sie sich als Nächstes mit dem folgenden Befehl von der Python-virtuellen Umgebung:
deactivateErstellen einer Systemd-Einheitendatei für EteSync
Als Nächstes müssen Sie eine Systemd-Einheitendatei zur Verwaltung von EteSync erstellen. Sie können dies mit dem folgenden Befehl tun:
nano /etc/systemd/system/etesync.serviceFügen Sie die folgenden Zeilen hinzu:
[Unit]
Description=EteSync: End-to-End Encryption to Sync Calender, Contacts, Tasks and 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.targetSpeichern und schließen Sie die Datei und laden Sie dann den systemd-Daemon neu, um die Konfigurationsänderungen anzuwenden:
systemctl daemon-reloadStarten und aktivieren Sie als Nächstes den EteSync-Dienst mit dem folgenden Befehl:
systemctl start etesync
systemctl enable etesyncUm den Status des EteSync-Dienstes zu überprüfen, führen Sie den folgenden Befehl aus:
systemctl status etesyncSie sollten die folgende Ausgabe erhalten:
? etesync.service - EteSync: End-to-End Encryption to Sync Calender, Contacts, Tasks and Notes.
Loaded: loaded (/etc/systemd/system/etesync.service; disabled; vendor preset: enabled)
Active: active (running) since Fri 2021-07-09 05:45:45 UTC; 5s ago
Main PID: 16213 (daphne)
Tasks: 1 (limit: 2353)
Memory: 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]: Started EteSync: End-to-End Encryption to Sync Calender, Contacts, Tasks and Notes..
Jul 09 05:45:46 node1 daphne[16213]: 2021-07-09 05:45:46,993 INFO Starting server at 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 HTTP/2 support not enabled (install the http2 and tls Twisted extras)
Jul 09 05:45:46 node1 daphne[16213]: 2021-07-09 05:45:46,995 INFO Configuring endpoint tcp:port=8001:interface=127.0.0.1
Jul 09 05:45:46 node1 daphne[16213]: 2021-07-09 05:45:46,997 INFO Listening on TCP address 127.0.0.1:8001
Jul 09 05:45:46 node1 daphne[16213]: 2021-07-09 05:45:46,998 INFO Configuring endpoint unix:/tmp/etebase_server.sockAn diesem Punkt ist EteSync gestartet und hört auf Port 8001. Sie können nun mit dem nächsten Schritt fortfahren.
Konfiguration von Apache als Reverse-Proxy
Es ist auch ratsam, Apache als Reverse-Proxy zu installieren und zu verwenden, um auf EteSync zuzugreifen. Zuerst installieren Sie den Apache-Server mit dem folgenden Befehl:
apt-get install apache2 -yNach der Installation des Apache-Servers aktivieren Sie alle Proxy-Module mit dem folgenden Befehl:
a2enmod proxy proxy_http headers proxy_wstunnelErstellen Sie als Nächstes eine neue Apache-virtuelle Hostkonfigurationsdatei:
nano /etc/apache2/sites-available/etesync.confFügen Sie die folgenden Zeilen hinzu:
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
Speichern und schließen Sie die Datei und aktivieren Sie dann den Apache-virtuellen Host mit dem folgenden Befehl:
a2ensite etesync.confStarten Sie als Nächstes den Apache neu, um die Änderungen zu aktualisieren:
systemctl restart apache2Sie können jetzt den Apache-Status mit dem folgenden Befehl überprüfen:
systemctl status apache2Sie sollten die folgende Ausgabe erhalten:
? apache2.service - Der Apache HTTP-Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-07-09 05:50:26 UTC; 5s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 17551 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 17567 (apache2)
Tasks: 55 (limit: 2353)
Memory: 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]: Starting Der Apache HTTP-Server...
Jul 09 05:50:26 node1 apachectl[17558]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 45.58.3>Zugriff auf die EteSync-Admin-Konsole
Öffnen Sie jetzt Ihren Webbrowser und greifen Sie auf die EteSync-Admin-Oberfläche über die URL http://etesync.example.com/admin/ zu. Sie werden auf die folgende Seite umgeleitet:

Geben Sie Ihren Admin-Benutzernamen, Ihr Passwort ein und klicken Sie auf die Schaltfläche Anmelden. Sie sollten die folgende Seite sehen:

Sichern Sie EteSync mit Let’s Encrypt SSL
Zuerst müssen Sie den Certbot Let’s Encrypt-Client installieren, um das SSL-Zertifikat für Ihre Domain herunterzuladen und zu installieren.
Sie können es mit dem folgenden Befehl installieren:
apt-get install python3-certbot-apache -ySobald es installiert ist, können Sie den folgenden Befehl ausführen, um das Let’s Encrypt-Zertifikat für Ihre Domain etesync.example.com zu installieren.
certbot --apache -d etesync.example.comWährend der Installation werden Sie aufgefordert, Ihre E-Mail-Adresse anzugeben und den Nutzungsbedingungen zuzustimmen, wie unten gezeigt:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for etesync.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/etesync-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/etesync-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/etesync-le-ssl.conf
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2Geben Sie als Nächstes 2 ein und drücken Sie die Eingabetaste, um ein kostenloses SSL-Zertifikat für Ihre Domain herunterzuladen und zu installieren. Sobald die Installation erfolgreich abgeschlossen wurde, sollten Sie die folgende Ausgabe erhalten:
Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/etesync.conf to ssl vhost in /etc/apache2/sites-available/
etesync-le-ssl.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://etesync.example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=etesync.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Fazit
Herzlichen Glückwunsch! Sie haben EteSync erfolgreich auf dem Ubuntu 20.04-Server mit Let’s Encrypt SSL installiert. Sie können jetzt Ihren Kalender und Ihre Kontakte einfach mit EteSync synchronisieren.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.