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

So installieren Sie EteSync 2.0 (Etebase) Server auf Ubuntu

Dieses Tutorial zeigt Ihnen, wie Sie EteSync installieren Server auf Ubuntu. EteSync ist eine Open-Source-End-to-End-Verschlüsselungslösung zum Synchronisieren Ihrer Kalender, Kontakte, Aufgaben und Notizen.

EteSync-Funktionen

Die neueste Version ist EteSync 2.0 mit Funktionen

  • Ende-zu-Ende-Verschlüsselung.
  • Kein separates Verschlüsselungspasswort erforderlich. Sie benötigen nur ein Passwort, das sowohl für die Verschlüsselung als auch für die Anmeldung verwendet wird.
  • Zero-Knowledge-Proof zur Authentifizierung beim Server, um sicherzustellen, dass Ihr Passwort Ihr Gerät nie verlässt.
  • Sofortige Synchronisierung zwischen Ihren Geräten.
  • Die Möglichkeit, Daten mit anderen Benutzern zu teilen
  • Clients sind für den Desktop (DAV Bridge), das Web, Android und iOS verfügbar.
  • Integration mit GNOME- und KDE-Desktops (EteSync-Backend für Evolution und Akonadi).
  • Ein Add-on für Mozilla Thunderbird.
  • Upgrade auf das neue Etebase-Protokoll.

In naher Zukunft wird EteSync auch Unterstützung für die sichere Standortfreigabe hinzufügen. EteSync bietet einen gehosteten Service unter etesync.com. Ich werde Ihnen zeigen, wie Sie eine selbst gehostete Instanz auf einem Ubuntu-Server ausführen und die Client-Software auf verschiedenen Plattformen verwenden.

Schritt 1:Installieren Sie die neueste stabile Version von MariaDB Server auf Ubuntu

Standardmäßig speichert EteSync Benutzerinformationen in SQLite Datenbank. Wenn Sie MariaDB bevorzugen , befolgen Sie die nachstehenden Anweisungen.

Sie sollten die neueste stabile Version von MariaDB verwenden, nämlich 10.5, da es Probleme geben wird, wenn Sie EteSync mit MariaDB 10.3 ausführen. Um die neueste stabile Version zu installieren, führen Sie die folgenden Befehle aus, um das MariaDB-Repository auf Ubuntu 20.04 hinzuzufügen.

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'

Um das Repository unter Ubuntu 18.04 hinzuzufügen, ersetzen Sie einfach focal mit bionic im dritten Befehl.

Aktualisieren Sie dann den Paketindex und installieren Sie den MariaDB-Server.

sudo apt update

sudo apt install mariadb-server

Wenn Sie einen vorhandenen MariaDB-Server auf die neueste Version aktualisieren, wird möglicherweise die folgende Meldung angezeigt. Ich empfehle N zu wählen um die aktuelle Version beizubehalten und zu prüfen, was später geändert werden muss.

Wenn es ein Paketabhängigkeitsproblem gibt, können Sie den folgenden Befehl ausführen, um es zu beheben.

sudo apt --fix-broken install

Sobald die Installation abgeschlossen ist, startet der MariaDB-Server automatisch. Sie können den Status überprüfen mit:

systemctl status mariadb

Wie Sie sehen können, ist es aktiv und wird ausgeführt.

Hinweis :Drücken Sie Q um die Kontrolle über das Terminal zurückzugewinnen, wenn der obige Befehl nicht sofort beendet wird.

Wenn es nicht läuft, können Sie es manuell starten mit:

sudo systemctl start mariadb

Um den automatischen Start beim Booten zu aktivieren, führen Sie

aus
sudo systemctl enable mariadb

Schritt 2:Erstellen Sie eine Datenbank und einen Benutzer für EteSync im MariaDB-Datenbankserver

Melden Sie sich mit dem folgenden Befehl beim MariaDB-Datenbankserver an. Da MariaDB jetzt unix_socket verwendet Plugin verwenden, um die Benutzeranmeldung zu authentifizieren, müssen Sie das MariaDB-Root-Passwort nicht eingeben. Wir müssen nur mysql voranstellen Befehl mit sudo .

sudo mysql

Erstellen Sie dann eine Datenbank für EteSync. Dieses Tutorial nennt die Datenbank etebase . Sie können einen beliebigen Namen verwenden.

create database etebase;

Erstellen Sie den Datenbankbenutzer. Auch hier können Sie Ihren bevorzugten Namen für diesen Benutzer verwenden. Ersetzen Sie your-password mit Ihrem bevorzugten Passwort.

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

Gewähren Sie diesem Benutzer alle Berechtigungen für die etebase Datenbank.

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

Berechtigungen leeren und beenden.

flush privileges;

exit;

Schritt 3:EteSync 2.0 Server auf Ubuntu installieren

Installieren Sie den Python3 Virtual Environment Creator und einige Tools zur Paketerstellung.

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

Wechseln Sie in Ihr Home-Verzeichnis.

cd

Klonen Sie das EteSync-Repository von Github.

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

Wechseln Sie in das neu erstellte Verzeichnis.

cd etebase

Erstellen Sie eine virtuelle Python3-Umgebung.

virtualenv -p python3 .venv

source .venv/bin/activate

pip install -r requirements.txt

Kopieren Sie die Beispielkonfigurationsdatei.

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

Bearbeiten Sie die Datei.

nano etebase-server.ini

Suchen Sie die folgende Zeile

;media_root = /path/to/media

Kommentieren Sie es aus und ändern Sie den Wert.

media_root = /home/username/etebase/media/

Suchen Sie die folgende Zeile,

allowed_host1 = example.com

Verwenden Sie eine Subdomain wie etebase.example.com .

allowed_host1 = etebase.example.com

Standardmäßig speichert EteSync Benutzerinformationen in der SQLite-Datenbank. Wenn Sie den MariaDB-Datenbankserver bevorzugen, kommentieren Sie die folgenden zwei Zeilen aus (fügen Sie am Anfang jeder Zeile ein Semikolon hinzu).

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

Fügen Sie dann die folgenden Zeilen am Ende dieser Datei hinzu. Dies teilt EteSync mit, wie es auf die etebase zugreifen soll Datenbank in MariaDB, die in Schritt 1 erstellt wird. Natürlich müssen Sie Ihr eigenes Passwort für die etebase verwenden Benutzer.

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

Speichern und schließen Sie die Datei. Der Etebase-Server ist eine Django-Anwendung. Wir können Daphne (den HTTP/WebSocket-Server von Django Channels) verwenden, um Etebase auszuführen. Installieren Sie Daphne mit:

pip3 install daphne

Da wir MySQL/MariaDB als Datenbank-Engine verwenden, müssen wir auch den mysqlclient installieren Modul.

sudo apt install libmysqlclient-dev

pip3 install mysqlclient

Installieren Sie aioredis Modul, um den Redis-Cache zu verwenden.

pip3 install aioredis

Statische Dateien von Django erstellen.

./manage.py collectstatic

App initialisieren.

./manage.py migrate

Starten Sie den EteSync 2.0 (Etebase)-Server.

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

Schritt 4:EteSync als Systemd-Dienst ausführen

Wir können EteSync manuell mit daphne -b 0.0.0.0 -p 8001 etebase_server.asgi:application starten , aber es ist bequemer, EteSync als systemd-Dienst im Hintergrund auszuführen. Drücken Sie Ctrl+C um die aktuelle EteSync-Instanz zu stoppen.

Erstellen Sie mit dem folgenden Befehl eine systemd-Service-Unit-Datei für EteSync.

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

Fügen Sie die folgenden Zeilen in die Datei ein. Ersetzen Sie username mit Ihrem echten Benutzernamen.

[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

Speichern und schließen Sie die Datei. Jetzt können wir die etebase starten und aktivieren systemd-Dienst.

sudo systemctl start etebase

sudo systemctl enable etebase

Status prüfen.

systemctl status etebase

Wenn die etebase Dienst nicht aktiv ist (wird ausgeführt), können Sie den folgenden Befehl ausführen, um zu sehen, was falsch ist.

sudo journalctl -eu etebase

Schritt 5:Reverse-Proxy einrichten

Jetzt müssen wir einen Reverse-Proxy für die Django-Anwendung einrichten, damit wir später über einen Domänennamen auf EteSync zugreifen und HTTPS einfach aktivieren können. Dazu können wir Apache oder Nginx verwenden.

Apache

Wenn Sie Apache bevorzugen, installieren Sie den Apache-Webserver mit dem folgenden Befehl.

sudo apt install apache2

Um Apache als Reverse-Proxy zu verwenden, müssen wir den proxy aktivieren module und den header Modul.

sudo a2enmod proxy proxy_http headers proxy_wstunnel

Erstellen Sie dann eine virtuelle Hostdatei für EteSync.

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

Fügen Sie die folgenden Konfigurationen in die Datei ein. Ersetzen Sie etebase.example.com mit Ihrem tatsächlichen Domainnamen. Vergessen Sie nicht, einen DNS-A-Eintrag für diese Subdomain zu erstellen. Wenn Sie keinen echten Domainnamen haben, empfehle ich, zu NameCheap zu gehen, um einen zu kaufen. Der Preis ist niedrig und sie bieten Whois-Datenschutz lebenslang kostenlos.

<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>

Speichern und schließen Sie die Datei. Aktivieren Sie dann diesen virtuellen Host.

sudo a2ensite etebase.conf

Starten Sie Apache neu

sudo systemctl restart apache2

Jetzt können Sie über den Domainnamen etebase.example.com auf die EteSync-Webschnittstelle zugreifen .

Nginx

Wenn Sie den Nginx-Webserver bevorzugen, installieren Sie Nginx mit.

sudo apt install nginx

Erstellen Sie eine virtuelle Hostdatei in Nginx für EteSync.

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

Fügen Sie die folgenden Zeilen in die Datei ein. Ersetzen Sie die Platzhalter nach Bedarf und Sie sollten einen DNS-A-Eintrag für die Subdomain erstellen.

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;
    }
}

Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfigurationen.

