Cách cài đặt Wekan Kanban với Nginx và Let's Encrypt SSL trên Debian 10

theanh

Administrator
Nhân viên
Wekan là một Kanban Board miễn phí và mã nguồn mở được xây dựng bằng khuôn khổ JavaScript Meteor và được phân phối theo giấy phép MIT. Nó rất giống với Workflowy và Trello giúp bạn quản lý các tác vụ hàng ngày, chuẩn bị danh sách việc cần làm, quản lý người khác, v.v. Nó đi kèm với giao diện web hoàn toàn đáp ứng và được dịch sang nhiều ngôn ngữ. Wekan đi kèm với một bộ tính năng phong phú bao gồm, Xuất bảng Wekan, Nhập bảng Trello, Cài đặt SMTP, Khôi phục bảng đã lưu trữ, Mô-đun quản lý người dùng, Chức năng kéo và thả, cùng nhiều tính năng khác.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt bảng Wekan Kanban với Nginx làm máy chủ proxy trên Debian 10.

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

  • Một máy chủ chạy Debian 10.
  • 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 máy chủ của bạn.

Bắt đầu​

Trước khi bắt đầu, bạn nên cập nhật máy chủ của mình lên phiên bản mới nhất bằng lệnh sau:
Mã:
apt-get update -y
 apt-get upgrade -y
Sau khi máy chủ của bạn được cập nhật, hãy khởi động lại để triển khai các thay đổi.

Cài đặt Wekan​

Cách dễ nhất để cài đặt Wekan trên Debian 10 là sử dụng snap. Theo mặc định, gói snap có sẵn trong kho lưu trữ Debian 10. Bạn có thể cài đặt bằng cách chạy lệnh sau:
Mã:
apt-get install snapd -y
Sau khi snap được đưa vào/cài đặt, bạn có thể cài đặt Wekan bằng cách chạy lệnh sau:
Mã:
snap install wekan
Sau khi Wekan được cài đặt, nó sẽ tự động khởi động dịch vụ Wekan và Mongodb.

Bạn có thể xem trạng thái của dịch vụ Wekan bằng lệnh sau:
Mã:
systemctl status snap.wekan.wekan
Bạn sẽ thấy đầu ra sau:
Mã:
? snap.wekan.wekan.service - Dịch vụ cho ứng dụng snap wekan.wekan Đã tải: đã tải (/etc/systemd/system/snap.wekan.wekan.service; enabled; vendor preset: enabled) Đang hoạt động: đang hoạt động (đang chạy) kể từ CN 2019-12-22 07:43:34 UTC; 7 giây trước PID chính: 7836 (wekan-control) Nhiệm vụ: 11 (giới hạn: 2359) Bộ nhớ: 156,3M CGroup: /system.slice/snap.wekan.wekan.service ??7836 /bin/bash /snap/wekan/678/bin/wekan-control ??8522 /snap/wekan/678/bin/node main.js22 tháng 12 07:43:35 debian10 wekan.wekan[7836]: HEADER_LOGIN_EMAIL=Email đăng nhập tiêu đề. Ví dụ về trình nhắc nhở trang web: HEADEREMAILADDRESS (giá trị mặc định)Ngày 22 tháng 12 07:43:35 debian10 wekan.wekan[7836]: LOGOUT_WITH_TIMER=false (giá trị mặc định)Ngày 22 tháng 12 07:43:35 debian10 wekan.wekan[7836]: LOGOUT_IN= (giá trị mặc định)Ngày 22 tháng 12 07:43:35 debian10 wekan.wekan[7836]: LOGOUT_ON_HOURS= (giá trị mặc định)Ngày 22 tháng 12 07:43:35 debian10 wekan.wekan[7836]: LOGOUT_ON_MINUTES= (giá trị mặc định)Ngày 22 tháng 12 07:43:35 debian10 wekan.wekan[7836]: DEFAULT_AUTHENTICATION_METHOD= (giá trị mặc định)Ngày 22 tháng 12 07:43:35 debian10 wekan.wekan[7836]: ATTACHMENTS_STORE_PATH= (giá trị mặc định)Ngày 22 tháng 12 07:43:35 debian10 wekan.wekan[7836]: MONGO_URL=mongodb://127.0.0.1:27019/wekan22 tháng 12 07:43:37 debian10 wekan.wekan[7836]: Bắt đầu hiện diện serverId=ijqY8RbEWv8Hg9RSb22 tháng 12 07:43:38 debian10 wekan.wekan[7836]: Meteor APM: đã hoàn thành việc cài đặt ứng dụng
Theo mặc định, Wekan chạy trên cổng 8080. Nếu bạn muốn thay đổi cổng Wekan thành 3001, hãy chạy như sau lệnh:
Mã:
snap set wekan port='3001'
Tiếp theo, khởi động lại dịch vụ Wekan và MongoDB để áp dụng các thay đổi:
Mã:
systemctl restart snap.wekan.mongodb
 systemctl restart snap.wekan.wekan

Quản lý dịch vụ Wekan và MongoDB​

Để khởi động và dừng dịch vụ Wekan, hãy chạy lệnh sau:
Mã:
systemctl stop snap.wekan.wekan
 systemctl start snap.wekan.wekan
Để khởi động và dừng dịch vụ MongoDB, hãy chạy lệnh sau:
Mã:
systemctl stop snap.wekan.mongodb
 systemctl start snap.wekan.mongodb

Cấu hình Nginx thành Proxy ngược​

