Cách cài đặt Syncthing trên Ubuntu 20.04

theanh

Administrator
Nhân viên
Syncthing là một công cụ mã nguồn mở được sử dụng để đồng bộ hóa các tệp giữa hai hoặc nhiều máy tính trên một mạng. Công cụ này sử dụng kiến trúc ngang hàng và trao đổi dữ liệu trực tiếp giữa các thiết bị của bạn. Tất cả dữ liệu được truyền giữa nhiều thiết bị đều được mã hóa bằng TLS. Bất cứ khi nào bạn tạo, sửa đổi hoặc xóa bất kỳ dữ liệu nào trên một máy Syncthing, dữ liệu đó sẽ tự động được sao chép sang các máy chủ khác. Nó có thể cài đặt trên tất cả các hệ điều hành chính bao gồm Linux, Windows, Mac OS X, v.v.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và thiết lập máy chủ Syncthing trên Ubuntu 20.04.

Điều kiện tiên quyết​

  • Hai máy chủ chạy Ubuntu 20.04.
  • Một tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
  • Một mật khẩu gốc được cấu hình trên cả hai máy chủ.

Bắt đầu​

Trước tiên, hãy cập nhật các gói hệ thống lên phiên bản đã cập nhật bằng cách chạy lệnh sau:
Mã:
apt-get update -y
Sau khi tất cả các gói được cập nhật, bạn có thể tiến hành bước tiếp theo.

Cài đặt Syncthing Server trên cả hai máy chủ​

Theo mặc định, gói Syncthing không được bao gồm trong kho lưu trữ mặc định của Ubuntu 20.04. Vì vậy, bạn sẽ cần thêm kho lưu trữ Syncthing vào APT.

Trước tiên, hãy cài đặt tất cả các phụ thuộc cần thiết trên cả hai máy chủ bằng lệnh sau:
Mã:
apt-get install gnupg2 curl apt-transport-https -y
Tiếp theo, tải xuống và thêm khóa phát hành bằng lệnh sau:
Mã:
curl -s https://syncthing.net/release-key.txt | apt-key add -
Tiếp theo, thêm kho lưu trữ Syncthing vào APT bằng lệnh sau:
Mã:
echo "deb https://apt.syncthing.net/ syncthing release" > /etc/apt/sources.list.d/syncthing.list
Tiếp theo, hãy cập nhật kho lưu trữ và cài đặt máy chủ Syncthing bằng lệnh sau:
Mã:
apt-get update -y
apt-get install syncthing -y
Sau khi cài đặt hoàn tất, hãy xác minh phiên bản Syncthing bằng lệnh sau:
Mã:
syncthing --version
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
syncthing v1.18.0 "Fermium Flea" (go1.16.5 linux-amd64) [emailprotected] 2021-06-21 20:53:50 UTC [noupgrade]
Lúc này, Syncthing đã được cài đặt trên cả hai máy chủ. Bây giờ bạn có thể tiến hành bước tiếp theo.

Tạo tệp đơn vị Systemd trên cả hai máy chủ​

