GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat server EteSync na Ubuntu 20.04

EteSync je open-source řešení pro synchronizaci vašich kontaktů, kalendářů a úkolů. Je hostován samostatně, poskytuje end-to-end šifrování a umožňuje sdílet data s ostatními uživateli. Může být integrován s desktopy GNOME a KDE. Lze k němu přistupovat prostřednictvím desktopových, webových, Android a iOS klientů.

V tomto tutoriálu vám ukážu, jak nainstalovat EteSync s Apache na Ubuntu 20.04.

Předpoklady

  • Server se systémem Ubuntu 20.04.
  • Platný název domény s adresou IP vašeho serveru.
  • Na serveru je nakonfigurováno heslo uživatele root.

Začínáme

Nejprve aktualizujte systémové balíčky na aktualizovanou verzi spuštěním následujícího příkazu:

apt-get update -y

Jakmile jsou všechny balíčky aktualizovány, můžete přejít k dalšímu kroku.

Instalace serveru MariaDB

Ve výchozím nastavení používá EteSync k ukládání svých informací databázi SQLite. Zde nainstalujeme a použijeme MariaDB jako backend databáze.

Nejprve nainstalujte požadované závislosti pomocí následujícího příkazu:

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

Dále přidejte klíč MariaDB GPG a úložiště pomocí následujícího příkazu:

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'

Dále aktualizujte úložiště MariaDB a nainstalujte nejnovější verzi MariaDB pomocí následujícího příkazu:

apt-get install mariadb-server -y

Po instalaci serveru MariaDB se přihlaste do prostředí MariaDB pomocí následujícího příkazu:

mysql

Jakmile se přihlásíte, vytvořte databázi a uživatele pro EteSync pomocí následujícího příkazu:

MariaDB [(none)]> vytvořit databázi etesync;
MariaDB [(none)]> vytvořit uživatele [e-mail chráněný] identifikovaného pomocí 'securepassword';

Dále udělte všechna oprávnění databázi EteSync pomocí následujícího příkazu:

MariaDB [(none)]> udělte všechna oprávnění na etesync.* uživateli [email protected];

Dále vyprázdněte oprávnění a ukončete MariaDB pomocí následujícího příkazu:

MariaDB [(none)]> flush oprávnění;
MariaDB [(none)]> exit;

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Instalace a konfigurace EteSync

Nejprve budete muset nainstalovat některé závislosti Pythonu potřebné pro EteSync. Všechny je můžete nainstalovat pomocí následujícího příkazu:

apt-get install python3-virtualenv python3-pip gcc libmysqlclient-dev build-essential git -y

Po instalaci všech závislostí si stáhněte nejnovější verzi EteSync pomocí následujícího příkazu:

klon git https://github.com/etesync/server.git etesync

Po dokončení stahování změňte adresář na etesync a vytvořte virtuální prostředí Pythonu pomocí následujícího příkazu:

cd etesync
virtualenv -p python3 .venv

Dále aktivujte virtuální prostředí pomocí následujícího příkazu:

zdroj .venv/bin/activate

Dále nainstalujte všechny požadavky pomocí následujícího příkazu:

pip install -r requirements.txt

Dále zkopírujte ukázkový konfigurační soubor:

cp etebase-server.ini.příklad etebase-server.ini

Dále upravte konfigurační soubor pomocí příkazu níže:

nano etebase-server.ini

Přidejte nebo upravte následující řádky podle vaší konfigurace:

media_root =/optallowed_host1 =etesync.example.com;engine =django.db.backends.sqlite3;name =db.sqlite3engine =django.db.backends.mysqlname =etesyncuser =etesyncport =etesyncport=130761hostitel =.0. 

Uložte a zavřete soubor a poté nainstalujte další moduly pomocí následujícího příkazu:

pip3 nainstalovat daphne
pip3 nainstalovat mysqlclient
pip3 nainstalovat aioredis

Dále vygenerujte statické soubory a migrujte databázi pomocí následujícího příkazu:

./manage.py collectstatic
./manage.py migrate

Nakonec spusťte server EteSync pomocí následujícího příkazu:

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

Pokud je vše v pořádku, měli byste získat následující výstup:

2021-07-09 05:42:28,510 INFO Spuštění serveru na tcp:port=8001:interface=0.0.0.02021-07-09 05:42:28,510 INFO Podpora HTTP/2 není povolena (nainstalujte http2 a tls Twisted extras)2021-07-09 05:42:28,511 INFO Konfigurace koncového bodu tcp:port=8001:interface=0.0.0.02021-07-09 05:42:28,512 INFO Poslech na TCP adrese 0.80010
 Stiskněte CTRL + C k zastavení serveru.

