GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare il server EteSync 2.0 (Etebase) su Ubuntu

Questo tutorial ti mostrerà come installare EteSync server su Ubuntu. EteSync è una soluzione di crittografia end-to-end open source per sincronizzare calendari, contatti, attività e note.

Caratteristiche di EteSync

L'ultima versione è EteSync 2.0, che include

  • Crittografia end-to-end.
  • Non è necessaria una password di crittografia separata. Hai solo bisogno di una password che venga utilizzata sia per la crittografia che per l'accesso.
  • Prova a conoscenza zero per autenticarsi sul server assicurandosi che la tua password non lasci mai il tuo dispositivo.
  • Sincronizzazione istantanea tra i tuoi dispositivi.
  • La possibilità di condividere dati con altri utenti
  • I client sono disponibili per desktop (DAV bridge), Web, Android e iOS.
  • Integrazione con desktop GNOME e KDE (backend EteSync per Evolution e Akonadi).
  • Un componente aggiuntivo per Mozilla Thunderbird.
  • Aggiorna al nuovo protocollo Etebase.

Nel prossimo futuro, EteSync aggiungerà anche il supporto per la condivisione sicura della posizione. EteSync fornisce un servizio in hosting su etesync.com. Ti mostrerò come eseguire un'istanza self-hosted sul server Ubuntu e come utilizzare il software client su varie piattaforme.

Passaggio 1:installa l'ultima versione stabile di MariaDB Server su Ubuntu

Per impostazione predefinita, EteSync memorizza le informazioni sull'utente in SQLite Banca dati. Se preferisci usare MariaDB , segui le istruzioni seguenti.

Dovresti usare l'ultima versione stabile di MariaDB, che è la 10.5, perché ci saranno problemi se esegui EteSync con MariaDB 10.3. Per installare l'ultima versione stabile, esegui i seguenti comandi per aggiungere il repository MariaDB su 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'

Per aggiungere il repository su Ubuntu 18.04, sostituisci semplicemente focal con bionic nel terzo comando.

Quindi aggiorna l'indice del pacchetto e installa il server MariaDB.

sudo apt update

sudo apt install mariadb-server

Se stai aggiornando un server MariaDB esistente all'ultima versione, potresti visualizzare il seguente messaggio. Consiglio di scegliere N per mantenere la versione corrente ed esaminare cosa deve essere modificato in seguito.

Se si verifica un problema di dipendenza del pacchetto, puoi eseguire il comando seguente per risolverlo.

sudo apt --fix-broken install

Al termine dell'installazione, il server MariaDB si avvia automaticamente. Puoi verificarne lo stato con:

systemctl status mariadb

Come puoi vedere, è attivo e funzionante.

Suggerimento :premi Q per riprendere il controllo del terminale se il comando precedente non si chiude immediatamente.

Se non è in esecuzione, puoi avviarlo manualmente con:

sudo systemctl start mariadb

Per abilitare l'avvio automatico all'avvio, esegui

sudo systemctl enable mariadb

Fase 2:crea un database e un utente per EteSync in MariaDB Database Server

Accedi al server del database MariaDB con il seguente comando. Dal momento che MariaDB ora sta usando unix_socket plug-in per autenticare l'accesso dell'utente, non è necessario inserire la password di root di MariaDB. Dobbiamo solo anteporre mysql comando con sudo .

sudo mysql

Quindi crea un database per EteSync. Questo tutorial nomina il database etebase . Puoi usare il nome che preferisci.

create database etebase;

Crea l'utente del database. Anche in questo caso, puoi utilizzare il tuo nome preferito per questo utente. Sostituisci your-password con la tua password preferita.

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

Concedi a questo utente tutti i privilegi su etebase banca dati.

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

Elimina i privilegi ed esci.

flush privileges;

exit;

Passaggio 3:installa il server EteSync 2.0 su Ubuntu

Installa Python3 Virtual Environment Creator e alcuni strumenti per la creazione di pacchetti.

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

Vai alla tua home directory.

cd

Clona il repository EteSync da Github.

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

Passa alla directory appena creata.

cd etebase

Crea un ambiente virtuale Python3.

virtualenv -p python3 .venv

source .venv/bin/activate

pip install -r requirements.txt

Copia il file di configurazione di esempio.

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

Modifica il file.

nano etebase-server.ini

Trova la riga seguente

;media_root = /path/to/media

Decommentalo e cambia il valore.

media_root = /home/username/etebase/media/

Trova la riga seguente,

allowed_host1 = example.com

Utilizza un sottodominio come etebase.example.com .

allowed_host1 = etebase.example.com

Per impostazione predefinita, EteSync memorizza le informazioni sull'utente nel database SQLite. Se preferisci utilizzare il server di database MariaDB, commenta le due righe seguenti (aggiungi un punto e virgola all'inizio di ogni riga).

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

Quindi aggiungi le seguenti righe alla fine di questo file. Questo dice a EteSync come accedere a etebase database in MariaDB, che viene creato nel passaggio 1. Ovviamente è necessario utilizzare la propria password per etebase utente.

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