sudo nginx -t

Wenn der Test erfolgreich ist, laden Sie Nginx neu, damit die Änderung wirksam wird.

sudo systemctl reload nginx

Jetzt können Sie unter etebase.example.com auf die EteSync-Webschnittstelle zugreifen .

Fehlerbehebung

Wenn Sie die bad request (400) sehen Fehler beim Versuch, auf die EteSync-Webschnittstelle zuzugreifen, stellen Sie sicher, dass Sie den etesync-Servernamen zu allowd_hosts hinzugefügt haben Liste in etebase-server.ini Datei. Starten Sie dann etebase neu (sudo systemctl restart etebase ).

Sie können den Debug-Modus auch in der etebase-server.ini aktivieren Datei, d.h. ändern

debug = false

An

debug = true

Starten Sie dann etebase neu.

sudo systemctl restart etebase

Überprüfen Sie dann das Systemd-Dienstprotokoll.

sudo journalctl -eu etebase

Schritt 6:HTTPS aktivieren

Um den HTTP-Verkehr zu verschlüsseln, können wir HTTPS aktivieren, indem wir ein kostenloses TLS-Zertifikat installieren, das von Let’s Encrypt ausgestellt wurde. Führen Sie den folgenden Befehl aus, um den Let’s Encrypt-Client (certbot) auf dem Ubuntu-Server zu installieren.

sudo apt install certbot

Wenn Sie Apache verwenden, müssen Sie auch das Certbot-Apache-Plugin installieren.

sudo apt install python3-certbot-apache

Führen Sie als Nächstes den folgenden Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.

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

Wenn Sie Nginx verwenden, müssen Sie auch das Certbot Nginx-Plugin installieren.

sudo apt install python3-certbot-nginx

Führen Sie als Nächstes den folgenden Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.

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

Wo:

  • --apache :Verwenden Sie das Apache-Plugin.
  • --nginx :Verwenden Sie das nginx-Plugin.
  • --agree-tos :Nutzungsbedingungen akzeptieren.
  • --redirect :HTTPS durch 301-Umleitung erzwingen.
  • --hsts :Fügen Sie jeder HTTP-Antwort den Strict-Transport-Security-Header hinzu. Erzwingen, dass der Browser immer TLS für die Domäne verwendet. Schützt vor SSL/TLS-Stripping.
  • --staple-ocsp :Aktiviert OCSP-Heften. Eine gültige OCSP-Antwort wird an das Zertifikat geheftet, das der Server während TLS anbietet.

Das Zertifikat sollte nun abgerufen und automatisch installiert werden.

Schritt 7:Benutzerkonten erstellen

Erstellen Sie einen Super-Admin-Benutzer.

./manage.py createsuperuser

Gehen Sie dann zu etebase.example.com/admin und melden Sie sich bei der Admin-Konsole an. Als Nächstes können Sie einzelne Benutzerkonten erstellen, die zum Synchronisieren von Kalendern, Kontakten, Aufgaben und Notizen verwendet werden. Beachten Sie, dass Sie keine Passwörter für Benutzer in der EteSync-Verwaltungskonsole erstellen müssen, da Etebase Zero-Knowledge-Proof für die Authentifizierung verwendet.

Jetzt müssen wir Clients einrichten, um EteSync zu verwenden.

So installieren Sie das Evolution EteSync-Modul auf Ubuntu Desktop

Entwicklung ist die Standard-Groupware-Suite in der GNOME-Desktopumgebung. Sie können es auf Ihrem Ubuntu-Desktop installieren mit:

sudo apt install evolution

Um EteSync in Evolution zu verwenden, müssen wir das EteSync-Modul für Evolution installieren, indem wir die folgenden Schritte ausführen.

Klonen Sie die libetebase Repository.

sudo apt install git

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

Wechseln Sie in das neu erstellte Verzeichnis.

cd libetebase/

