EteSync là giải pháp mã nguồn mở để đồng bộ danh bạ, lịch và tác vụ của bạn. Giải pháp này tự lưu trữ, cung cấp mã hóa đầu cuối và cho phép bạn chia sẻ dữ liệu với người dùng khác. Giải pháp này có thể tích hợp với máy tính để bàn GNOME và KDE. Có thể truy cập thông qua máy khách trên máy tính để bàn, web, Android và iOS.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt EteSync với Apache trên Ubuntu 20.04.
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.
Trước tiên, cài đặt các phụ thuộc cần thiết bằng lệnh sau:
Tiếp theo, thêm khóa GPG MariaDB và kho lưu trữ bằng lệnh sau:
Tiếp theo, hãy cập nhật kho lưu trữ MariaDB và cài đặt phiên bản MariaDB mới nhất bằng lệnh sau:
Sau khi cài đặt máy chủ MariaDB, hãy đăng nhập vào shell MariaDB bằng lệnh sau:
Sau khi đăng nhập, hãy tạo cơ sở dữ liệu và người dùng cho EteSync bằng lệnh sau:
Tiếp theo, cấp tất cả các quyền cho cơ sở dữ liệu EteSync bằng lệnh sau:
Tiếp theo, xóa các quyền và thoát khỏi MariaDB bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Sau khi cài đặt tất cả các phần phụ thuộc, hãy tải xuống phiên bản mới nhất của EteSync bằng lệnh sau:
Sau khi tải xuống hoàn tất, hãy thay đổi thư mục thành etesync và tạo môi trường ảo Python bằng lệnh sau:
Tiếp theo, kích hoạt môi trường ảo bằng lệnh sau:
Tiếp theo, cài đặt tất cả các yêu cầu bằng lệnh sau:
Tiếp theo, sao chép tệp cấu hình mẫu:
Tiếp theo, chỉnh sửa tệp cấu hình bằng lệnh bên dưới:
Thêm hoặc sửa đổi các dòng sau theo cấu hình của bạn:
Lưu và đóng tệp sau đó cài đặt các mô-đun khác bằng lệnh sau:
Tiếp theo, tạo các tệp tĩnh và di chuyển cơ sở dữ liệu bằng lệnh sau:
Cuối cùng, khởi động máy chủ EteSync bằng lệnh sau:
Nếu mọi thứ ổn, bạn sẽ nhận được kết quả đầu ra sau:
Nhấn CTRL + C để dừng máy chủ.
Tiếp theo, tạo người dùng quản trị bằng lệnh sau:
Cung cấp tên người dùng, mật khẩu và email của bạn như hiển thị bên dưới:
Tiếp theo, hủy kích hoạt khỏi môi trường ảo Python bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó tải lại daemon systemd để áp dụng các thay đổi cấu hình:
Tiếp theo, khởi động và bật dịch vụ EteSync bằng lệnh sau:
Để xác minh trạng thái của dịch vụ EteSync, hãy chạy lệnh sau:
Bạn sẽ nhận được kết quả đầu ra sau:
Tại thời điểm này, EteSync đã được khởi động và lắng nghe trên cổng 8001. Bây giờ bạn có thể tiến hành bước tiếp theo.
Sau khi cài đặt máy chủ Apache, hãy bật tất cả các mô-đun proxy bằng lệnh sau:
Tiếp theo, hãy tạo tệp cấu hình máy chủ ảo Apache mới:
Thêm các dòng sau:
Lưu và đóng tệp sau đó kích hoạt máy chủ ảo Apache bằng lệnh sau:
Tiếp theo, khởi động lại Apache để cập nhật các thay đổi:
Bây giờ bạn có thể xác minh trạng thái Apache bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Cung cấp tên người dùng quản trị, mật khẩu và nhấp vào nút Đăng nhập. Bạn sẽ thấy trang sau:
Bạn có thể cài đặt bằng lệnh sau:
Sau khi cài đặt, bạn có thể chạy lệnh sau để cài đặt Chứng chỉ Let's Encrypt cho tên miền etesync.example.com của mình.
Trong quá trình cài đặt, bạn sẽ được yêu cầu cung cấp địa chỉ email và chấp nhận điều khoản dịch vụ như hiển thị bên dưới:
Tiếp theo, nhập 2 và nhấn Enter để tải xuống và cài đặt chứng chỉ SSL miễn phí cho tên miền của bạn. Sau khi quá trình cài đặt hoàn tất thành công. Bạn sẽ nhận được kết quả đầu ra sau:
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt EteSync với Apache trên Ubuntu 20.04.
Điều kiện tiên quyết
- Máy chủ chạy Ubuntu 20.04.
- Tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
- Mật khẩu gốc được cấu hình trên 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
Cài đặt Máy chủ MariaDB
Theo mặc định, EteSync sử dụng cơ sở dữ liệu SQLite để lưu trữ thông tin của nó. Ở đây, chúng ta sẽ cài đặt và sử dụng MariaDB làm cơ sở dữ liệu phụ trợ.Trước tiên, cài đặt các phụ thuộc cần thiết bằng lệnh sau:
Mã:
apt-get install software-properties-common gnupg2 -y
Mã:
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'
Mã:
apt-get install mariadb-server -y
Mã:
mysql
Mã:
MariaDB [(none)]> create database etesync;
MariaDB [(none)]> tạo người dùng etesync@localhost được xác định bởi 'securepassword';
Mã:
MariaDB [(none)]> cấp tất cả các quyền trên etesync.* cho etesync@localhost;
Mã:
MariaDB [(none)]> xóa các quyền;
MariaDB [(none)]> thoát;
Cài đặt và cấu hình EteSync
Đầu tiên, bạn sẽ cần cài đặt một số phụ thuộc Python cần thiết cho EteSync. Bạn có thể cài đặt tất cả chúng bằng lệnh sau:
Mã:
apt-get install python3-virtualenv python3-pip gcc libmysqlclient-dev build-essential git -y
Mã:
git clone https://github.com/etesync/server.git etesync
Mã:
cd etesync
virtualenv -p python3 .venv
Mã:
source .venv/bin/activate
Mã:
pip install -r requirements.txt
Mã:
cp etebase-server.ini.example etebase-server.ini
Mã:
nano etebase-server.ini
Mã:
media_root = /optallowed_host1 = etesync.example.com;engine = django.db.backends.sqlite3;name = db.sqlite3engine = django.db.backends.mysqlname = etesyncuser = etesyncpassword = securepasswordhost = 127.0.0.1port = 3306
Mã:
pip3 install daphne
pip3 install mysqlclient
pip3 install aioredis
Mã:
./manage.py collectstatic
./manage.py migrate
Mã:
daphne -b 0.0.0.0 -p 8001 etebase_server.asgi:application
Mã:
2021-07-09 05:42:28,510 THÔNG TIN Khởi động máy chủ tại tcp:port=8001:interface=0.0.0.02021-07-09 05:42:28,510 THÔNG TIN Hỗ trợ HTTP/2 không được bật (cài đặt http2 và tls Twisted extras)2021-07-09 05:42:28,511 THÔNG TIN Cấu hình điểm cuối tcp:port=8001:interface=0.0.0.02021-07-09 05:42:28,512 THÔNG TIN Đang lắng nghe trên địa chỉ TCP 0.0.0.0:8001
Tiếp theo, tạo người dùng quản trị bằng lệnh sau:
Mã:
./manage.py createsuperuser
Mã:
Tên người dùng: etesyncĐịa chỉ email: [emailprotected]Mật khẩu:Mật khẩu (lặp lại):Siêu người dùng đã được tạo thành công.
Mã:
hủy kích hoạt
Tạo tệp đơn vị Systemd cho EteSync
Tiếp theo, bạn sẽ cần tạo tệp đơn vị systemd để quản lý EteSync. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /etc/systemd/system/etesync.service
Mã:
[Unit]Mô tả=EteSync: Mã hóa đầu cuối để đồng bộ hóa Lịch, Danh bạ, Nhiệm vụ và Ghi chú.[Dịch vụ]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[Cài đặt]WantedBy=multi-user.target
Mã:
systemctl daemon-reload
Mã:
systemctl start etesync
systemctl enable etesync
Mã:
systemctl status etesync
Mã:
? etesync.service - EteSync: Mã hóa đầu cuối để đồng bộ hóa Lịch, Danh bạ, Nhiệm vụ và Ghi chú. Đã tải: đã tải (/etc/systemd/system/etesync.service; đã 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 05:45:45 UTC; 5 giây trước PID chính: 16213 (daphne) Nhiệm vụ: 1 (giới hạn: 2353) Bộ nhớ: 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>09/07 05:45:45 node1 systemd[1]: Đã bắt đầu EteSync: Mã hóa đầu cuối để đồng bộ hóa Lịch, Danh bạ, Nhiệm vụ và Ghi chú..09/07 05:45:46 node1 daphne[16213]: 09/07/2021 05:45:46,993 THÔNG TIN Đang khởi động máy chủ tại tcp:port=8001:interface=127.0.0.1, unix:/tmp/etebase_>09/07 05:45:46 node1 daphne[16213]: 09/07/2021 05:45:46,995 THÔNG TIN Hỗ trợ HTTP/2 không được bật (cài đặt http2 và tls Twisted extras)09/07 05:45:46 node1 daphne[16213]: 09/07/2021 05:45:46,995 THÔNG TIN Cấu hình điểm cuối tcp:port=8001:interface=127.0.0.109/07 05:45:46 node1 daphne[16213]: 09/07/2021 05:45:46,997 THÔNG TIN Đang lắng nghe trên địa chỉ TCP 127.0.0.1:800109/07 05:45:46 node1 daphne[16213]: 2021-07-09 05:45:46,998 THÔNG TIN Cấu hình điểm cuối unix:/tmp/etebase_server.sock
Cấu hình Apache làm Proxy ngược
Bạn cũng nên cài đặt và sử dụng Apache làm proxy ngược để truy cập EteSync. Trước tiên, hãy cài đặt máy chủ Apache bằng lệnh sau:
Mã:
apt-get install apache2 -y
Mã:
a2enmod proxy proxy_http headers proxy_wstunnel
Mã:
nano /etc/apache2/sites-available/etesync.conf
Mã:
ServerName etesync.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 /etesync/static
Mã:
a2ensite etesync.conf
Mã:
systemctl restart apache2
Mã:
systemctl status apache2
Mã:
? apache2.service - Máy chủ HTTP Apache Đã tải: đã tải (/lib/systemd/system/apache2.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) kể từ Thứ sáu 2021-07-09 05:50:26 UTC; 5 giây trước Tài liệu: https://httpd.apache.org/docs/2.4/ Tiến trình: 17551 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) PID chính: 17567 (apache2) Nhiệm vụ: 55 (giới hạn: 2353) Bộ nhớ: 5,3M CGroup: /system.slice/apache2.service ??17567 /usr/sbin/apache2 -k start ??17568 /usr/sbin/apache2 -k start ??17569 /usr/sbin/apache2 -k start09/07 05:50:26 node1 systemd[1]: Đang khởi động Máy chủ HTTP Apache...09/07 05:50:26 node1 apachectl[17558]: AH00558: apache2: Không thể xác định chính xác máy chủ đủ điều kiện tên miền, sử dụng 45.58.3>
Truy cập Bảng điều khiển quản trị EteSync
Bây giờ, hãy mở trình duyệt web của bạn và truy cập giao diện quản trị EteSync bằng URL . Bạn sẽ được chuyển hướng đến trang sau:Cung cấp tên người dùng quản trị, mật khẩu và nhấp vào nút Đăng nhập. Bạn sẽ thấy trang sau:
EteSync an toàn với Let's Encrypt SSL
Trước tiên, bạn sẽ cần cài đặt ứng dụng khách Certbot Let's Encrypt để tải xuống và cài đặt chứng chỉ SSL cho tên miền của mình.Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install python3-certbot-apache -y
Mã:
certbot --apache -d etesync.example.com
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator apache, Trình cài đặt apacheNhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' đểhủy): [emailprotected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vui lòng đọc Điều khoản dịch vụ tạihttps://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phảiđồng ý để đăng ký với máy chủ ACME tạihttps://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel: A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có sẵn lòng chia sẻ địa chỉ email của mình với Electronic Frontier Foundation, đối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuận phát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc của chúng tôimã hóa web, tin tức EFF, các chiến dịch và các cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)ó/(K)o: CNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho etesync.example.comĐã bật mô-đun ghi đè ApacheĐang chờ xác minh...Dọn dẹp các thử tháchĐã tạo một vhost SSL tại /etc/apache2/sites-available/etesync-le-ssl.confTriển khai chứng chỉ tới VirtualHost /etc/apache2/sites-available/etesync-le-ssl.confBật trang web khả dụng: /etc/apache2/sites-available/etesync-le-ssl.confVui lòng chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không, xóa quyền truy cập HTTP.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: Không chuyển hướng - Không thực hiện thêm bất kỳ thay đổi nào đối với cấu hình máy chủ web.2: Chuyển hướng - Chuyển hướng tất cả các yêu cầu đến quyền truy cập HTTPS an toàn. Chọn tùy chọn này chocác trang web mới hoặc nếu bạn tin tưởng rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tácthay đổi này bằng cách chỉnh sửa cấu hình máy chủ web của mình.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Chọn số thích hợp [1-2] rồi [enter] (nhấn 'c' để hủy): 2
Mã:
Đã bật mô-đun viết lại ApacheĐang chuyển hướng vhost trong /etc/apache2/sites-enabled/etesync.conf đến vhost ssl trong /etc/apache2/sites-available/etesync-le-ssl.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://etesync.example.comBạn nên kiểm tra cấu hình của mình tại:https://www.ssllabs.com/ssltest/analyze.html?d=etesync.example.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -