GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie den EteSync-Server unter Ubuntu 20.04

EteSync ist eine Open-Source-Lösung zum Synchronisieren Ihrer Kontakte, Kalender und Aufgaben. Es wird selbst gehostet, bietet Ende-zu-Ende-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 darauf zugegriffen werden.

In diesem Tutorial zeige ich Ihnen, wie Sie EteSync mit Apache auf Ubuntu 20.04 installieren.

Voraussetzungen

  • Ein Server mit Ubuntu 20.04.
  • Ein gültiger Domainname, auf den Ihre Server-IP verweist.
  • Auf dem Server ist ein Root-Passwort konfiguriert.

Erste Schritte

Aktualisieren Sie zuerst die Systempakete auf die aktualisierte Version, indem Sie den folgenden Befehl ausführen:

apt-get update -y

Sobald alle Pakete aktualisiert sind, können Sie mit dem nächsten Schritt fortfahren.

MariaDB-Server installieren

Standardmäßig verwendet EteSync die SQLite-Datenbank, um seine Informationen zu speichern. Hier werden wir MariaDB als Datenbank-Backend installieren und verwenden.

Installieren Sie zunächst die erforderlichen Abhängigkeiten mit dem folgenden Befehl:

apt-get install software-properties-common gnupg2 -y

Fü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 focus 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 -y

Melden Sie sich nach der Installation des MariaDB-Servers mit dem folgenden Befehl bei der MariaDB-Shell an:

mysql

Nachdem Sie sich angemeldet haben, erstellen Sie mit dem folgenden Befehl eine Datenbank und einen Benutzer für EteSync:

MariaDB [(keine)]> Datenbank etesync erstellen;
MariaDB [(keine)]> Benutzer [email protected] erstellen, identifiziert durch 'securepassword';

Als nächstes erteilen Sie der EteSync-Datenbank alle Privilegien mit dem folgenden Befehl:

MariaDB [(none)]> gewährt [email protected] alle Privilegien auf etesync.*;

Leeren Sie als Nächstes die Berechtigungen und beenden Sie die MariaDB mit dem folgenden Befehl:

MariaDB [(none)]> Flush-Berechtigungen;
MariaDB [(none)]> exit;

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Installieren und Konfigurieren 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 -y

Nachdem Sie alle Abhängigkeiten installiert haben, laden Sie die neueste Version von EteSync mit dem folgenden Befehl herunter:

git-Klon https://github.com/etesync/server.git etesync

Sobald der Download abgeschlossen ist, ändern Sie das Verzeichnis in etesync und erstellen Sie mit dem folgenden Befehl eine virtuelle Python-Umgebung:

cd etesync
virtualenv -p python3 .venv

Als nächstes aktivieren Sie die virtuelle Umgebung mit dem folgenden Befehl:

Quelle .venv/bin/activate

Installieren Sie als Nächstes alle Anforderungen mit dem folgenden Befehl:

pip install -r requirements.txt

Kopieren Sie als Nächstes die Beispielkonfigurationsdatei:

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

Bearbeiten Sie als Nächstes die Konfigurationsdatei mit dem folgenden Befehl:

nano etebase-server.ini

Fügen Sie die folgenden Zeilen gemäß Ihrer Konfiguration hinzu oder ändern Sie sie:

media_root =/optallowed_host1 =etesync.example.com;engine =django.db.backends.sqlite3;name =db.sqlite3engine =django.db.backends.mysqlname =etesyncuser =etesyncpassword =securepasswordhost =127.0.0.1port =3306 

Speichern und schließen Sie die Datei und installieren Sie dann andere Module mit dem folgenden Befehl:

pip3 install daphne
pip3 install mysqlclient
pip3 install aioredis

Generieren Sie als Nächstes die statischen Dateien und migrieren Sie die Datenbank mit dem folgenden Befehl:

./manage.py collectstatic
./manage.py migrieren

Starten Sie schließlich den EteSync-Server mit dem folgenden Befehl:

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

Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe erhalten:

2021-07-09 05:42:28,510 INFO Starten des Servers unter tcp:port=8001:interface=0.0.0.02021-07-09 05:42:28,510 INFO HTTP/2-Unterstützung nicht aktiviert (installieren Sie http2 und tls Verdrehte Extras)2021-07-09 05:42:28,511 INFO Konfigurieren des Endpunkts tcp:port=8001:interface=0.0.0.02021-07-09 05:42:28,512 INFO Lauschen auf TCP-Adresse 0.0.0.0:8001

Drücken Sie STRG + C um den Server zu stoppen.

Erstellen Sie als Nächstes mit dem folgenden Befehl einen administrativen Benutzer:

./manage.py erstellt einen Superuser

Geben Sie Ihren Benutzernamen, Ihr Passwort und Ihre E-Mail-Adresse wie unten gezeigt ein:

Benutzername:etesyncE-Mail-Adresse:[email protected]Passwort:Passwort (erneut):Superuser erfolgreich erstellt.

Deaktivieren Sie als Nächstes die virtuelle Python-Umgebung mit dem folgenden Befehl:

deaktivieren

Erstellen Sie eine Systemd-Unit-Datei für EteSync

Als nächstes müssen Sie eine systemd-Einheitendatei zum Verwalten von EteSync erstellen. Sie können es mit dem folgenden Befehl erstellen:

nano /etc/systemd/system/etesync.service

Fügen Sie die folgenden Zeilen hinzu:

[Unit]Description=EteSync:Ende-zu-Ende-Verschlüsselung zum Synchronisieren von Kalender, Kontakten, Aufgaben und Notizen.[Service]WorkingDirectory=/root/etesyncExecStart=/root/etesync/.venv/bin/daphne -b 127.0 .0.1 -p 8001 -u /tmp/etebase_server.sock etebase_server.asgi:applicationUser=rootGroup=rootRestart=alwaysRestartSec=5s[Install]WantedBy=multi-user.target

Speichern und schließen Sie die Datei und laden Sie dann den systemd-Daemon neu, um die Konfigurationsänderungen zu übernehmen:

systemctl daemon-reload

Als nächstes starten und aktivieren Sie den EteSync-Dienst mit dem folgenden Befehl:

systemctl start etesync
systemctl aktiviert etesync

Führen Sie den folgenden Befehl aus, um den Status des EteSync-Dienstes zu überprüfen:

systemctl status etesync

Sie erhalten die folgende Ausgabe:

? etesync.service - EteSync:Ende-zu-Ende-Verschlüsselung zum Synchronisieren von Kalender, Kontakten, Aufgaben und Notizen. Geladen:geladen (/etc/systemd/system/etesync.service; deaktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Fr 2021-07-09 05:45:45 UTC; vor 5s Haupt-PID:16213 (Daphne) Aufgaben:1 (Limit:2353) Arbeitsspeicher:48,7 MB 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, Kontakte, Aufgaben und Notizen.. 09.07 /etebase_>09.07 daphne[16213]:2021-07-09 05:45:46,995 INFO Konfigurieren des Endpunkts tcp:port=8001:interface=127.0.0.1Jul 09 05:45:46 node1 daphne[16213]:2021-07-09 05:45 :46,997 INFO Listening on TCP address 127.0.0.1:8001Jul 09 05:45:46 node1 daphne[16213]:2021-07-09 05:45:46,998 INFO Konfigurieren des Endpunkts unix:/tmp/et ebase_server.sock

An diesem Punkt wird EteSync gestartet und überwacht Port 8001. Sie können nun mit dem nächsten Schritt fortfahren.

Apache als Reverse-Proxy konfigurieren

Es ist auch ratsam, Apache als Reverse-Proxy zu installieren und zu verwenden, um auf EteSync zuzugreifen. Installieren Sie zuerst den Apache-Server mit dem folgenden Befehl:

apt-get install apache2 -y

Aktivieren Sie nach der Installation des Apache-Servers alle Proxy-Module mit dem folgenden Befehl:

a2enmod Proxy Proxy_http Header Proxy_wstunnel

Erstellen Sie als Nächstes eine neue Konfigurationsdatei für den virtuellen Apache-Host:

nano /etc/apache2/sites-available/etesync.conf

Fü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 kombiniert ProxyPreserveHost Auf 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 virtuellen Apache-Host mit dem folgenden Befehl:

a2ensite etesync.conf

Als nächstes starten Sie den Apache neu, um die Änderungen zu aktualisieren:

systemctl startet Apache2 neu

Sie können den Apache-Status jetzt mit dem folgenden Befehl überprüfen:

systemctl-Status apache2

Sie sollten die folgende Ausgabe erhalten:

? apache2.service – Der Apache HTTP-Server Geladen:geladen (/lib/systemd/system/apache2.service; aktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Fr 2021-07-09 05:50:26 UTC; Vor 5s Dokumente:https://httpd.apache.org/docs/2.4/ Prozess:17551 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Haupt-PID:17567 (apache2) Aufgaben:55 (Grenze:2353) Arbeitsspeicher:5,3 MB CGroup:/system.slice/apache2.service ??17567 /usr/sbin/apache2 -k start ??17568 /usr/sbin/apache2 -k start ??17569 /usr/ sbin/apache2 -k startJul 09 05:50:26 node1 systemd[1]:Starten des Apache HTTP-Servers...Jul 09 05:50:26 node1 apachectl[17558]:AH00558:apache2:Konnte den Server nicht vollständig bestimmen qualifizierter Domänenname mit 45.58.3>

Greifen Sie auf die EteSync-Verwaltungskonsole zu

Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://etesync.example.com/admin/ auf die EteSync-Administrationsoberfläche zu . Sie werden auf die folgende Seite weitergeleitet:

Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf Anmelden Taste. 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 -y

Nach der Installation 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.com

Während der Installation werden Sie aufgefordert, Ihre E-Mail-Adresse anzugeben und die Nutzungsbedingungen wie unten gezeigt zu akzeptieren:

Speichern des Debug-Protokolls in /var/log/letsencrypt/letsencrypt.logAusgewählte Plugins:Authenticator Apache, Installer ApacheE-Mail-Adresse eingeben (wird für dringende Erneuerungs- und Sicherheitshinweise verwendet) (Geben Sie „c“ zum Abbrechen ein):[email protected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bitte lesen Sie die Nutzungsbedingungen unter https://letsencrypt.org /documents/LE-SA-v1.2-November-15-2017.pdf. Sie müssen zustimmen, um sich beim ACME-Server unter https://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - zu registrieren - - - - - - - - - - - - - - -(A)gree/(C)cancel:A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wären Sie bereit, Ihre E-Mail-Adresse mit der Electronic Frontier Foundation, einem Gründungspartner des Let's Encrypt-Projekts und der gemeinnützigen Organisation, die Certbot entwickelt, zu teilen? Wir möchten Ihnen E-Mails über unsere Arbeit zur Verschlüsselung des Internets, EFF-Nachrichten, Kampagnen und Möglichkeiten zur Unterstützung der digitalen Freiheit senden.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(Y)es/(N)o:YEin neues Zertifikat erhaltenDurchführen der folgenden Challenges:http-01 Challenge für etesync.example.comEnabled Apache rewrite moduleWarten auf Verifizierung. ..Bereinigung der HerausforderungenErstellte einen SSL-Vhost unter /etc/apache2/sites-available/etesync-le-ssl.confBereitstellung des Zertifikats auf VirtualHost /etc/apache2/sites-available/etesync-le-ssl.confAktivierung der verfügbaren Site:/etc/ apache2/sites-available/etesync-le-ssl.confBitte wählen Sie, ob der HTTP-Datenverkehr auf HTTPS umgeleitet werden soll oder nicht, und den HTTP-Zugriff entfernen.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1:Keine Umleitung – Keine weiteren Änderungen an der Webserver-Konfiguration vornehmen.2:Umleitung – Alle Anfragen auf sicheren HTTPS-Zugriff umleiten. Wählen Sie dies für neue Websites oder wenn Sie sicher sind, dass Ihre Website auf HTTPS funktioniert. Sie können diese Änderung rückgängig machen, indem Sie die Konfiguration Ihres Webservers bearbeiten. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Wählen Sie die entsprechende Nummer [1-2] und dann [enter] (drücken Sie 'c' zum Abbrechen):2

Geben 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. Sie sollten die folgende Ausgabe erhalten:

Enabled Apache rewrite moduleRedirecting vhost in /etc/apache2/sites-enabled/etesync.conf to ssl vhost in /etc/apache2/sites-available/etesync-le-ssl.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Herzliche Glückwünsche! Sie haben https://etesync.example.com erfolgreich aktiviert. Testen Sie Ihre Konfiguration unter:https://www.ssllabs.com/ssltest/analyze.html?d=etesync.example.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Schlussfolgerung

Herzliche Glückwünsche! Sie haben EteSync erfolgreich auf einem Ubuntu 20.04-Server mit Let’s Encrypt SSL installiert. Sie können jetzt Ihren Kalender und Ihre Kontakte ganz einfach mit EteSync synchronisieren.


Ubuntu
  1. So installieren Sie Zimbra 8.6 auf einem Ubuntu 14.04-Server

  2. So installieren Sie Logstash unter Ubuntu 18.04

  3. So installieren Sie Minecraft Server auf Ubuntu 20.04 LTS

  4. So installieren Sie TeamSpeak Server auf Ubuntu 18.04 &20.04

  5. So installieren Sie R unter Ubuntu 18.04

So installieren Sie den OpenSIPS-Server unter Ubuntu 15.04

So installieren Sie Consul Server unter Ubuntu 16.04

So installieren Sie EteSync 2.0 (Etebase) Server auf Ubuntu

So installieren Sie Apache Tomcat Server auf Ubuntu 22.04

So installieren Sie den Consul-Server unter Ubuntu 20.04

So installieren Sie EteSync-Server auf Ubuntu 20.04