Focalboard là một công cụ quản lý dự án nguồn mở và tự lưu trữ. Công cụ này đa ngôn ngữ và là giải pháp thay thế cho Asana, Trello và Notion mà các nhà phát triển có thể sử dụng để theo dõi và quản lý công việc giữa các nhóm. Công cụ này dựa trên kanban và có sẵn cho máy tính để bàn và máy chủ. Công cụ này có thể được sử dụng như một máy chủ cá nhân độc lập để thử nghiệm và phát triển. Focalboard giúp các nhà phát triển duy trì sự nhất quán để hoàn thành nhiệm vụ, đạt được các cột mốc và đạt được mục tiêu của họ.
Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt Focalboard với Nginx làm proxy ngược trên Ubuntu 22.04.
Nếu chưa cài đặt, bạn có thể cài đặt nó với các gói khác bằng lệnh sau:
Sau khi cài đặt PostgreSQL, hãy kết nối với PostgreSQL bằng lệnh sau:
Tiếp theo, tạo cơ sở dữ liệu và người dùng cho PostgreSQL bằng lệnh sau:
Tiếp theo, thoát khỏi shell PostgreSQL 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 tải xuống hoàn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Tiếp theo, di chuyển focalboard đến thư mục /opt bằng lệnh sau:
Tiếp theo, chỉnh sửa tệp cấu hình Focalboard:
thay đổi các dòng sau khớp với cơ sở dữ liệu của bạn như hiển thị bên dưới:
Lưu và đóng tệp khi bạn hoàn tất.
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:
Tiếp theo, hãy khởi động và bật dịch vụ Focalboard bằng lệnh sau:
Bây giờ bạn có thể kiểm tra trạng thái của Focalboard bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Lúc này, Focalboard đã bắt đầu và đang lắng nghe trên cổng 8000. Bạn có thể kiểm tra các cổng đang lắng nghe của nó bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Sau khi máy chủ Nginx được cài đặt, hãy tạo Nginx tệp cấu hình máy chủ ảo:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất, sau đó xác minh Nginx xem có lỗi cấu hình cú pháp nào không bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Tiếp theo, khởi động lại dịch vụ Nginx để áp dụng các thay đổi cấu hình:
Bạn cũng có thể kiểm tra trạng thái Nginx bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Nhấp vào nút tạo tài khoản. Bạn sẽ thấy trang tạo tài khoản Focalboard:
Cung cấp địa chỉ email, tên người dùng quản trị, mật khẩu và nhấp vào nút Đăng ký. Bạn sẽ thấy bảng điều khiển Focalboard trên trang sau:
Trước tiên, hãy cài đặt Certbot bằng lệnh sau:
Sau khi cài đặt hoàn tất, hãy chạy lệnh sau để cài đặt Let's Encrypt SSL trên trang web của bạn:
Bạn sẽ được yêu cầu cung cấp địa chỉ email hợp lệ và chấp nhận điều khoản dịch vụ như hiển thị bên dưới:
Tiếp theo, chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không như hiển thị bên dưới:
Nhập 2 và nhấn Enter để hoàn tất quá trình cài đặt. Bạn sẽ thấy kết quả sau:
Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt Focalboard với Nginx làm proxy ngược trên Ubuntu 22.04.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 22.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 máy chủ.
Cài đặt và cấu hình PostgreSQL
Focalboard sử dụng PostgreSQL để lưu trữ dữ liệu của mình. Vì vậy, máy chủ cơ sở dữ liệu PostgreSQL phải được cài đặt trên hệ thống của bạn.Nếu chưa cài đặt, bạn có thể cài đặt nó với các gói khác bằng lệnh sau:
Mã:
apt-get install curl wget gnupg2 -y
apt-get install postgresql postgresql-contrib -y
Mã:
su - postgres
psql
Mã:
CREATE DATABASE focaldb;
CREATE USER focaluser WITH PASSWORD 'password';
Mã:
\q
exit
Cài đặt và cấu hình Focalboard
Trước tiên, hãy truy cập trang tải xuống Focalboard Git Hub và tải xuống phiên bản Focalboard mới nhất bằng lệnh sau:
Mã:
VER=$(curl -s https://api.github.com/repos/mattermost/focalboard/releases/latest|grep tag_name | cut -d '"' -f 4)
wget https://github.com/mattermost/focalboard/releases/download/${VER}/focalboard-server-linux-amd64.tar.gz
Mã:
tar -xvzf focalboard-server-linux-amd64.tar.gz
Mã:
mv focalboard /opt
Mã:
nano /opt/focalboard/config.json
Mã:
"dbtype": "postgres","dbconfig": "postgres://focaluser:password@localhost/focaldb?sslmode=disable&connect_timeout=10",
Tạo Tệp Dịch vụ Systemd cho Focalboard
Bạn nên bắt đầu và quản lý Focalboard bằng systemd. Để thực hiện, bạn sẽ cần tạo tệp dịch vụ systemd cho Focalboard:
Mã:
nano /lib/systemd/system/focalboard.service
Mã:
[Unit]Description=Focalboard server[Service]Type=simpleRestart=alwaysRestartSec=5sExecStart=/opt/focalboard/bin/focalboard-serverWorkingDirectory=/opt/focalboard[Install]WantedBy=multi-user.target
Mã:
systemctl daemon-reload
Mã:
systemctl start focalboard
systemctl enable focalboard
Mã:
systemctl status focalboard
Mã:
? focalboard.service - Máy chủ Focalboard Đã tải: đã tải (/lib/systemd/system/focalboard.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ừ CN 2022-08-21 11:22:22 UTC; 8 giây trước PID chính: 4347 (focalboard-serv) Nhiệm vụ: 4 (giới hạn: 2242) Bộ nhớ: 18,1M CPU: 1,977 giây CGroup: /system.slice/focalboard.service ??4347 /opt/focalboard/bin/focalboard-server21 tháng 8 11:22:23 ubuntu2204 focalboard-server[4347]: gỡ lỗi [21 tháng 8 năm 2022 11:22:23.507 Z] trình nghe cho blockID caller="ws/ser>21 tháng 8 11:22:23 ubuntu2204 focalboard-server[4347]: gỡ lỗi [21 tháng 8 năm 2022 11:22:23.507 Z] trình nghe cho blockID caller="ws/ser>21 tháng 8 11:22:23 ubuntu2204 focalboard-server[4347]: gỡ lỗi [2022-08-21 11:22:23.510 Z] người nghe cho workspaceID caller="ws/ser>21 tháng 8 11:22:23 ubuntu2204 focalboard-server[4347]: gỡ lỗi [2022-08-21 11:22:23.510 Z] người nghe cho blockID caller="ws/ser>21 tháng 8 11:22:23 ubuntu2204 focalboard-server[4347]: gỡ lỗi [2022-08-21 11:22:23.510 Z] người nghe cho blockID caller="ws/ser>21 tháng 8 11:22:24 ubuntu2204 focalboard-server[4347]: gỡ lỗi [2022-08-21 11:22:24.928 Z] nhập kho lưu trữ - xong caller="app/im>21 tháng 8 11:22:24 ubuntu2204 focalboard-server[4347]: thông tin [2022-08-21 11:22:24.937 Z] không gian làm việc đã khởi tạo caller="app/wo>21 tháng 8 11:22:24 ubuntu2204 focalboard-server[4347]: thông tin [2022-08-21 11:22:24.941 Z] Server.Start caller="server>21 tháng 8 11:22:24 ubuntu2204 focalboard-server[4347]: info [2022-08-21 11:22:24.941 Z] máy chủ http đã bắt đầu caller="web/we>21 tháng 8 11:22:24 ubuntu2204 focalboard-server[4347]: info [2022-08-21 11:22:24.947 Z] Đang khởi động máy chủ socket unix caller="server>
Mã:
ss -antpl | grep focalboard
Mã:
LISTEN 0 4096 *:8000 *:* users:(("focalboard-serv",pid=4347,fd=9))LISTEN 0 4096 *:9092 *:* users:(("focalboard-serv",pid=4347,fd=8))
Cấu hình Nginx làm Proxy ngược
Tiếp theo, bạn nên cài đặt và cấu hình Nginx làm proxy ngược để truy cập Focalboard qua cổng 80. Trước tiên, hãy cài đặt máy chủ Nginx bằng lệnh sau:
Mã:
apt-get install nginx -y
Mã:
nano /etc/nginx/conf.d/focalboard.conf
Mã:
upstream focalboard { server localhost:8000; keepalive 32;}server { listen 80; server_name focalboard.example.com; location ~ /ws/* { proxy_set_header Nâng cấp $http_upgrade; proxy_set_header Kết nối "nâng cấp"; client_max_body_size 50M; proxy_set_header Máy chủ $http_host; 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; proxy_set_header X-Frame-Options SAMEORIGIN; proxy_buffers 256 16k; proxy_buffer_size 16k; client_body_timeout 60; send_timeout 300; lingering_timeout 5; proxy_connect_timeout 1ngày; proxy_send_timeout 1ngày; proxy_read_timeout 1ngày; proxy_pass http://focalboard; } vị trí / { client_max_body_size 50M; proxy_set_header Kết nối ""; proxy_set_header Máy chủ $http_host; 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; proxy_set_header X-Frame-Options SAMEORIGIN; proxy_buffers 256 16k; proxy_buffer_size 16k; proxy_read_timeout 600 giây; proxy_cache_revalidate on; proxy_cache_min_uses 2; thời gian chờ proxy_cache_use_stale; proxy_cache_lock bật; proxy_http_version 1.1; proxy_pass http://focalboard; }}
Mã:
nginx -t
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
Mã:
systemctl restart nginx
Mã:
systemctl status nginx
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ừ CN 2022-08-21 11:24:08 UTC; 7 giây trước Tài liệu: man:nginx(8) Quy trình: 5017 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Quy trình: 5018 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) PID chính: 5019 (nginx) Nhiệm vụ: 2 (giới hạn: 2242) Bộ nhớ: 2,6M CPU: 35ms CGroup: /system.slice/nginx.service ??5019 "nginx: tiến trình chính /usr/sbin/nginx -g daemon on; master_process on;" ??5020 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""21 tháng 8, 11:24:08 ubuntu2204 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...21 tháng 8, 11:24:08 ubuntu2204 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 Giao diện Web Focalboard
Bây giờ, hãy mở trình duyệt web của bạn và nhập URL để truy cập Focalboard. Bạn sẽ được chuyển hướng đến trang đăng nhập Focalboard:Nhấp vào nút tạo tài khoản. Bạn sẽ thấy trang tạo tài khoản Focalboard:
Cung cấp địa chỉ email, tên người dùng quản trị, mật khẩu và nhấp vào nút Đăng ký. Bạn sẽ thấy bảng điều khiển Focalboard trên trang sau:
Bật SSL trên Focalboard
Vì lý do bảo mật, bạn nên bảo mật Focalboard bằng Let's Encrypt SSL. Tiếp theo, bạn sẽ cần cài đặt gói máy khách Certbot để cài đặt và quản lý Let's Encrypt SSL.Trước tiên, hãy cài đặt Certbot bằng lệnh sau:
Mã:
apt-get install python3-certbot-nginx -y
Mã:
certbot --nginx -d focalboard.example.com
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 FrontierFoundation, đố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: CNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho focalboard.example.comĐang chờ xác minh...Dọn dẹp các thử tháchTriển khai chứng chỉ tới VirtualHost /etc/nginx/conf.d/focalboard.conf
Mã:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -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ã:
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/focalboard.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://focalboard.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=focalboard.example.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/focalboard.example.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/focalboard.example.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 2022-11-21. Để 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 của bạn 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 - Chúng tôi không thể đăng ký cho bạn danh sách gửi thư EFF vì địa chỉ email của bạn có vẻ không hợp lệ. Bạn có thể thử lại sau bằng cách truy cập https://act.eff.org.