GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Server EteSync 2.0 (Etebase) di Ubuntu

Tutorial ini akan menunjukkan cara menginstal EteSync server di Ubuntu. EteSync adalah solusi enkripsi ujung-ke-ujung sumber terbuka untuk menyinkronkan kalender, kontak, tugas, dan catatan Anda.

Fitur EteSync

Versi terbaru adalah EteSync 2.0, yang menampilkan

  • Enkripsi ujung ke ujung.
  • Tidak diperlukan sandi enkripsi terpisah. Anda hanya perlu satu sandi yang digunakan untuk enkripsi dan login.
  • Bukti tanpa pengetahuan untuk mengautentikasi ke server memastikan sandi Anda tidak pernah keluar dari perangkat Anda.
  • Sinkronisasi instan antar perangkat Anda.
  • Kemampuan untuk berbagi data dengan pengguna lain
  • Klien tersedia untuk desktop (jembatan DAV), web, Android, dan iOS.
  • Integrasi dengan desktop GNOME dan KDE (backend EteSync untuk Evolution dan Akonadi).
  • Pengaya untuk Mozilla Thunderbird.
  • Tingkatkan ke protokol Etebase baru.

Dalam waktu dekat, EteSync juga akan menambahkan dukungan untuk berbagi lokasi yang aman. EteSync menyediakan layanan yang di-host di etesync.com. Saya akan menunjukkan cara menjalankan instance yang dihosting sendiri di server Ubuntu dan cara menggunakan perangkat lunak klien di berbagai platform.

Langkah 1:Instal Server MariaDB Versi Stabil Terbaru di Ubuntu

Secara default, EteSync menyimpan informasi pengguna di SQLite basis data. Jika Anda lebih suka menggunakan MariaDB , ikuti petunjuk di bawah ini.

Sebaiknya gunakan MariaDB versi stabil terbaru yaitu 10.5, karena akan ada masalah jika Anda menjalankan EteSync dengan MariaDB 10.3. Untuk menginstal versi stabil terbaru, jalankan perintah berikut untuk menambahkan repositori MariaDB di 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'

Untuk menambahkan repositori di Ubuntu 18.04, cukup ganti focal dengan bionic di perintah ketiga.

Kemudian perbarui indeks paket dan instal server MariaDB.

sudo apt update

sudo apt install mariadb-server

Jika Anda memutakhirkan server MariaDB yang ada ke versi terbaru, Anda mungkin melihat pesan berikut. Saya sarankan memilih N untuk mempertahankan versi saat ini dan memeriksa apa yang perlu diubah nanti.

Jika ada masalah ketergantungan paket, Anda dapat menjalankan perintah berikut untuk memperbaikinya.

sudo apt --fix-broken install

Setelah instalasi selesai, server MariaDB secara otomatis dimulai. Anda dapat memeriksa statusnya dengan:

systemctl status mariadb

Seperti yang Anda lihat, ini aktif dan berjalan.

Petunjuk :Tekan Q untuk mendapatkan kembali kendali terminal jika perintah di atas tidak segera dihentikan.

Jika tidak berjalan, Anda dapat memulainya secara manual dengan:

sudo systemctl start mariadb

Untuk mengaktifkan mulai otomatis saat boot, jalankan

sudo systemctl enable mariadb

Langkah 2:Buat Database dan Pengguna untuk EteSync di Server Database MariaDB

Masuk ke server database MariaDB dengan perintah berikut. Karena MariaDB sekarang menggunakan unix_socket plugin untuk mengotentikasi login pengguna, tidak perlu memasukkan kata sandi root MariaDB. Kita hanya perlu mengawali mysql perintah dengan sudo .

sudo mysql

Kemudian buat database untuk EteSync. Tutorial ini menamai database etebase . Anda dapat menggunakan nama apa pun yang Anda suka.

create database etebase;

Buat pengguna basis data. Sekali lagi, Anda dapat menggunakan nama pilihan Anda untuk pengguna ini. Ganti your-password dengan kata sandi pilihan Anda.

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

Berikan pengguna ini semua hak istimewa di etebase basis data.

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