Tiếp theo, bạn sẽ cần tạo tệp đơn vị systemd để quản lý dịch vụ Syncthing. Bạn có thể tạo nó trên cả hai máy chủ bằng lệnh sau:
Mã:
nano /etc/systemd/system/[emailprotected]
Thêm các dòng sau:
Mã:
[Unit]Description=Syncthing - Đồng bộ hóa tệp liên tục nguồn mở cho %IDocumentation=man:syncthing(1)After=network.target[Service]User=%iExecStart=/usr/bin/syncthing -no-browser -gui-address="0.0.0.0:8384" -no-restart -logflags=0Restart=on-failureSuccessExitStatus=3 4RestartForceExitStatus=3 4[Install]WantedBy=multi-user.target
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, tải lại daemon systemd để áp dụng cấu hình:
Mã:
systemctl daemon-reload
Tiếp theo, khởi động dịch vụ Syncthing bằng lệnh sau:
Mã:
systemctl start syncthing@root
Để xác minh trạng thái của dịch vụ Syncthing, hãy chạy lệnh sau:
Mã:
systemctl status syncthing@root
Bạn sẽ thấy đầu ra sau:
Mã:
? [emailprotected] - Syncthing - Đồng bộ hóa tệp liên tục nguồn mở cho root Đã tải: đã tải (/etc/systemd/system/[emailprotected]; đã tắt; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ sáu 2021-07-09 04:40:12 UTC; 5 giây trước Tài liệu: man:syncthing(1) PID chính: 2878 (syncthing) Nhiệm vụ: 14 (giới hạn: 2353) Bộ nhớ: 44,2M CGroup: /system.slice/system-syncthing.slice/[emailprotected] ??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=009/07 04:40:14 node1 syncthing[2878]: [WPOF6] THÔNG TIN: Trình nghe QUIC ([::]:22000) đang bắt đầu09/07 04:40:14 node1 syncthing[2878]: [WPOF6] THÔNG TIN: Đang tải chứng chỉ HTTPS: mở /root/.config/syncthing/https-cert.pem: không có tệp nào như vậy hoặc d>09/07 04:40:14 node1 syncthing[2878]: [WPOF6] THÔNG TIN: Tạo chứng chỉ HTTPS mới09/07 04:40:14 node1 syncthing[2878]: [WPOF6] THÔNG TIN: Hoàn tất quét ban đầu của thư mục sendreceive "Default Folder" (mặc định)09/07 04:40:14 node1 syncthing[2878]: [WPOF6] THÔNG TIN: GUI và API đang lắng nghe trên [::]:838409/07 04:40:14 node1 syncthing[2878]: [WPOF6] THÔNG TIN: Truy cập GUI qua URL sau: http://127.0.0.1:8384/09/07 04:40:14 node1 syncthing[2878]: [WPOF6] THÔNG TIN: Tên tôi là "node1"09/07 04:40:14 node1 syncthing[2878]: [WPOF6] CẢNH BÁO: Syncthing không nên chạy như người dùng đặc quyền hoặc hệ thống. Vui lòng cân nhắc sử dụng norma>09/07 04:40:14 node1 syncthing[2878]: [WPOF6] THÔNG TIN: quic://0.0.0.0:22000 phát hiện loại NAT: Không nằm sau NAT09/07 04:40:14 node1 syncthing[2878]: [WPOF6] THÔNG TIN: quic://0.0.0.0:22000 giải quyết địa chỉ bên ngoài quic://45.58.35.6:22000 (qua stun.syncthin>
Tại thời điểm này, dịch vụ Syncthing đã được khởi động và đang lắng nghe trên cổng 8384. Bạn có thể kiểm tra bằng lệnh sau:
Mã:
ss -antpl | grep 8384
Bạn sẽ thấy đầu ra sau:
Mã:
LISTEN 0 4096 *:8384 *:* users:(("syncthing",pid=2889,fd=12))

Truy cập Giao diện Web Syncthing​

Tiếp theo, mở trình duyệt web của bạn và truy cập giao diện web Syncthing bằng URL http://first-server-ip:8384http://first-server-ip:8384.

Bạn sẽ thấy màn hình sau:



Nhấp vào Cài đặt để xác định người dùng và mật khẩu quản trị như hiển thị bên dưới:



Cung cấp tên người dùng, mật khẩu của bạn và nhấp vào nút Lưu để áp dụng các thay đổi. Bạn sẽ được chuyển hướng đến trang đăng nhập Syncthing:



Cung cấp tên người dùng, mật khẩu quản trị của bạn và nhấp vào nút Đăng nhập. Bạn sẽ thấy màn hình sau:



Tiếp theo, bạn sẽ cần thêm ID thiết bị của từng máy chủ vào một máy chủ khác để đồng bộ hóa các tệp giữa cả hai máy chủ. Để thực hiện, hãy nhấp vào nút Hành động > Hiển thị ID trên cả hai máy chủ. Bạn sẽ thấy màn hình sau:





Trên máy chủ đầu tiên, hãy nhấp vào Thêm thiết bị từ xa. Bạn sẽ thấy màn hình sau:



Cung cấp ID thiết bị của máy chủ thứ hai và nhấp vào nút Lưu.

Trên máy chủ thứ hai, hãy nhấp vào Thêm thiết bị từ xa. Bạn sẽ thấy màn hình sau:



Cung cấp ID thiết bị của máy chủ đầu tiên và nhấp vào nút Lưu. Bạn sẽ thấy màn hình sau:



Bây giờ, bạn sẽ cần thêm và chia sẻ thư mục mà bạn muốn đồng bộ hóa với máy chủ thứ hai. Nhấp vào nút Thêm thư mục. Bạn sẽ thấy màn hình sau:



Cung cấp nhãn thư mục, đường dẫn thư mục và nhấp vào tab Chia sẻ. Bạn sẽ thấy màn hình sau:



Đánh dấu vào máy chủ thứ hai và nhấp vào nút Lưu. Bạn sẽ thấy màn hình sau:



Tiếp theo, hãy đến máy chủ thứ hai và nhấp vào nút Quét lại Tất cả. Bạn sẽ thấy màn hình sau:



Nhấp vào Thêm để thêm thư mục Sao lưu được chia sẻ trên máy chủ đầu tiên. Bạn sẽ thấy màn hình sau:



Bây giờ, bất cứ khi nào bạn tạo hoặc sửa đổi bất kỳ tệp nào trên thư mục Sao lưu trên máy chủ đầu tiên, chúng sẽ được tự động đồng bộ hóa với máy chủ thứ hai.

Cấu hình Nginx làm Proxy ngược cho Syncthing​

Bạn cũng có thể thiết lập Nginx làm proxy ngược để truy cập máy chủ Syncthing thông qua cổng 80.

Đầu tiên, hãy cài đặt máy chủ Nginx bằng lệnh sau:
Mã:
apt-get install nginx -y
Tiếp theo, hãy tạo tệp cấu hình máy chủ ảo Nginx bằng lệnh sau:
Mã:
nano /etc/nginx/conf.d/syncthing.conf
Thêm các dòng sau:
Mã:
máy chủ { lắng nghe 80; tên máy chủ syncthing.example.com; nhật ký truy cập /var/log/nginx/syncthing.access.log; nhật ký lỗi /var/log/nginx/syncthing.error.log; vị trí / { proxy_pass http://127.0.0.1:8384; proxy_set_header X-Địa chỉ IP thực $remote_addr; proxy_set_header X-Chuyển tiếp $proxy_add_x_chuyển tiếp_for; proxy_set_header X-Giao thức chuyển tiếp $scheme; }}
Lưu và đóng tệp, sau đó xác minh Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Mã:
nginx -t
Bạn sẽ nhận được kết quả sau:
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thành công
Tiếp theo, tải lại Nginx để áp dụng các thay đổi.
Mã:
systemctl reload nginx
Bạn cũng có thể kiểm tra trạng thái của Nginx bằng lệnh sau:
Mã:
systemctl status nginx
Bạn sẽ thấy kết quả sau:
Mã:
? nginx.service - Máy chủ web hiệu suất cao và máy chủ proxy ngược Đã tải: đã tải (/lib/systemd/system/nginx.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) từ Thứ sáu 2021-07-09 05:01:36 UTC; 21 giây trước Tài liệu: man:nginx(8) PID chính: 3394 (nginx) Nhiệm vụ: 2 (giới hạn: 2353) Bộ nhớ: 6,2M CGroup: /system.slice/nginx.service ??3394 nginx: tiến trình chính /usr/sbin/nginx -g daemon đang bật; master_process đang bật; ??3395 nginx: tiến trình công nhân09/07 05:01:36 node1 systemd[1]: Đang khởi động Một máy chủ web hiệu suất cao và một máy chủ proxy ngược...09/07 05:01:36 node1 systemd[1]: Đã khởi động Một máy chủ web hiệu suất cao và một máy chủ proxy ngược.
Bây giờ, bạn có thể truy cập máy chủ Syncthing bằng URL http://syncthing.example.com.

Kết luận​

Xin chúc mừng! Bạn đã cài đặt và cấu hình Syncthing thành công trên hai máy chủ Ubuntu 20.04 và thiết lập đồng bộ hóa giữa cả hai máy chủ. Tôi hy vọng hướng dẫn này sẽ giúp bạn sao lưu máy chủ của mình.
 
Back
Bên trên