Cách cài đặt phần mềm quản lý dự án Kanboard trên CentOS 8

theanh

Administrator
Nhân viên
Kanboard là phần mềm quản lý dự án nguồn mở giúp bạn quản lý các dự án và trực quan hóa quy trình làm việc của mình. Phần mềm này sử dụng phương pháp Kanban và được thiết kế đặc biệt cho các nhóm nhỏ chú trọng vào chủ nghĩa tối giản và sự đơn giản. Kanban cung cấp giao diện web đơn giản và dễ sử dụng cho phép bạn quản lý dự án của mình thông qua trình duyệt web. Bạn cũng có thể tích hợp Kanban vào các dịch vụ bên ngoài bằng các plugin.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Kanban với Nginx và Let's Encrypt SSL trên CentOS 8.

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

  • Máy chủ chạy CentOS 8.
  • 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ủ của bạn.

Cài đặt LEMP Server​

Trước tiên, bạn sẽ cần cài đặt Nginx, MariaDB, PHP và các tiện ích mở rộng PHP khác vào máy chủ của mình. Bạn có thể cài đặt tất cả chúng bằng lệnh sau:
Mã:
dnf install nginx mariadb-server php php-fpm php-mbstring php-cli php-json php-opcache php-zip php-xml php-gd php-ldap php-mysqli php-sqlite3 php-json php-dom -y
Sau khi tất cả các gói được cài đặt, hãy khởi động dịch vụ Nginx, PHP-FPM và MariaDB và cho phép chúng khởi động khi khởi động lại hệ thống bằng lệnh sau:
Mã:
systemctl start mariadb
systemctl enable mariadb
systemctl start nginx
systemctl start php-fpm
systemctl enable nginx
systemctl enable php-fpm
Tiếp theo, chỉnh sửa tệp cấu hình PHP-FPM và thay đổi người dùng và nhóm từ apache thành nginx.
Mã:
nano /etc/php-fpm.d/www.conf
Thay đổi các dòng sau:
Mã:
user = nginxgroup = nginx
Lưu và đóng tệp, sau đó khởi động lại dịch vụ PHP-FPM để áp dụng các thay đổi:
Mã:
systemctl restart php-fpm
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Tạo cơ sở dữ liệu cho Kanban​

Kanban sử dụng SQLite và MariaDB làm cơ sở dữ liệu phụ trợ. Vì vậy, bạn sẽ cần tạo cơ sở dữ liệu và người dùng cho Kanban.

Đầu tiên, kết nối với MariaDB bằng lệnh sau:
Mã:
mysql
Sau khi kết nối, tạo cơ sở dữ liệu và người dùng bằng lệnh sau:
Mã:
MariaDB [(none)]> CREATE DATABASE kanboard CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON kanboard.* TO 'kanboard'@'localhost' IDENTIFIED BY 'password';
Tiếp theo, xóa các đặc quyền và thoát khỏi MariaDB bằng lệnh sau:
Mã:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Sau khi cơ sở dữ liệu và người dùng được tạo, bạn có thể tiến hành bước tiếp theo.

Tải xuống Kanban​

Trước tiên, bạn sẽ cần tải xuống phiên bản Kanban mới nhất từ kho lưu trữ Git Hub. Bạn có thể tải xuống bằng lệnh sau:
Mã:
wget https://github.com/kanboard/kanboard/archive/v1.2.18.tar.gz
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:
Mã:
tar -xvzf v1.2.18.tar.gz
Tiếp theo, di chuyển thư mục đã giải nén đến thư mục gốc web Nginx bằng lệnh sau:
Mã:
mv kanboard-1.2.18 /var/www/html/kanboard
Tiếp theo, thay đổi thư mục thành gốc web Nginx và sao chép tệp cấu hình mẫu:
Mã:
cd /var/www/html/kanboard
cp config.default.php config.php
Tiếp theo, chỉnh sửa tệp cấu hình và xác định cài đặt cơ sở dữ liệu của bạn:
Mã:
nano config.php
Thay đổi các dòng sau theo cơ sở dữ liệu của bạn:
Mã:
define('DB_DRIVER', 'mysql');// Tên người dùng Mysql/Postgresdefine('DB_USERNAME', 'kanboard');// Mật khẩu Mysql/Postgresdefine('DB_PASSWORD', 'password');// Tên máy chủ Mysql/Postgresdefine('DB_HOSTNAME', 'localhost');// Tên cơ sở dữ liệu Mysql/Postgresdefine('DB_NAME', 'kanboard');
Lưu và đóng tệp khi bạn hoàn tất. Tiếp theo, thiết lập quyền sở hữu và quyền hạn bằng lệnh sau:
Mã:
chown -R nginx:nginx /var/www/html/kanboard
chmod -R 775 /var/www/html/kanboard
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cấu hình Nginx cho Kanban​

Tiếp theo, bạn sẽ cần tạo tệp cấu hình máy chủ ảo Nginx để lưu trữ Kanban. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /etc/nginx/conf.d/kanboard.conf
Thêm các dòng sau:
Mã:
server { lắng nghe 80; tên_máy_chủ kanboard.example.com; chỉ mục index.php; gốc /var/www/html/kanboard; kích thước_phần_thể_tối_đa của_khách_hàng 32M; vị trí / { các_tệp_thử $uri $uri/ /index.php$is_args$args; } vị trí ~ \.php$ { các_tệp_thử $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_param TÊN_TỆP_KẾ_HỆ_TẬP_TIN_KẾ_ĐỊNH $document_root$fastcgi_script_name; fastcgi_index index.php; bao gồm fastcgi_params; } vị trí ~* ^.+\.(log|sqlite)$ { trả về 404; } vị trí ~ /\.ht { trả về 404; } location ~* ^.+\.(ico|jpg|gif|png|css|js|svg|eot|ttf|woff|woff2|otf)$ { log_not_found tắt; hết hạn sau 7 ngày; etag bật; } gzip bật; gzip_comp_level 3; gzip_disable "msie6"; gzip_vary bật; gzip_types text/javascript application/javascript application/json text/xml application/xml application/rss+xml text/css text/plain; }
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, hãy xác minh Nginx để tìm lỗi cú pháp bằng lệnh sau:
Mã:
nginx -t
Bạn sẽ thấy kết quả sau:
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: tệp cấu hình /etc/nginx/nginx.conf đã kiểm tra thành công
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 để phục vụ kanban. Bây giờ bạn có thể tiếp tục truy cập bảng điều khiển kanban.

Cấu hình SELinux và Tường lửa​

Theo mặc định, SELinux được bật trong CentOS 8. Vì vậy, bạn sẽ cần cấu hình ngữ cảnh SELinux cho Kanban. Bạn có thể cấu hình bằng lệnh sau:
Mã:
setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/kanban
Tiếp theo, cho phép cổng 80 và 443 đi qua tường lửa bằng lệnh sau:
Mã:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Truy cập Bảng điều khiển Kanban​

Bây giờ, hãy mở trình duyệt web của bạn và truy cập bảng điều khiển kanban bằng URL . Bạn sẽ được

chuyển hướng đến trang đăng nhập quản trị Kanban:





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


Bảo mật Kanban với Let's Encrypt SSL​

Tiếp theo, bạn sẽ cần cài đặt tiện ích Certbot trong hệ thống của mình để tải xuống và cài đặt Let's Encrypt SSL cho miền Let's Chat.

Bạn có thể cài đặt ứng dụng khách Certbot bằng lệnh sau:
Mã:
wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto
Tiếp theo, lấy và cài đặt chứng chỉ SSL cho miền lets của bạn bằng lệnh sau:
Mã:
certbot-auto --nginx -d kanban.example.com
Lệnh trên sẽ cài đặt tất cả các phụ thuộc cần thiết trên máy chủ của bạn trước. Sau khi 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:
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à 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)ó: CNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho kanban.example.comĐang chờ xác minh...Đang dọn dẹp các thử tháchTriển khai chứng chỉ tới VirtualHost /etc/nginx/conf.d/kanban.conf
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:
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 để tiếp tục. Sau khi quá trình cài đặt hoàn tất, bạn sẽ thấy kết quả sau:
Mã:
Chuyển hướng tất cả lưu lượng trên cổng 80 sang ssl trong /etc/nginx/conf.d/kanban.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://kanban.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=kanban.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/kanban.example.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/kanban.example.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 2021-04-2. Để 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-auto với tùy chọn "certonly". Để gia hạn không tương tác *tất cả* chứng chỉ của bạn, hãy chạy "certbot-auto renew" - 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
Bây giờ bạn có thể truy cập Kanban của mình một cách an toàn bằng URL .

Kết luận​

Xin chúc mừng! bạn đã cài đặt thành công Kanban với Nginx và Let's Encrypt SSL trên CentOS 8. Bây giờ bạn có thể triển khai Kanban trong môi trường phát triển và bắt đầu làm việc cùng nhau. 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