Wekan hiện đã được cài đặt và đang lắng nghe trên cổng 3001. Tiếp theo, bạn nên chạy Wekan phía sau proxy Nginx.

Để thực hiện, trước tiên hãy cài đặt máy chủ web Nginx bằng lệnh sau:
Mã:
apt-get install nginx -y
Sau khi cài đặt, hãy mở tệp /etc/nginx/nginx.conf và đặt hash_bucket_size:
Mã:
nano /etc/nginx/nginx.conf
Bỏ chú thích dòng sau:
Mã:
server_names_hash_bucket_size 64;
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Mã:
systemctl restart nginx
Tiếp theo, tạo tệp máy chủ ảo Nginx cho Wekan như hiển thị bên dưới:
Mã:
nano /etc/nginx/conf.d/wekan.conf
Thêm các dòng sau:
Mã:
map $http_upgrade $connection_upgrade { default upgrade; '' close;}server { listen 80; server_name wekan.linuxbuz.com; if ($http_user_agent ~ "MSIE" ) { return 303 https://browser-update.org/update.html; } location / { proxy_pass http://127.0.0.1:3001; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; # allow websockets proxy_set_header Connection $connection_upgrade; proxy_set_header X-Forwarded-For $remote_addr; # preserve client IP }}
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, hãy 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ẽ thấy kết quả sau:
Mã:
nginx: tệp cấu hình /etc/nginx/nginx.conf syntax is oknginx: tệp cấu hình /etc/nginx/nginx.conf test is successful
Cuối cùng, hãy khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Mã:
systemctl restart nginx
Tại thời điểm này, Nginx được cấu hình để chuyển tiếp yêu cầu đến cổng Wekan 3001.

Bảo mật Wekan bằng Let's Encrypt Free SSL​

Tiếp theo, bạn nên bảo mật Wekan bằng Let's Encrypt Free SSL. Để thực hiện, bạn sẽ cần cài đặt ứng dụng khách Certbot trên máy chủ của mình. Certbot là một máy khách Let's Encrypt có thể được sử dụng để tải xuống SSL miễn phí và cấu hình Nginx để sử dụng chứng chỉ này.

Theo mặc định, phiên bản mới nhất của Certbot không có trong kho lưu trữ mặc định của Debian 10. Vì vậy, bạn sẽ cần thêm kho lưu trữ Certbot vào máy chủ của mình.

Bạn có thể thêm kho lưu trữ bằng lệnh sau:
Mã:
echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list
Tiếp theo, hãy cập nhật kho lưu trữ và cài đặt máy khách Certbot bằng lệnh sau:
Mã:
apt-get update -y
 apt-get install python-certbot-nginx -t buster-backports
Sau khi quá trình cài đặt hoàn tất, hãy chạy lệnh sau để lấy và cài đặt chứng chỉ SSL cho tên miền của bạn:
Mã:
certbot --nginx -d wekan.linuxbuz.com
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:
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator nginx, Installer nginxNhậ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à là tổ chức phi lợi nhuậnphá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)es/(K)o: KhôngNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho wekan.linuxbuz.comĐang chờ xác minh...Dọn dẹp các thử tháchTriển khai chứng chỉ cho VirtualHost /etc/nginx/conf.d/wekan.conf
Tiếp theo, bạn sẽ cần chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không:
Mã:
Vui 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
Nhập 2 và nhấn Enter để bắt đầu quá trình cài đặt. Sau khi quá trình cài đặt hoàn tất, bạn sẽ nhận được kết quả sau:
Mã:
Chuyển hướng tất cả lưu lượng truy cập trên cổng 80 sang ssl trong /etc/nginx/conf.d/wekan.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://wekan.linuxbuz.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=wekan.linuxbuz.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -LƯU Ý QUAN TRỌNG: - Xin chúc mừng! Chứng chỉ và chuỗi của bạn đã được lưu tại: /etc/letsencrypt/live/wekan.linuxbuz.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/wekan.linuxbuz.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 25-03-2020. Để có phiên bản mới hoặc đã chỉnh sửa của chứng chỉ này trong tương lai, chỉ cần chạy lại certbot với tùy chọn "certonly". Để gia hạn không tương tác *tất cả* các chứng chỉ của bạn, hãy chạy "certbot renew" - Thông tin đăng nhập tài khoản của bạn đã được lưu trong thư mục cấu hình Certbot tại /etc/letsencrypt. Bây giờ bạn nên sao lưu an toàn thư mục này. Thư mục cấu hình này cũng sẽ chứa các chứng chỉ và khóa riêng do Certbot thu được, do đó, việc sao lưu thường xuyên thư mục này là lý tưởng. - Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ công việc của chúng tôi bằng cách: Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate Quyên góp cho EFF: https://eff.org/donate-le

Truy cập Giao diện web Wekan​

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:



Nhấp vào nút Đăng ký. Bạn sẽ thấy trang sau:



Cung cấp tên người dùng, mật khẩu, email mong muốn của bạn và nhấp vào nút Đăng ký. Tiếp theo, nhấp vào nút đăng nhập. Bạn sẽ thấy trang sau:



Cung cấp tên người dùng, mật khẩu của bạn và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển Wekan ở trang sau:



Vậy là xong. Bạn đã cài đặt thành công Wekan Kanban trên máy chủ Debian 10 và bảo mật bằng Let's Encrypt SSL miễn phí.
 
Back
Bên trên