Hapus hak istimewa dan keluar.

flush privileges;

exit;

Langkah 3:Instal Server EteSync 2.0 di Ubuntu

Instal pembuat lingkungan virtual Python3 dan beberapa alat pembuatan paket.

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

Buka direktori home Anda.

cd

Kloning repositori EteSync dari Github.

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

Ubah ke direktori yang baru dibuat.

cd etebase

Buat lingkungan virtual Python3.

virtualenv -p python3 .venv

source .venv/bin/activate

pip install -r requirements.txt

Salin file konfigurasi contoh.

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

Edit filenya.

nano etebase-server.ini

Temukan baris berikut

;media_root = /path/to/media

Batalkan komentar dan ubah nilainya.

media_root = /home/username/etebase/media/

Temukan baris berikut,

allowed_host1 = example.com

Gunakan sub-domain seperti etebase.example.com .

allowed_host1 = etebase.example.com

Secara default, EteSync menyimpan informasi pengguna dalam database SQLite. Jika Anda lebih suka menggunakan server database MariaDB, beri komentar pada dua baris berikut (Tambahkan titik koma di awal setiap baris).

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

Kemudian tambahkan baris berikut di akhir file ini. Ini memberitahu EteSync cara mengakses etebase database di MariaDB, yang dibuat pada langkah 1. Jelas Anda harus menggunakan kata sandi Anda sendiri untuk etebase pengguna.

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

Simpan dan tutup file. Server Etebase adalah aplikasi Django, kita dapat menggunakan Daphne (server HTTP/WebSocket Saluran Django) untuk menjalankan Etebase. Instal Daphne dengan:

pip3 install daphne

Karena kita menggunakan MySQL/MariaDB sebagai mesin database, kita juga perlu menginstal mysqlclient modul.

sudo apt install libmysqlclient-dev

pip3 install mysqlclient

Instal aioredis modul untuk menggunakan cache Redis.

pip3 install aioredis

Buat file statis Django.

./manage.py collectstatic

Inisialisasi aplikasi.

./manage.py migrate

Mulai server EteSync 2.0 (Etebase).

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

Langkah 4:Jalankan EteSync sebagai Layanan Systemd

Kita dapat memulai EteSync secara manual dengan daphne -b 0.0.0.0 -p 8001 etebase_server.asgi:application , tetapi lebih nyaman untuk menjalankan EteSync sebagai layanan systemd di latar belakang. Tekan Ctrl+C untuk menghentikan instance EteSync saat ini.

Buat file unit layanan systemd untuk EteSync dengan perintah berikut.

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

Masukkan baris berikut ke dalam file. Ganti username dengan nama pengguna asli Anda.

[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

Simpan dan tutup file. Sekarang kita dapat memulai dan mengaktifkan etebase layanan systemd.

sudo systemctl start etebase

sudo systemctl enable etebase

Periksa statusnya.

systemctl status etebase

Jika etebase service tidak aktif (berjalan), Anda dapat menjalankan perintah berikut untuk melihat apa yang salah.

sudo journalctl -eu etebase

Langkah 5:Siapkan Proksi Terbalik

Sekarang kita perlu mengatur proxy terbalik untuk aplikasi Django, jadi nanti kita bisa mengakses EteSync melalui nama domain dan mengaktifkan HTTPS dengan mudah. Kita dapat menggunakan Apache atau Nginx untuk melakukannya.

Apache

Jika Anda lebih suka Apache, maka instal server web Apache dengan menggunakan perintah berikut.

sudo apt install apache2

Untuk menggunakan Apache sebagai proxy terbalik, kita perlu mengaktifkan proxy modul dan header modul.

sudo a2enmod proxy proxy_http headers proxy_wstunnel

Kemudian buat file host virtual untuk EteSync.

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

Masukkan konfigurasi berikut ke dalam file. Ganti etebase.example.com dengan nama domain Anda yang sebenarnya. Jangan lupa untuk membuat catatan DNS A untuk sub-domain ini. Jika Anda tidak memiliki nama domain asli, saya sarankan pergi ke NameCheap untuk membelinya. Harganya rendah dan mereka memberikan perlindungan privasi whois gratis seumur hidup.

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

Simpan dan tutup file. Kemudian aktifkan host virtual ini.

sudo a2ensite etebase.conf

Mulai ulang Apache

sudo systemctl restart apache2

Sekarang Anda dapat mengakses antarmuka web EteSync menggunakan nama domain etebase.example.com .

Nginx

Jika Anda lebih suka server web Nginx, maka instal Nginx dengan.

sudo apt install nginx

Buat file host virtual di Nginx untuk EteSync.

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

Masukkan baris berikut ke dalam file. Ganti placeholder seperlunya dan Anda harus membuat catatan DNS A untuk sub-domain.

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

Simpan dan tutup file. Kemudian uji konfigurasi Nginx.

sudo nginx -t

Jika pengujian berhasil, muat ulang Nginx agar perubahan diterapkan.

sudo systemctl reload nginx

Sekarang Anda dapat mengakses antarmuka web EteSync di etebase.example.com .

Pemecahan Masalah

Jika Anda melihat bad request (400) error saat mencoba mengakses antarmuka web EteSync, pastikan Anda telah menambahkan nama server etesync ke allowd_hosts daftar di etebase-server.ini mengajukan. Kemudian restart etebase (sudo systemctl restart etebase ).

Anda juga dapat mengaktifkan mode debug di etebase-server.ini file, yaitu, ubah

debug = false

Untuk

debug = true

Kemudian restart etebase.

sudo systemctl restart etebase

Kemudian periksa log layanan systemd.

sudo journalctl -eu etebase

Langkah 6:Aktifkan HTTPS

Untuk mengenkripsi lalu lintas HTTP, kita dapat mengaktifkan HTTPS dengan memasang sertifikat TLS gratis yang dikeluarkan dari Let's Encrypt. Jalankan perintah berikut untuk menginstal klien Let's Encrypt (certbot) di server Ubuntu.

sudo apt install certbot

Jika Anda menggunakan Apache, maka Anda juga perlu menginstal plugin Certbot Apache.

sudo apt install python3-certbot-apache

Selanjutnya, jalankan perintah berikut untuk mendapatkan dan menginstal sertifikat TLS.

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

Jika Anda menggunakan Nginx, maka Anda juga perlu menginstal plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Selanjutnya, jalankan perintah berikut untuk mendapatkan dan menginstal sertifikat TLS.

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

Dimana:

  • --apache :Gunakan plugin Apache.
  • --nginx :Gunakan plugin nginx.
  • --agree-tos :Menyetujui persyaratan layanan.
  • --redirect :Memaksa HTTPS dengan pengalihan 301.
  • --hsts :Tambahkan header Strict-Transport-Security ke setiap respons HTTP. Memaksa browser untuk selalu menggunakan TLS untuk domain. Mempertahankan dari SSL/TLS Stripping.
  • --staple-ocsp :Mengaktifkan Stapel OCSP. Respons OCSP yang valid ditempelkan ke sertifikat yang ditawarkan server selama TLS.

Sertifikat sekarang harus diperoleh dan diinstal secara otomatis.

Langkah 7:Buat Akun Pengguna

Buat pengguna admin super.

./manage.py createsuperuser

Lalu pergi ke etebase.example.com/admin dan masuk ke konsol admin. Selanjutnya, Anda dapat membuat akun pengguna individual yang akan digunakan untuk menyinkronkan kalender, kontak, tugas, dan catatan. Perhatikan bahwa Anda tidak perlu membuat sandi untuk pengguna di konsol admin EteSync, karena Etebase menggunakan bukti tanpa pengetahuan untuk autentikasi.

Sekarang kita perlu menyiapkan klien untuk menggunakan EteSync.

Cara Memasang Modul Evolution EteSync di Desktop Ubuntu

Evolusi adalah suite groupware default di lingkungan desktop GNOME. Anda dapat menginstalnya di desktop Ubuntu Anda dengan:

sudo apt install evolution

Untuk menggunakan EteSync di Evolution, kita perlu menginstal modul EteSync for Evolution dengan mengikuti langkah-langkah di bawah ini.

Kloning libetebase penyimpanan.

sudo apt install git

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

Ubah ke direktori yang baru dibuat.

cd libetebase/

Instal paket yang diperlukan untuk membangun paket dari sumber.

sudo apt install build-essential libssl-dev cargo

Kompilasi paket sumber.

make

Instal biner.

sudo make install

Kemudian kembali ke direktori sebelumnya.

cd ..

Kloning Evolution-EteSync penyimpanan.

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

Ubah ke direktori yang baru dibuat.

cd evolution-etesync/

Instal paket yang diperlukan untuk membangun paket dari sumber.

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

Kompilasi dan instal paket.

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

Menggunakan EteSync di Evolution

Sekarang luncurkan aplikasi Evolution di desktop Ubuntu Anda. Klik tombol Baru tombol di bilah alat dan tambahkan akun koleksi baru .

Kemudian masukkan nama pengguna dan alamat server EteSync Anda. Perhatikan bahwa Anda perlu menambahkan https:// sebagai awalan dari alamat server. Pilih Cari akun EteSync dan hapus centang semua opsi lainnya. Kemudian klik Cari tombol.

Ini akan meminta Anda memasukkan kata sandi untuk melanjutkan. Ini sebenarnya waktu untuk mengatur kata sandi, jadi klik Masukkan kata sandi tautkan dan atur kata sandi.

Setelah memasukkan kata sandi, klik tombol Coba lagi dan itu akan menemukan satu kandidat. Klik tombol Berikutnya tombol untuk melanjutkan.

Sinkronkan dengan NextCloud

Jika Anda memiliki server Nextcloud yang dihosting sendiri dan menginstal aplikasi Kalender, Tugas, atau Kontak di server Nextcloud, Anda dapat menambahkan server DAV Nextcloud di Evolution, sehingga dapat disinkronkan. Cukup tambahkan akun koleksi lainnya di Evolution, masukkan nama pengguna Nextcloud dan alamat CalDAV/CardDAV Anda, pilih Cari server CalDAV/CardDAV , hapus centang semua opsi lainnya. Kemudian masukkan kata sandi Nextcloud Anda. Alamat Nextcloud CalDAV/CardDAV harus https://nextcloud.yourdomain.com/remote.php/dav .

Menggunakan Aplikasi iOS EteSync

Untuk menyinkronkan kalender, kontak, dan tugas Anda di iOS, pertama-tama Anda perlu menyiapkan akun CalDAV/CardDAV di iOS. Buka Setelan aplikasi -> Kalender -> Akun -> Tambah Akun -> Lainnya ,  dan tambahkan akun CalDAV dan CardDAV. CalDAV digunakan untuk menyinkronkan kalender dan CardDAV digunakan untuk menyinkronkan kontak di perangkat Anda.

Jika Anda memiliki server Nextcloud yang dihosting sendiri, Anda dapat menggunakan akun Nextcloud CalDAV/CardDAV Anda. Jika Anda tidak memilikinya, cukup gunakan akun palsu.

Selanjutnya, instal aplikasi EteSync dari app store. Kemudian tambahkan akun EteSync Anda.

Setelah masuk ke akun EteSync Anda, buka setelan menu di aplikasi EteSync. Dalam Lanjutan bagian, pilih akun CardDAV Anda untuk Sinkronkan kontak dan pilih akun CalDAV Anda untuk Sinkronkan kalender dan pengingat .


Ubuntu
  1. Cara Menginstal MariaDB 10.4 di Ubuntu 18.04

  2. Cara Instal Zimbra 8.6 di Server Ubuntu 14.04

  3. Cara Menginstal MariaDB di Ubuntu 22.04

  1. Cara Menginstal MySQL di Ubuntu 18.04

  2. Cara Menginstal MariaDB di Ubuntu 18.04

  3. Cara Memasang Server Minecraft di Ubuntu 18.04

  1. Cara Menginstal Nginx di Ubuntu 20.04

  2. Cara Menginstal MariaDB di Ubuntu 20.04

  3. Cara Menginstal MariaDB di Ubuntu 20.04 LTS