Dále vytvořte administrativního uživatele pomocí následujícího příkazu:

./manage.py Createsuperuser

Zadejte své uživatelské jméno, heslo a e-mail, jak je uvedeno níže:

Uživatelské jméno:etesyncE-mailová adresa:[e-mail chráněn]Heslo:Heslo (opět):Superuser úspěšně vytvořen.

Dále deaktivujte z virtuálního prostředí Pythonu pomocí následujícího příkazu:

deaktivovat

Vytvoření souboru Systemd Unit pro EteSync

Dále budete muset vytvořit soubor systemd unit pro správu EteSync. Můžete jej vytvořit pomocí následujícího příkazu:

nano /etc/systemd/system/etesync.service

Přidejte následující řádky:

[Unit]Description=EteSync:End-to-End šifrování pro synchronizaci kalendáře, kontaktů, úkolů a poznámek.[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

Uložte a zavřete soubor a poté znovu načtěte démona systemd, abyste použili změny konfigurace:

systemctl daemon-reload

Dále spusťte a povolte službu EteSync pomocí následujícího příkazu:

systemctl spustit etesync
systemctl povolit etesync

Chcete-li ověřit stav služby EteSync, spusťte následující příkaz:

systemctl status etesync

Získáte následující výstup:

? etesync.service - EteSync:End-to-End šifrování pro synchronizaci kalendáře, kontaktů, úkolů a poznámek. Načteno:načteno (/etc/systemd/system/etesync.service; zakázáno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od pá 2021-07-09 05:45:45 UTC; Před 5s Hlavní PID:16213 (daphne) Úkoly:1 (limit:2353) Paměť: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> 9. července 05:45:45 node1 systemd[1]:Spuštěn EteSync:End-to-End šifrování do synchronizačního kalendáře, Kontakty, úkoly a poznámky... 9. července 05:45:46 node1 daphne[16213]:2021-07-09 05:45:46,993 INFO Spuštění serveru na tcp:port=8001:interface=127.0.0.1, unix /etebase_>Jul 09 05:45:46 node1 daphne[16213]:2021-07-09 05:45:46,995 INFO Podpora HTTP/2 není povolena (nainstalujte doplňky http2 a tls Twisted) 9. července 05:45:46 node1 daphne[16213]:2021-07-09 05:45:46,995 INFO Konfigurace koncového bodu tcp:port=8001:interface=127.0.0.1Jul 09 05:45:46 node1 daphne[16213]-045-07:25007 :46,997 INFO Poslech na TCP adrese 127.0.0.1:8001Jul 09 05:45:46 node1 daphne[16213]:2021-07-09 05:45:46,998 INFO Konfigurace koncového bodu unix:/tmp/et ebase_server.sock

V tomto okamžiku se EteSync spustí a naslouchá na portu 8001. Nyní můžete přejít k dalšímu kroku.

Konfigurace Apache jako reverzního proxy

Je také vhodné nainstalovat a používat Apache jako reverzní proxy pro přístup k EteSync. Nejprve nainstalujte server Apache pomocí následujícího příkazu:

apt-get install apache2 -y

Po instalaci serveru Apache povolte všechny moduly proxy pomocí následujícího příkazu:

a2enmod proxy proxy_http hlavičky proxy_wstunnel

Dále vytvořte nový konfigurační soubor virtuálního hostitele Apache:

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

Přidejte následující řádky:

 ServerName etesync.example.com ErrorDocument 404 /404.html ErrorLog ${APACHE_LOG_DIR}/etebase_error.log CustomLog ${APACHE_LOG_DIR}/etebase_access.log kombinované ProxyPrexyPa12s On.7 ProxyPa1ss On. 0.1:8001/ ProxyPassReverse / http://127.0.0.1:8001/ Alias ​​/static /etesync/static

Uložte a zavřete soubor a poté aktivujte virtuálního hostitele Apache pomocí následujícího příkazu:

a2ensite etesync.conf

Poté restartujte Apache a aktualizujte změny:

systemctl restartujte apache2

Nyní můžete ověřit stav Apache pomocí následujícího příkazu:

stav systemctl apache2

Měli byste získat následující výstup:

? apache2.service – HTTP server Apache Načten:načten (/lib/systemd/system/apache2.service; povoleno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od pá 2021-07-09 05:50:26 UTC; Před 5 s Dokumenty:https://httpd.apache.org/docs/2.4/ Proces:17551 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Hlavní PID:17567 (apache2) Úkoly:55 (limit:2353) Paměť:5,3M 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]:Spouštění serveru HTTP Apache...Jul 09 05:50:26 node1 apachectl[17558]:AH00558:apache2:Nelze spolehlivě určit plnou funkčnost serveru kvalifikovaný název domény pomocí 45.58.3>

Přístup k administrátorské konzoli EteSync

Nyní otevřete webový prohlížeč a přejděte do administrátorského rozhraní EteSync pomocí adresy URL http://etesync.example.com/admin/ . Budete přesměrováni na následující stránku:

Zadejte své administrátorské uživatelské jméno, heslo a klikněte na Přihlásit se knoflík. Měli byste vidět následující stránku:

Zabezpečte EteSync pomocí Let's Encrypt SSL

Nejprve budete muset nainstalovat klienta Certbot Let's Encrypt, abyste si stáhli a nainstalovali certifikát SSL pro vaši doménu.

Můžete jej nainstalovat pomocí následujícího příkazu:

apt-get install python3-certbot-apache -y

Po instalaci můžete spustit následující příkaz a nainstalovat certifikát Let's Encrypt pro vaši doménu etesync.example.com.

certbot --apache -d etesync.example.com

Během instalace budete požádáni, abyste poskytli svou e-mailovou adresu a přijali podmínky služby, jak je uvedeno níže:

Ukládání protokolu ladění do /var/log/letsencrypt/letsencrypt.log Vybrané pluginy:Authenticator apache, Installer apacheZadejte e-mailovou adresu (používá se pro naléhavá upozornění na obnovení a zabezpečení) (Zadejte „c“ pro zrušení):[email protected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Přečtěte si podmínky služby na https://letsencrypt.org /documents/LE-SA-v1.2-November-15-2017.pdf. Chcete-li se zaregistrovat na serveru ACME na adrese https://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel:A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Byli byste ochotni sdílet svou e-mailovou adresu s Electronic FrontierFoundation, zakládajícím partnerem projektu Let's Encrypt a neziskovou organizací, která vyvíjí Certbot? Rádi bychom vám poslali e-mail o naší práci na šifrování webu, novinkách EFF, kampaních a způsobech podpory digitální svobody.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)es/(N)ne:YZískání nového certifikátu Provedení následujících výzev:Výzva http-01 pro etesync.example.comPovolen modul pro přepis ApacheČekání na ověření. ..Vyčištění výzevVytvořen SSL vhost na /etc/apache2/sites-available/etesync-le-ssl.confNasazení certifikátu na VirtualHost /etc/apache2/sites-available/etesync-le-ssl.confPovolení dostupného webu:/etc/ apache2/sites-available/etesync-le-ssl.confZvolte prosím, zda chcete přesměrovat provoz HTTP na HTTPS a odebrat přístup HTTP.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1:Žádné přesměrování - Nedělejte žádné další změny v konfiguraci webového serveru.2:Přesměrování - Proveďte přesměrování všech požadavků na zabezpečený přístup HTTPS. Vyberte toto pro nové weby, nebo pokud jste si jisti, že váš web funguje na HTTPS. Tuto změnu můžete vrátit zpět úpravou konfigurace vašeho webového serveru.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vyberte příslušné číslo [1-2] a poté [enter] (zrušte stisknutím 'c'):2

Dále zadejte 2 a stiskněte Enter pro stažení a instalaci bezplatného certifikátu SSL pro vaši doménu. Jakmile je instalace úspěšně dokončena. Měli byste získat následující výstup:

Povolený modul pro přepis ApachePřesměrování vhost v /etc/apache2/sites-enabled/etesync.conf na ssl vhost v /etc/apache2/sites-available/etesync-le-ssl.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Gratulujeme! Úspěšně jste povolili https://etesync.example.comMěli byste otestovat svou konfiguraci na:https://www.ssllabs.com/ssltest/analyze.html?d=etesync.example.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Závěr

Gratulujeme! úspěšně jste nainstalovali EteSync na server Ubuntu 20.04 pomocí Let's Encrypt SSL. Nyní můžete svůj kalendář a kontakty snadno synchronizovat pomocí EteSync.


Ubuntu
  1. Jak nainstalovat Zimbru 8.6 na server Ubuntu 14.04

  2. Jak nainstalovat Logstash na Ubuntu 18.04

  3. Jak nainstalovat Minecraft Server na Ubuntu 20.04 LTS

  1. Jak nainstalovat MySQL na Ubuntu 18.04

  2. Jak nainstalovat TeamSpeak Server na Ubuntu 18.04 a 20.04

  3. Jak nainstalovat R na Ubuntu 18.04

  1. Jak nainstalovat Minecraft Server na Ubuntu 18.04

  2. Jak nainstalovat Nginx na Ubuntu 20.04

  3. Jak nainstalovat MariaDB na Ubuntu 20.04