Salva e chiudi il file. Il server Etebase è un'applicazione Django, possiamo usare Daphne (il server HTTP/WebSocket dei canali Django) per eseguire Etebase. Installa Daphne con:

pip3 install daphne

Poiché utilizziamo MySQL/MariaDB come motore di database, dobbiamo anche installare mysqlclient modulo.

sudo apt install libmysqlclient-dev

pip3 install mysqlclient

Installa aioredis modulo per utilizzare la cache Redis.

pip3 install aioredis

Crea i file statici di Django.

./manage.py collectstatic

Inizializza l'app.

./manage.py migrate

Avvia il server EteSync 2.0 (Etebase).

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

Fase 4:esegui EteSync come servizio Systemd

Possiamo avviare manualmente EteSync con daphne -b 0.0.0.0 -p 8001 etebase_server.asgi:application , ma è più conveniente eseguire EteSync come servizio systemd in background. Premi Ctrl+C per interrompere l'istanza EteSync corrente.

Crea un file dell'unità di servizio systemd per EteSync con il comando seguente.

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

Inserisci le seguenti righe nel file. Sostituisci username con il tuo vero nome utente.

[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

Salva e chiudi il file. Ora possiamo avviare e abilitare etebase servizio systemd.

sudo systemctl start etebase

sudo systemctl enable etebase

Controlla lo stato.

systemctl status etebase

Se il etebase il servizio non è attivo (in esecuzione), puoi eseguire il comando seguente per vedere cosa c'è che non va.

sudo journalctl -eu etebase

Fase 5:imposta il proxy inverso

Ora dobbiamo configurare un proxy inverso per l'applicazione Django, così in seguito possiamo accedere a EteSync tramite un nome di dominio e abilitare facilmente HTTPS. Possiamo usare Apache o Nginx per farlo.

Apache

Se preferisci Apache, installa il server Web Apache utilizzando il comando seguente.

sudo apt install apache2

Per utilizzare Apache come proxy inverso, dobbiamo abilitare il proxy moduli e l'header modulo.

sudo a2enmod proxy proxy_http headers proxy_wstunnel

Quindi crea un file host virtuale per EteSync.

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

Inserisci le seguenti configurazioni nel file. Sostituisci etebase.example.com con il tuo nome di dominio effettivo. Non dimenticare di creare un record DNS A per questo sottodominio. Se non hai un vero nome di dominio, ti consiglio di andare su NameCheap per acquistarne uno. Il prezzo è basso e offrono protezione della privacy a chi è gratuita per tutta la vita.

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

Salva e chiudi il file. Quindi abilita questo host virtuale.

sudo a2ensite etebase.conf

Riavvia Apache

sudo systemctl restart apache2

Ora puoi accedere all'interfaccia web di EteSync utilizzando il nome di dominio etebase.example.com .

Nginx

Se preferisci il server web Nginx, installa Nginx con.

sudo apt install nginx

Crea un file host virtuale in Nginx per EteSync.

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

Inserisci le seguenti righe nel file. Sostituisci i segnaposto se necessario e dovresti creare un record DNS A per il sottodominio.

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

Salva e chiudi il file. Quindi testa le configurazioni di Nginx.

sudo nginx -t

Se il test ha esito positivo, ricarica Nginx per rendere effettive le modifiche.

sudo systemctl reload nginx

Ora puoi accedere all'interfaccia web di EteSync su etebase.example.com .

Risoluzione dei problemi

Se vedi la bad request (400) errore durante il tentativo di accesso all'interfaccia web di EteSync, assicurati di aver aggiunto il nome del server etesync a allowd_hosts elenco in etebase-server.ini file. Quindi riavvia etebase (sudo systemctl restart etebase ).

Puoi anche abilitare la modalità di debug in etebase-server.ini file, ovvero cambia

debug = false

A

debug = true

Quindi riavvia etebase.

sudo systemctl restart etebase

Quindi controlla il registro del servizio di sistema.

sudo journalctl -eu etebase

Passaggio 6:abilita HTTPS

Per crittografare il traffico HTTP, possiamo abilitare HTTPS installando un certificato TLS gratuito emesso da Let's Encrypt. Esegui il comando seguente per installare il client Let's Encrypt (certbot) sul server Ubuntu.

sudo apt install certbot

Se usi Apache, devi anche installare il plugin Certbot Apache.

sudo apt install python3-certbot-apache

Quindi, esegui il comando seguente per ottenere e installare il certificato TLS.

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

Se usi Nginx, devi anche installare il plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Quindi, esegui il comando seguente per ottenere e installare il certificato TLS.

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

Dove:

  • --apache :usa il plugin Apache.
  • --nginx :usa il plugin nginx.
  • --agree-tos :Accetta i termini di servizio.
  • --redirect :Forza HTTPS tramite reindirizzamento 301.
  • --hsts :aggiungi l'intestazione Strict-Transport-Security a ogni risposta HTTP. Forzare il browser a utilizzare sempre TLS per il dominio. Difende dallo stripping SSL/TLS.
  • --staple-ocsp :Abilita la pinzatura OCSP. Una risposta OCSP valida viene pinzata al certificato offerto dal server durante TLS.

Il certificato dovrebbe ora essere ottenuto e installato automaticamente.

Fase 7:crea account utente

Crea un utente super amministratore.

./manage.py createsuperuser

Quindi vai su etebase.example.com/admin e accedi alla console di amministrazione. Successivamente, puoi creare account utente individuali da utilizzare per sincronizzare calendari, contatti, attività e note. Nota che non è necessario creare password per gli utenti nella console di amministrazione di EteSync, poiché Etebase utilizza la prova a conoscenza zero per l'autenticazione.

Ora dobbiamo configurare i client per utilizzare EteSync.

Come installare il modulo Evolution EteSync su Ubuntu Desktop

Evoluzione è la suite di groupware predefinita nell'ambiente desktop GNOME. Puoi installarlo sul tuo desktop Ubuntu con:

sudo apt install evolution

Per utilizzare EteSync in Evolution, è necessario installare il modulo EteSync per Evolution seguendo i passaggi seguenti.

Clona la libetebase deposito.

sudo apt install git

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

Passa alla directory appena creata.

cd libetebase/

Installa i pacchetti richiesti per creare il pacchetto dal sorgente.

sudo apt install build-essential libssl-dev cargo

Compila il pacchetto sorgente.

make

Installa il binario.

sudo make install

Quindi torna alla directory precedente.

cd ..

Clona il Evolution-EteSync deposito.

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

Passa alla directory appena creata.

cd evolution-etesync/

Installa i pacchetti richiesti per creare il pacchetto dal sorgente.

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

Compila e installa il pacchetto.

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

Utilizzo di EteSync in Evolution

Ora avvia l'app Evolution sul desktop di Ubuntu. Fai clic su Nuovo nella barra degli strumenti e aggiungi un nuovo account di raccolta .

Quindi inserisci il tuo nome utente EteSync e l'indirizzo del server. Nota che devi aggiungere https:// come prefisso dell'indirizzo del server. Seleziona Cerca un account EteSync e deseleziona tutte le altre opzioni. Quindi fai clic su Cerca pulsante.

Ti chiederà di inserire la password per continuare. Questo è in realtà il momento di impostare la password, quindi fai clic su Inserisci password collegare e impostare una password.

Dopo aver inserito una password, fai clic sul pulsante Riprova e dovrebbe trovare un candidato. Fai clic su Avanti pulsante per continuare.

Sincronizza con NextCloud

Se hai un server Nextcloud self-hosted e hai installato l'app Calendario, Attività o Contatti sul tuo server Nextcloud, puoi aggiungere il tuo server Nextcloud DAV in Evolution, in modo che possano essere sincronizzati. Aggiungi semplicemente un altro account di raccolta in Evolution, inserisci il tuo nome utente Nextcloud e l'indirizzo CalDAV/CardDAV, seleziona Cerca un server CalDAV/CardDAV , deseleziona tutte le altre opzioni. Quindi inserisci la tua password Nextcloud. L'indirizzo Nextcloud CalDAV/CardDAV dovrebbe essere https://nextcloud.yourdomain.com/remote.php/dav .

Utilizzo dell'app EteSync per iOS

Per sincronizzare calendario, contatti e attività su iOS, devi prima configurare un account CalDAV/CardDAV in iOS. Vai alle Impostazioni app -> Calendario -> Account -> Aggiungi account -> Altro , e aggiungi un account CalDAV e CardDAV. CalDAV viene utilizzato per sincronizzare i calendari e CardDAV viene utilizzato per sincronizzare i contatti sui tuoi dispositivi.

Se disponi di un server Nextcloud self-hosted, puoi utilizzare il tuo account Nextcloud CalDAV/CardDAV. Se non ne hai uno, usa semplicemente un account falso.

Quindi, installa l'app EteSync dall'app store. Quindi aggiungi il tuo account EteSync.

Dopo aver effettuato l'accesso al tuo account EteSync, vai alle impostazioni menu nell'app EteSync. In Avanzate sezione, seleziona il tuo account CardDAV per Sincronizza contatti e seleziona il tuo account CalDAV per Sincronizzare calendari e promemoria .


Ubuntu
  1. Come installare MariaDB 10.4 su Ubuntu 18.04

  2. Come installare MySQL su Ubuntu 18.04

  3. Come installare MariaDB su Ubuntu 18.04

  4. Come installare Zimbra 8.6 su Ubuntu 14.04 Server

  5. Come installare MariaDB su Ubuntu 22.04

Come installare Consul Server su Ubuntu 16.04

Come installare MariaDB su Ubuntu 18.04 / Ubuntu 16.04

Come installare il server EteSync 2.0 (Etebase) su Ubuntu

Come installare MariaDB su Ubuntu 16.04

Come installare il server EteSync su Ubuntu 20.04 LTS

Come installare MariaDB su Ubuntu