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

theanh

Administrator
Nhân viên
Etherpad là trình soạn thảo trực tuyến thời gian thực dựa trên web cho phép người viết đồng thời chỉnh sửa tài liệu văn bản và theo dõi mọi chỉnh sửa theo thời gian thực. Đây là mã nguồn mở, có thể tùy chỉnh và có khả năng hiển thị văn bản của từng tác giả theo màu riêng của họ. Nó cũng cung cấp API HTTP mà bạn có thể tích hợp với các ứng dụng của mình để quản lý người dùng và nhóm. Nó cung cấp một số plugin giúp bạn tích hợp thông báo qua email, tải tệp lên, cuộc gọi video trong Etherpad. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt trình soạn thảo dựa trên web Etherpad trên máy chủ Ubuntu 20.04.

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

  • Một 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 cho máy chủ.

Bắt đầu​

Trước khi bắt đầu, bạn sẽ cần cập nhật các gói hệ thống của mình lên phiên bản mới nhất. Bạn có thể cập nhật chúng 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 sẽ cần cài đặt một số gói phụ thuộc vào hệ thống của mình. Bạn có thể cài đặt tất cả chúng bằng lệnh sau:
Mã:
apt-get install gnupg2 git unzip libssl-dev pkg-config gcc g++ make build-essential -y
Sau khi tất cả các gói được cài đặt, bạn có thể tiến hành bước tiếp theo.

Cài đặt và cấu hình cơ sở dữ liệu MariaDB​

Etherpad sử dụng MariaDB làm cơ sở dữ liệu phụ trợ. Vì vậy, bạn sẽ cần cài đặt máy chủ MariaDB trong hệ thống của mình. Bạn có thể cài đặt nó bằng lệnh sau:
Mã:
apt-get install mariadb-server -y
Sau khi cài đặt MariaDB, hãy đăng nhập vào shell MariaDB bằng lệnh sau:
Mã:
mysql
Sau khi đăng nhập, hãy tạo cơ sở dữ liệu và người dùng cho Etherpad bằng lệnh sau:
Mã:
MariaDB [(none)]> create database etherpad;
MariaDB [(none)]> cấp tất cả các đặc quyền trên etherpad.* cho etherpad@localhost được xác định bởi 'password';
Tiếp theo, flush các đặc quyền và thoát khỏi MariaDB bằng lệnh sau:
Mã:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Lúc này, cơ sở dữ liệu của bạn đã được cấu hình cho Etherpad. Bây giờ bạn có thể tiến hành bước tiếp theo.

Cài đặt Node.js​

Etherpad dựa trên Node.js. Vì vậy, bạn sẽ cần cài đặt Node.js trong hệ thống của mình. Theo mặc định, phiên bản mới nhất của Node.js không có trong kho lưu trữ chuẩn Ubuntu 20.04. Vì vậy, bạn sẽ cần thêm kho lưu trữ Node.js vào hệ thống của mình. Bạn có thể thêm nó bằng lệnh sau:
Mã:
curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh
bash nodesource_setup.sh
Sau khi kho lưu trữ được thêm vào, hãy cài đặt Node.js bằng lệnh sau:
Mã:
apt-get install nodejs -y
Sau khi cài đặt Node.js, hãy xác minh phiên bản Node.js đã cài đặt bằng lệnh sau:
Mã:
node -v
Bạn sẽ nhận được kết quả sau:
Mã:
v14.15.0
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cài đặt và cấu hình Etherpad​

Trước khi cài đặt Etherpad. Bạn nên chạy Etherpad dưới dạng người dùng riêng biệt. Bạn có thể tạo người dùng mới cho Etherpad bằng lệnh sau:
Mã:
adduser --home /opt/etherpad --shell /bin/bash etherpad
Bạn sẽ được yêu cầu đặt mật khẩu như hiển thị bên dưới:
Mã:
Đang thêm người dùng `etherpad' ...Đang thêm nhóm mới `etherpad' (1000) ...Đang thêm người dùng mới `etherpad' (1000) với nhóm `etherpad' ...Đang tạo thư mục gốc `/opt/etherpad' ...Đang sao chép tệp từ `/etc/skel' ...Mật khẩu mới:Nhập lại mật khẩu mới:passwd: mật khẩu đã cập nhật thành côngĐang thay đổi thông tin người dùng cho etherpadNhập giá trị mới hoặc nhấn ENTER để lấy giá trị mặc định Họ và tên đầy đủ []: Hitesh Số phòng []: 1 Điện thoại công ty []: Điện thoại nhà []: Khác []:Thông tin có đúng không? [Y/n] Y
Tiếp theo, cung cấp quyền thích hợp cho thư mục gốc Etherpad bằng lệnh sau:
Mã:
install -d -m 755 -o etherpad -g etherpad /opt/etherpad
Tiếp theo, chuyển người dùng sang Etherpad và tải xuống phiên bản Etherpad mới nhất từ kho lưu trữ Git bằng lệnh sau:
Mã:
su - etherpad
git clone --branch master https://github.com/ether/etherpad-lite.git
Tiếp theo, thay đổi thư mục thành thư mục đã tải xuống và chạy Etherpad bằng lệnh sau:
Mã:
cd etherpad-lite
bin/run.sh
Lệnh này sẽ cài đặt tất cả các phụ thuộc và khởi động máy chủ Etherpad. Sau khi máy chủ khởi động thành công, bạn sẽ nhận được kết quả sau:
Mã:
[2020-11-11 06:46:44.783] [INFO] console - Phiên bản Etherpad của bạn là 1.8.6 (2c8769a)[2020-11-11 06:46:44.958] [INFO] console - Bạn có thể truy cập phiên bản Etherpad của mình tại http://0.0.0.0:9001/[2020-11-11 06:46:44.958] [WARN] console - Tên người dùng và mật khẩu của quản trị viên chưa được đặt trong settings.json. Để truy cập admin, vui lòng bỏ ghi chú và chỉnh sửa 'users' trong settings.json[2020-11-11 06:46:44.958] [WARN] console - Etherpad đang chạy ở chế độ Phát triển. Chế độ này chậm hơn đối với người dùng và kém an toàn hơn chế độ sản xuất. Bạn nên đặt biến môi trường NODE_ENV thành sản xuất bằng cách sử dụng: export NODE_ENV=production
Tiếp theo, nhấn CTRL + C để dừng máy chủ. Tiếp theo, bạn sẽ cần chỉnh sửa tệp settings.json và xác định cài đặt cơ sở dữ liệu và quản trị viên của mình:
Mã:
nano settings.json
Xóa các dòng sau:
Mã:
"dbType" : "dirty", "dbSettings" : { "filename" : "var/dirty.db" },
Thay đổi cài đặt MySQL như hiển thị bên dưới:
Mã:
"dbType" : "mysql", "dbSettings" : { "user": "etherpad", "host": "localhost", "port": 3306, "password": "password", "database": "etherpad", "charset": "utf8mb4" },
Thay đổi dòng trustProxy thành true:
Mã:
"trustProxy": true,
Xác định mật khẩu cho người dùng quản trị:
Mã:
"users": { "admin": { "password": "adminpassword", "is_admin": true },
Lưu và đóng tệp, sau đó cài đặt các phụ thuộc cần thiết bằng lệnh sau:
Mã:
./bin/installDeps.sh
Sau khi tất cả các phụ thuộc được cài đặt, hãy thoát khỏi người dùng Etherpad bằng lệnh sau:
Mã:
exit
Lúc này, Etherpad đã được cài đặt và định cấu hình. Bây giờ bạn có thể tiến hành bước tiếp theo.

Tạo Tệp Dịch vụ Systemd cho Etherpad​

Tiếp theo, bạn sẽ cần tạo tệp dịch vụ systemd để quản lý dịch vụ Etherpad. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /etc/systemd/system/etherpad.service
Thêm các dòng sau:
Mã:
[Unit]Mô tả=Etherpad-lite, trình chỉnh sửa cộng tác.After=syslog.target network.target[Service]Type=simpleUser=etherpadGroup=etherpadWorkingDirectory=/opt/etherpad/etherpad-liteEnvironment=NODE_ENV=productionExecStart=/usr/bin/node /opt/etherpad/etherpad-lite/src/node/server.jsRestart=always[Install]WantedBy=multi-user.target
Lưu và đóng tệp, sau đó tải lại daemon systemd bằng cách chạy lệnh sau:
Mã:
systemctl daemon-reload
Tiếp theo, khởi động dịch vụ Etherpad và cho phép dịch vụ này khởi động khi khởi động lại hệ thống bằng lệnh sau:
Mã:
systemctl start etherpad
systemctl enable etherpad
Bạn cũng có thể xác minh trạng thái của dịch vụ Etherpad bằng lệnh sau:
Mã:
systemctl status etherpad
Bạn sẽ thấy đầu ra sau:
Mã:
? etherpad.service - Etherpad-lite, trình soạn thảo cộng tác. Đã tải: đã tải (/etc/systemd/system/etherpad.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ứ 4, ngày 11 tháng 11 năm 2020 lúc 06:50:49 UTC; 4 giây trước PID chính: 12269 (nút) Nhiệm vụ: 13 (giới hạn: 4691) Bộ nhớ: 119,1M CGroup: /system.slice/etherpad.service ??12269 /usr/bin/node /opt/etherpad/etherpad-lite/src/node/server.js

Cấu hình Nginx cho Etherpad​

Lúc này, Etherpad đã được khởi động và lắng nghe trên cổng 9001. Tiếp theo, bạn sẽ cần cài đặt và cấu hình Nginx làm proxy ngược để truy cập Etherpad. Trước tiên, hãy cài đặt 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 mới bằng lệnh sau:
Mã:
nano /etc/nginx/sites-available/etherpad.conf
Thêm các dòng sau:
Mã:
upstream etherpad { server localhost:9001; keepalive 32;}server { listen 80; server_name etherpad.mydomain.com; location / { client_max_body_size 50M; proxy_set_header X-Real-IP $remote_addr; proxy_http_version 1.1; proxy_pass http://etherpad; }}
Lưu và đóng tệp, sau đó kích hoạt tệp cấu hình máy chủ ảo Nginx bằng lệnh sau:
Mã:
ln -s /etc/nginx/sites-available/etherpad.conf /etc/nginx/sites-enabled/
Tiếp theo, kiểm tra 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, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Mã:
systemctl restart nginx
Bạn cũng có thể xác minh trạng thái của Nginx bằng lệnh sau:
Mã:
systemctl status nginx
Bạn sẽ nhận được kết quả sau:
Mã:
? nginx.service - Một máy chủ web hiệu suất cao và một 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) kể từ Thứ 4, ngày 11 tháng 11 năm 2020 lúc 06:53:44 UTC; 6 giây trước Tài liệu: man:nginx(8) Tiến trình: 12984 ExecStartPre=/usr/sbin/nginx -t -q -g daemon đang bật; master_process đang bật; (code=exited, status=0/SUCCESS) Tiến trình: 12985 ExecStart=/usr/sbin/nginx -g daemon đang bật; master_process đang bật; (code=exited, status=0/SUCCESS) PID chính: 13001 (nginx) Nhiệm vụ: 3 (giới hạn: 4691) Bộ nhớ: 3,5M CGroup: /system.slice/nginx.service ??13001 nginx: tiến trình chính /usr/sbin/nginx -g daemon on; master_process on; ??13002 nginx: tiến trình công nhân ??13003 nginx: tiến trình công nhân11-11 06:53:44 ubuntu2004 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...11-11 06:53:44 ubuntu2004 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.

Truy cập Etherpad​

Bây giờ, hãy mở trình duyệt web của bạn và nhập URL . Bạn sẽ được chuyển hướng đến trang sau:





Cung cấp tên trang của bạn và nhấp vào nút OK. Bạn sẽ thấy bảng điều khiển Etherpad của mình ở trang sau:


Kết luận​

Xin chúc mừng! bạn đã cài đặt và cấu hình thành công Etherpad với Nginx làm proxy ngược trên máy chủ Ubuntu 20.04. Bạn có thể dễ dàng sử dụng Etherpad trong môi trường sản xuất. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên