GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Syncthing di Ubuntu 20.04

Syncthing adalah alat sumber terbuka yang digunakan untuk menyinkronkan file antara dua atau lebih komputer di jaringan. Ini menggunakan arsitektur peer-to-peer dan bertukar data Anda secara langsung di antara perangkat Anda. Semua data yang dikirimkan antara beberapa perangkat dienkripsi dengan TLS. Setiap kali Anda membuat, memodifikasi, atau menghapus data apa pun di satu mesin Syncthing, data tersebut akan secara otomatis direplikasi ke server lain. Itu dapat diinstal di semua sistem operasi utama termasuk, Linux, Windows, Mac OS X, dll.

Dalam panduan ini, kami akan menunjukkan cara menginstal dan menyiapkan server Syncthing di Ubuntu 20.04.

Prasyarat

  • Dua server menjalankan Ubuntu 20.04.
  • Nama domain valid yang ditunjukkan dengan IP server Anda.
  • Kata sandi root dikonfigurasi di kedua server.

Memulai

Pertama, perbarui paket sistem ke versi yang diperbarui dengan menjalankan perintah berikut:

apt-get update -y

Setelah semua paket diperbarui, Anda dapat melanjutkan ke langkah berikutnya.

Instal Syncthing Server di Kedua Server

Secara default, paket Syncthing tidak disertakan dalam repositori default Ubuntu 20.04. Jadi, Anda perlu menambahkan repositori Syncthing ke APT.

Pertama, instal semua dependensi yang diperlukan di kedua server dengan perintah berikut:

apt-get install gnupg2 curl apt-transport-https -y

Selanjutnya, unduh dan tambahkan kunci rilis dengan perintah berikut:

curl -s https://syncthing.net/release-key.txt | apt-key add -

Selanjutnya, tambahkan repositori Syncthing ke APT dengan perintah berikut:

echo "deb https://apt.syncthing.net/ syncthing release" > /etc/apt/sources.list.d/syncthing.list

Selanjutnya, perbarui repositori dan instal server Syncthing dengan perintah berikut:

apt-get update -y
apt-get install syncthing -y

Setelah penginstalan selesai, verifikasi versi Syncthing dengan perintah berikut:

syncthing --version

Anda akan mendapatkan output berikut:

syncthing v1.18.0 "Fermium Flea" (go1.16.5 linux-amd64) [email protected] 2021-06-21 20:53:50 UTC [noupgrade]

Pada titik ini, Syncthing diinstal di kedua server. Sekarang Anda dapat melanjutkan ke langkah berikutnya.

Buat File Unit Sistem di Kedua Server

Selanjutnya, Anda perlu membuat file unit systemd untuk mengelola layanan Syncthing. Anda dapat membuatnya di kedua server dengan perintah berikut:

nano /etc/systemd/system/[email protected]

Tambahkan baris berikut:

[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target

[Service]
User=%i
ExecStart=/usr/bin/syncthing -no-browser -gui-address="0.0.0.0:8384" -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

[Install]
WantedBy=multi-user.target

Simpan dan tutup file setelah Anda selesai. Kemudian, muat ulang daemon systemd untuk menerapkan konfigurasi:

systemctl daemon-reload

Selanjutnya, mulai layanan Syncthing dengan perintah berikut:

systemctl start [email protected]

Untuk memverifikasi status layanan Syncthing, jalankan perintah berikut:

systemctl status [email protected]

Anda akan melihat output berikut:

? [email protected] - Syncthing - Open Source Continuous File Synchronization for root
     Loaded: loaded (/etc/systemd/system/[email protected]; disabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-07-09 04:40:12 UTC; 5s ago
       Docs: man:syncthing(1)
   Main PID: 2878 (syncthing)
      Tasks: 14 (limit: 2353)
     Memory: 44.2M
     CGroup: /system.slice/system-syncthing.slice/[email protected]
             ??2878 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0
             ??2889 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0

Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: QUIC listener ([::]:22000) starting
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: Loading HTTPS certificate: open /root/.config/syncthing/https-cert.pem: no such file or d>
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: Creating new HTTPS certificate
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: Completed initial scan of sendreceive folder "Default Folder" (default)
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: GUI and API listening on [::]:8384
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: Access the GUI via the following URL: http://127.0.0.1:8384/
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: My name is "node1"
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] WARNING: Syncthing should not run as a privileged or system user. Please consider using a norma>
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: quic://0.0.0.0:22000 detected NAT type: Not behind a NAT
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: quic://0.0.0.0:22000 resolved external address quic://45.58.35.6:22000 (via stun.syncthin>

Pada titik ini, layanan Syncthing dimulai dan mendengarkan pada port 8384. Anda dapat memeriksanya dengan perintah berikut:

ss -antpl | grep 8384

Anda akan melihat output berikut:

LISTEN    0         4096                     *:8384                   *:*        users:(("syncthing",pid=2889,fd=12))    

Mengakses Antarmuka Web Syncthing

Selanjutnya, buka browser web Anda dan akses antarmuka web Syncthing menggunakan URL http://first-server-ip:8384 dan http://first-server-ip:8384.

Anda akan melihat layar berikut:

Klik Setelan untuk menentukan pengguna dan kata sandi admin seperti yang ditunjukkan di bawah ini:

Berikan nama pengguna, sandi, dan klik Simpan tombol untuk menerapkan perubahan. Anda akan diarahkan ke halaman login Syncthing:

Berikan nama pengguna, kata sandi admin Anda, dan klik Masuk tombol. Anda akan melihat layar berikut:

Selanjutnya, Anda perlu menambahkan ID perangkat dari setiap server ke server lain untuk menyinkronkan file antara kedua server. Untuk melakukannya, klik Tindakan> Tampilkan ID tombol di kedua server. Anda akan melihat layar berikut:

Di server pertama, klik Tambahkan Perangkat Jarak Jauh . Anda akan melihat layar berikut:

Berikan ID perangkat server kedua dan klik Simpan tombol.

Di server kedua, klik Tambahkan Perangkat Jarak Jauh . Anda akan melihat layar berikut:

Berikan ID perangkat server pertama dan klik Simpan tombol. Anda akan melihat layar berikut:

Sekarang, Anda perlu menambahkan dan membagikan folder yang ingin Anda sinkronkan dengan server kedua. Klik Tambahkan Folder tombol. Anda akan melihat layar berikut:

Berikan label folder Anda, jalur folder, dan klik tombol Berbagi tab. Anda akan melihat layar berikut:

Centang ke server kedua dan klik Simpan tombol. Anda akan melihat layar berikut:

Selanjutnya, buka server kedua dan klik Pindai ulang Semua tombol. Anda akan melihat layar berikut:

Klik Tambah untuk menambahkan folder Cadangan yang dibagikan di server pertama. Anda akan melihat layar berikut:

Sekarang, setiap kali Anda membuat atau memodifikasi file apa pun di folder Cadangan di server pertama, file tersebut akan disinkronkan secara otomatis ke server kedua.

Konfigurasikan Nginx sebagai Proxy Terbalik untuk Menyinkronkan

Anda juga dapat mengatur Nginx sebagai proxy terbalik untuk mengakses server Syncthing melalui port 80.

Pertama, instal server Nginx dengan perintah berikut:

apt-get install nginx -y

Selanjutnya, buat file konfigurasi virtual host Nginx dengan perintah berikut:

nano /etc/nginx/conf.d/syncthing.conf

Tambahkan baris berikut:

server {
  listen 80;
  server_name syncthing.example.com;

  access_log /var/log/nginx/syncthing.access.log;
  error_log /var/log/nginx/syncthing.error.log;
  location / {
    proxy_pass http://127.0.0.1:8384;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }
}

Simpan dan tutup file kemudian verifikasi Nginx untuk kesalahan sintaks dengan perintah berikut:

nginx -t

Anda akan mendapatkan output berikut:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Selanjutnya, muat ulang Nginx untuk menerapkan perubahan.

systemctl reload nginx

Anda juga dapat memeriksa status Nginx menggunakan perintah berikut:

systemctl status nginx

Anda akan melihat output berikut:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-07-09 05:01:36 UTC; 21s ago
       Docs: man:nginx(8)
   Main PID: 3394 (nginx)
      Tasks: 2 (limit: 2353)
     Memory: 6.2M
     CGroup: /system.slice/nginx.service
             ??3394 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??3395 nginx: worker process

Jul 09 05:01:36 node1 systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 09 05:01:36 node1 systemd[1]: Started A high performance web server and a reverse proxy server.

Sekarang, Anda dapat mengakses server Syncthing menggunakan URL http://syncthing.example.com.

Kesimpulan

Selamat! Anda telah berhasil menginstal dan mengonfigurasi Syncthing pada dua server Ubuntu 20.04 dan mengatur sinkronisasi antara kedua server. Saya harap tutorial ini akan membantu Anda untuk membuat cadangan server Anda.


Ubuntu
  1. Cara Menginstal XWiki di Ubuntu 20.04

  2. Cara Menginstal MongoDB di Ubuntu 20.04

  3. Cara Menginstal R di Ubuntu 18.04

  1. Cara Menginstal R di Ubuntu 20.04

  2. Cara Menginstal Logstash di Ubuntu 18.04

  3. Cara Menginstal phpBB di Ubuntu 20.04

  1. Cara Menginstal Go di Ubuntu 18.04

  2. Cara Menginstal R di Ubuntu 18.04

  3. Cara Menginstal Usermin di Ubuntu 20.04