GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat EteSync 2.0 (Etebase) Server na Ubuntu

Tento tutoriál vám ukáže, jak nainstalovat EteSync server na Ubuntu. EteSync je open source end-to-end šifrovací řešení pro synchronizaci vašich kalendářů, kontaktů, úkolů a poznámek.

Funkce EteSync

Nejnovější verze je EteSync 2.0, která obsahuje

  • End-to-end šifrování.
  • Není potřeba žádné samostatné šifrovací heslo. Potřebujete pouze jedno heslo, které se používá jak pro šifrování, tak pro přihlášení.
  • Důkaz s nulovými znalostmi pro ověření na serveru, který zajistí, že vaše heslo nikdy neopustí vaše zařízení.
  • Okamžitá synchronizace mezi vašimi zařízeními.
  • Možnost sdílet data s ostatními uživateli
  • Klienti jsou k dispozici pro počítače (DAV bridge), web, Android a iOS.
  • Integrace s desktopy GNOME a KDE (backend EteSync pro Evolution a Akonadi).
  • Doplněk pro Mozilla Thunderbird.
  • Upgradujte na nový protokol Etebase.

V blízké budoucnosti EteSync přidá také podporu pro bezpečné sdílení polohy. EteSync poskytuje hostovanou službu na etesync.com. Ukážu vám, jak spustit samostatně hostovanou instanci na serveru Ubuntu a jak používat klientský software na různých platformách.

Krok 1:Instalace nejnovější stabilní verze serveru MariaDB na Ubuntu

Ve výchozím nastavení ukládá EteSync informace o uživatelích do SQLite databáze. Pokud dáváte přednost použití MariaDB , postupujte podle pokynů níže.

Měli byste používat nejnovější stabilní verzi MariaDB, což je 10.5, protože při spuštění EteSync s MariaDB 10.3 nastanou problémy. Chcete-li nainstalovat nejnovější stabilní verzi, spusťte následující příkazy a přidejte úložiště MariaDB na Ubuntu 20.04.

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'

Chcete-li přidat úložiště na Ubuntu 18.04, jednoduše nahraďte focal s bionic ve třetím příkazu.

Poté aktualizujte index balíčku a nainstalujte server MariaDB.

sudo apt update

sudo apt install mariadb-server

Pokud upgradujete existující server MariaDB na nejnovější verzi, může se zobrazit následující zpráva. Doporučuji zvolit N zachovat aktuální verzi a prozkoumat, co je třeba později změnit.

Pokud se vyskytne problém se závislostí balíčku, můžete jej opravit spuštěním následujícího příkazu.

sudo apt --fix-broken install

Po dokončení instalace se automaticky spustí server MariaDB. Jeho stav můžete zkontrolovat pomocí:

systemctl status mariadb

Jak vidíte, je aktivní a běží.

Nápověda :Stiskněte Q získat zpět kontrolu nad terminálem, pokud výše uvedený příkaz okamžitě neskončí.

Pokud neběží, můžete jej spustit ručně pomocí:

sudo systemctl start mariadb

Chcete-li povolit automatické spouštění při spouštění, spusťte

sudo systemctl enable mariadb

Krok 2:Vytvoření databáze a uživatele pro EteSync na databázovém serveru MariaDB

Přihlaste se k databázovému serveru MariaDB pomocí následujícího příkazu. Protože MariaDB nyní používá unix_socket plugin pro ověření přihlášení uživatele, není potřeba zadávat root heslo MariaDB. Potřebujeme pouze předponu mysql příkaz pomocí sudo .

sudo mysql

Poté vytvořte databázi pro EteSync. Tento tutoriál pojmenuje databázi etebase . Můžete použít jakékoli jméno.

create database etebase;

Vytvořte uživatele databáze. Opět můžete pro tohoto uživatele použít preferované jméno. Nahraďte your-password s vaším preferovaným heslem.

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

Udělte tomuto uživateli všechna oprávnění na etebase databáze.

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

Vyprázdněte oprávnění a ukončete.

flush privileges;

exit;

Krok 3:Nainstalujte EteSync 2.0 Server na Ubuntu

Nainstalujte tvůrce virtuálního prostředí Python3 a některé nástroje pro tvorbu balíčků.

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

Přejděte do svého domovského adresáře.

cd

Naklonujte úložiště EteSync z Github.

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

Přejděte do nově vytvořeného adresáře.

cd etebase

Vytvořte virtuální prostředí Python3.

virtualenv -p python3 .venv

source .venv/bin/activate

pip install -r requirements.txt

Zkopírujte vzorový konfigurační soubor.

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

Upravte soubor.

nano etebase-server.ini

Najděte následující řádek

;media_root = /path/to/media

Odkomentujte jej a změňte hodnotu.

media_root = /home/username/etebase/media/

Najděte následující řádek,

allowed_host1 = example.com

Použijte subdoménu jako etebase.example.com .

allowed_host1 = etebase.example.com

Ve výchozím nastavení EteSync ukládá informace o uživatelích do databáze SQLite. Pokud dáváte přednost použití databázového serveru MariaDB, zakomentujte následující dva řádky (na začátek každého řádku přidejte středník).

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

Poté přidejte následující řádky na konec tohoto souboru. To říká EteSync, jak získat přístup k etebase databáze v MariaDB, která je vytvořena v kroku 1. Samozřejmě musíte použít své vlastní heslo pro etebase uživatel.

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

Uložte a zavřete soubor. Server Etebase je aplikace Django, ke spuštění Etebase můžeme použít Daphne (server HTTP/WebSocket Django Channels). Nainstalujte Daphne pomocí:

pip3 install daphne

Protože jako databázový stroj používáme MySQL/MariaDB, musíme také nainstalovat mysqlclient modul.

sudo apt install libmysqlclient-dev

pip3 install mysqlclient

Nainstalujte aioredis za účelem použití mezipaměti Redis.

pip3 install aioredis

Vytvořte statické soubory Django.

./manage.py collectstatic

Inicializujte aplikaci.

./manage.py migrate

Spusťte server EteSync 2.0 (Etebase).

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

Krok 4:Spusťte EteSync jako službu Systemd

EteSync můžeme spustit ručně pomocí daphne -b 0.0.0.0 -p 8001 etebase_server.asgi:application , ale je pohodlnější spouštět EteSync jako systemd službu na pozadí. Stiskněte Ctrl+C zastavit aktuální instanci EteSync.

Vytvořte soubor servisní jednotky systemd pro EteSync pomocí následujícího příkazu.

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

Vložte do souboru následující řádky. Nahraďte username s vaším skutečným uživatelským jménem.

[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
user.target

Uložte a zavřete soubor. Nyní můžeme spustit a povolit etebase systemd service.

sudo systemctl start etebase

sudo systemctl enable etebase

Zkontrolujte stav.

systemctl status etebase

Pokud etebase služba není aktivní (běží), můžete spustit následující příkaz a zjistit, co je špatně.

sudo journalctl -eu etebase

Krok 5:Nastavení reverzního proxy

Nyní musíme nastavit reverzní proxy pro aplikaci Django, abychom později mohli přistupovat k EteSync přes název domény a snadno povolit HTTPS. K tomu můžeme použít Apache nebo Nginx.

Apache

Pokud dáváte přednost Apache, nainstalujte webový server Apache pomocí následujícího příkazu.

sudo apt install apache2

Chcete-li používat Apache jako reverzní proxy, musíme povolit proxy moduly a header modul.

sudo a2enmod proxy proxy_http headers proxy_wstunnel

Poté vytvořte soubor virtuálního hostitele pro EteSync.

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

Do souboru vložte následující konfigurace. Nahraďte etebase.example.com s vaším skutečným názvem domény. Nezapomeňte vytvořit DNS A záznam pro tuto subdoménu. Pokud nemáte skutečný název domény, doporučuji přejít na NameCheap a koupit si ho. Cena je nízká a poskytují ochranu soukromí whois doživotně zdarma.

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

Uložte a zavřete soubor. Poté povolte tohoto virtuálního hostitele.

sudo a2ensite etebase.conf

Restartujte Apache

sudo systemctl restart apache2

Nyní můžete přistupovat k webovému rozhraní EteSync pomocí názvu domény etebase.example.com .

Nginx

Pokud dáváte přednost webovému serveru Nginx, nainstalujte Nginx pomocí.

sudo apt install nginx

Vytvořte soubor virtuálního hostitele v Nginx pro EteSync.

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

Vložte do souboru následující řádky. Podle potřeby nahraďte zástupné symboly a měli byste vytvořit záznam DNS A pro subdoménu.

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

Uložte a zavřete soubor. Poté otestujte konfigurace Nginx.

sudo nginx -t

Pokud je test úspěšný, znovu načtěte Nginx, aby se změna projevila.

sudo systemctl reload nginx

Nyní máte přístup k webovému rozhraní EteSync na etebase.example.com .

Odstraňování problémů

Pokud vidíte bad request (400) chyba při pokusu o přístup k webovému rozhraní EteSync, ujistěte se, že jste přidali název serveru etesync do allowd_hosts seznam v etebase-server.ini soubor. Poté restartujte etebase (sudo systemctl restart etebase ).

Můžete také povolit režim ladění na etebase-server.ini soubor, tj. změnit

debug = false

Komu

debug = true

Poté restartujte etebase.

sudo systemctl restart etebase

Poté zkontrolujte protokol služeb systemd.

sudo journalctl -eu etebase

Krok 6:Povolte HTTPS

Pro šifrování HTTP provozu můžeme povolit HTTPS instalací bezplatného TLS certifikátu vydaného od Let’s Encrypt. Spuštěním následujícího příkazu nainstalujte klienta Let’s Encrypt (certbot) na server Ubuntu.

sudo apt install certbot

Pokud používáte Apache, musíte si také nainstalovat plugin Certbot Apache.

sudo apt install python3-certbot-apache

Dále spusťte následující příkaz pro získání a instalaci certifikátu TLS.

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

Pokud používáte Nginx, musíte si také nainstalovat plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Dále spusťte následující příkaz pro získání a instalaci certifikátu TLS.

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

Kde:

  • --apache :Použijte plugin Apache.
  • --nginx :Použijte plugin nginx.
  • --agree-tos :Souhlas se smluvními podmínkami.
  • --redirect :Vynutit HTTPS přesměrováním 301.
  • --hsts :Přidejte hlavičku Strict-Transport-Security do každé odpovědi HTTP. Vynucení prohlížeče, aby pro doménu vždy používal TLS. Chrání před odstraněním SSL/TLS.
  • --staple-ocsp :Umožňuje sešívání OCSP. Platná odpověď OCSP je přišita k certifikátu, který server nabízí během TLS.

Certifikát by nyní měl být získán a automaticky nainstalován.

Krok 7:Vytvoření uživatelských účtů

Vytvořte uživatele superadmin.

./manage.py createsuperuser

Poté přejděte na etebase.example.com/admin a přihlaste se do administrátorské konzole. Dále můžete vytvořit jednotlivé uživatelské účty, které se budou používat pro synchronizaci kalendářů, kontaktů, úkolů a poznámek. Všimněte si, že nemusíte vytvářet hesla pro uživatele v administrátorské konzoli EteSync, protože Etebase používá k ověřování důkaz s nulovými znalostmi.

Nyní musíme nastavit klienty pro používání EteSync.

Jak nainstalovat modul Evolution EteSync na plochu Ubuntu

Evoluce je výchozí groupwarová sada v desktopovém prostředí GNOME. Můžete jej nainstalovat na plochu Ubuntu pomocí:

sudo apt install evolution

Chcete-li používat EteSync v Evolution, musíme nainstalovat modul EteSync pro Evolution podle následujících kroků.

Klonujte libetebase úložiště.

sudo apt install git

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

Přejděte do nově vytvořeného adresáře.

cd libetebase/

Nainstalujte požadované balíčky pro sestavení balíčku ze zdroje.

sudo apt install build-essential libssl-dev cargo

Zkompilujte zdrojový balíček.

make

Nainstalujte binární soubor.

sudo make install

Poté se vraťte do předchozího adresáře.

cd ..

Naklonujte Evolution-EteSync úložiště.

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

Přejděte do nově vytvořeného adresáře.

cd evolution-etesync/

Nainstalujte požadované balíčky pro sestavení balíčku ze zdroje.

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

Zkompilujte a nainstalujte balíček.

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

Používání EteSync v Evolution

Nyní spusťte aplikaci Evolution na ploše Ubuntu. Klikněte na Nový na panelu nástrojů a přidejte nový účet sbírky .

Poté zadejte své uživatelské jméno a adresu serveru EteSync. Upozorňujeme, že je třeba přidat https:// jako prefix adresy serveru. Vyberte možnost Vyhledat účet EteSync a zrušte zaškrtnutí všech ostatních možností. Poté klikněte na tlačítko Vyhledat tlačítko.

Pro pokračování budete požádáni o zadání hesla. Ve skutečnosti je čas nastavit heslo, takže klikněte na Zadat heslo odkaz a nastavte heslo.

Po zadání hesla klikněte na tlačítko Zkusit znovu a mělo by najít jednoho kandidáta. Klikněte na tlačítko Další pokračujte.

Synchronizace s NextCloud

Pokud máte server Nextcloud hostovaný samostatně a na svém serveru Nextcloud jste nainstalovali aplikaci Kalendář, Úkoly nebo Kontakty, můžete svůj server Nextcloud DAV přidat do Evolution, aby bylo možné je synchronizovat. Jednoduše přidejte další účet sbírky v Evolution zadejte své uživatelské jméno Nextcloud a adresu CalDAV/CardDAV, vyberte Vyhledat server CalDAV/CardDAV , zrušte zaškrtnutí všech ostatních možností. Poté zadejte své heslo Nextcloud. Adresa Nextcloud CalDAV/CardDAV by měla být https://nextcloud.yourdomain.com/remote.php/dav .

Použití aplikace iOS EteSync

Chcete-li synchronizovat svůj kalendář, kontakty a úkoly na iOS, musíte si nejprve v iOS nastavit účet CalDAV/CardDAV. Přejděte do Nastavení aplikace -> Kalendář -> Účty -> Přidat účet -> Jiné ,  a přidejte účet CalDAV a CardDAV. CalDAV se používá k synchronizaci kalendářů a CardDAV se používá k synchronizaci kontaktů na vašich zařízeních.

Pokud máte vlastní server Nextcloud, můžete použít svůj účet Nextcloud CalDAV/CardDAV. Pokud žádný nemáte, jednoduše použijte falešný účet.

Dále nainstalujte aplikaci EteSync z obchodu s aplikacemi. Poté přidejte svůj účet EteSync.

Po přihlášení ke svému účtu EteSync přejděte do nastavení nabídce v aplikaci EteSync. V části Pokročilé vyberte svůj účet CardDAV pro Synchronizaci kontaktů a vyberte svůj účet CalDAV pro Synchronizaci kalendářů a připomenutí .


Ubuntu
  1. Jak nainstalovat MariaDB 10.4 na Ubuntu 18.04

  2. Jak nainstalovat Zimbru 8.6 na server Ubuntu 14.04

  3. Jak nainstalovat MariaDB na Ubuntu 22.04

  1. Jak nainstalovat MySQL na Ubuntu 18.04

  2. Jak nainstalovat MariaDB na Ubuntu 18.04

  3. Jak nainstalovat Minecraft Server na Ubuntu 18.04

  1. Jak nainstalovat Nginx na Ubuntu 20.04

  2. Jak nainstalovat MariaDB na Ubuntu 20.04

  3. Jak nainstalovat MariaDB v Ubuntu 20.04 LTS