Installieren Sie die erforderlichen Pakete, um das Paket aus der Quelle zu erstellen.

sudo apt install build-essential libssl-dev cargo

Kompilieren Sie das Quellpaket.

make

Installieren Sie die Binärdatei.

sudo make install

Gehen Sie dann zurück zum vorherigen Verzeichnis.

cd ..

Klonen Sie den Evolution-EteSync Repository.

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

Wechseln Sie in das neu erstellte Verzeichnis.

cd evolution-etesync/

Installieren Sie die erforderlichen Pakete, um das Paket aus der Quelle zu erstellen.

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

Kompilieren und installieren Sie das Paket.

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

EteSync in Evolution verwenden

Starten Sie nun die Evolution-App auf Ihrem Ubuntu-Desktop. Klicken Sie auf Neu Schaltfläche in der Symbolleiste und fügen Sie ein neues Sammelkonto hinzu .

Geben Sie dann Ihren EteSync-Benutzernamen und die Serveradresse ein. Beachten Sie, dass Sie https:// hinzufügen müssen als Präfix der Serveradresse. Wählen Sie Nach einem EteSync-Konto suchen und deaktivieren Sie alle anderen Optionen. Klicken Sie dann auf Nachschlagen Schaltfläche.

Sie werden aufgefordert, ein Passwort einzugeben, um fortzufahren. Dies ist eigentlich der Zeitpunkt, um das Passwort festzulegen, also klicken Sie auf Passwort eingeben Link und legen Sie ein Passwort fest.

Nachdem Sie ein Passwort eingegeben haben, klicken Sie auf die Schaltfläche Erneut versuchen und es sollte einen Kandidaten finden. Klicken Sie auf Weiter um fortzufahren.

Mit NextCloud synchronisieren

Wenn Sie einen selbst gehosteten Nextcloud-Server haben und die App „Kalender“, „Aufgaben“ oder „Kontakte“ auf Ihrem Nextcloud-Server installiert haben, können Sie Ihren Nextcloud-DAV-Server in Evolution hinzufügen, damit sie synchronisiert werden können. Fügen Sie einfach ein weiteres Sammelkonto hinzu Geben Sie in Evolution Ihren Nextcloud-Benutzernamen und die CalDAV/CardDAV-Adresse ein und wählen Sie Nach einem CalDAV/CardDAV-Server suchen , deaktivieren Sie alle anderen Optionen. Geben Sie dann Ihr Nextcloud-Passwort ein. Die Nextcloud CalDAV/CardDAV-Adresse sollte https://nextcloud.yourdomain.com/remote.php/dav sein .

Verwendung der iOS EteSync-App

Um Ihren Kalender, Ihre Kontakte und Aufgaben auf iOS zu synchronisieren, müssen Sie zuerst ein CalDAV/CardDAV-Konto in iOS einrichten. Rufen Sie die Einstellungen auf app -> Kalender -> Konten -> Konto hinzufügen -> Andere ,  und fügen Sie ein CalDAV- und CardDAV-Konto hinzu. CalDAV wird verwendet, um Kalender zu synchronisieren, und CardDAV wird verwendet, um Kontakte auf Ihren Geräten zu synchronisieren.

Wenn Sie einen selbst gehosteten Nextcloud-Server haben, können Sie Ihr Nextcloud CalDAV/CardDAV-Konto verwenden. Wenn Sie kein Konto haben, verwenden Sie einfach ein gefälschtes Konto.

Installieren Sie als Nächstes die EteSync-App aus dem App Store. Fügen Sie dann Ihr EteSync-Konto hinzu.

Nachdem Sie sich bei Ihrem EteSync-Konto angemeldet haben, gehen Sie zu den Einstellungen Menü in der EteSync-App. Unter Erweitert Wählen Sie im Abschnitt Ihr CardDAV-Konto für Kontakte synchronisieren aus und wählen Sie Ihr CalDAV-Konto für Kalender und Erinnerungen synchronisieren aus .


Ubuntu
  1. So installieren Sie MariaDB 10.4 auf Ubuntu 18.04

  2. So installieren Sie MySQL unter Ubuntu 18.04

  3. So installieren Sie MariaDB unter Ubuntu 18.04

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

  5. So installieren Sie MariaDB unter Ubuntu 22.04

So installieren Sie Consul Server unter Ubuntu 16.04

So installieren Sie MariaDB unter Ubuntu 18.04 / Ubuntu 16.04

So installieren Sie EteSync 2.0 (Etebase) Server auf Ubuntu

So installieren Sie MariaDB unter Ubuntu 16.04

So installieren Sie EteSync Server auf Ubuntu 20.04 LTS

So installieren Sie MariaDB auf Ubuntu