Cách cài đặt Kanboard trên CentOS 7

Bước 1: Cập nhật hệ thống:

Như thường lệ, đăng nhập vào máy chủ với tư cách là người dùng sudo từ thiết bị đầu cuối SSH, sau đó cập nhật hệ thống VPS CentOS 7 lên trạng thái ổn định mới nhất:

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

Sau khi khởi động lại, đăng nhập lại với cùng một người dùng sudo và tiếp tục bước tiếp theo.

Bước 2: Cài đặt Apache

Cài đặt máy chủ web Apache 2.4 cho Kanboard bằng YUM:

sudo yum install httpd -y

Xóa trang chào mừng Apache cài sẵn:

sudo sed -i ‘s/^/#&/g’ /etc/httpd/conf.d/welcome.conf

Ngăn chặn Apache hiển thị tệp cho khách truy cập:

sudo sed -i “s/Options Indexes FollowSymLinks/Options FollowSymLinks/” /etc/httpd/conf/httpd.conf

Bắt đầu dịch vụ Apache:

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

Bước 3: Cài đặt MariaDB 10.1

Theo mặc định, Kanboard sử dụng SQLite để lưu trữ dữ liệu của nó. Ngoài ra, bạn có thể chọn MariaDB 10 trở lên để nâng cao hiệu suất trong môi trường sản xuất.

Sao chép đoạn mã sau vào thiết bị đầu cuối SSH của bạn, sau đó nhấn Enterđể nhập tệp repo:

cat <<EOF | sudo tee -a /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.1 CentOS repository list – created 2017-01-14 03:11 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF

Cài đặt MariaDB 10.1 bằng YUM:

sudo yum install MariaDB-server MariaDB-client -y

Bắt đầu dịch vụ MariaDB:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Bảo mật cài đặt MariaDB:

sudo /usr/bin/mysql_secure_installation
Trả lời các câu hỏi trên màn hình như hình dưới đây.

Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: <your-password>
Re-enter new password: <your-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

Bước 4: Cài đặt PHP 7

Kanboard yêu cầu PHP 5.3.9 trở lên. Để có được hiệu năng tốt nhất, bạn có thể cài đặt PHP 7.1 và các phụ thuộc cần thiết của nó bằng cách sử dụng repo Webtatic YUM như sau:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install php71w php71w-mysqlnd php71w-gd php71w-mbstring php71w-common php71w-ldap php71w-opcache php71w-cli -y

Bước 5: Cài đặt Kanboard

Tải xuống và cài đặt bản phát hành mới nhất của Kanboard:

cd /var/www/html
sudo wget https://kanboard.net/kanboard-latest.zip
sudo yum install unzip -y
sudo unzip kanboard-latest.zip
sudo chown -R apache:apache kanboard/data
sudo rm kanboard-latest.zip

Thiết lập cơ sở dữ liệu MySQL và người dùng cơ sở dữ liệu cho Kanboard:

mysql -u root -p -e “CREATE DATABASE kanboard;”
mysql -u root -p kanboard < /var/www/html/kanboard/app/Schema/Sql/mysql.sql
mysql -u root -p -e “CREATE USER ‘kanboarduser’@’localhost’ IDENTIFIED BY ‘yourpassword’;”
mysql -u root -p -e “GRANT ALL PRIVILEGES ON kanboard.* TO ‘kanboarduser’@’localhost’ IDENTIFIED BY ‘yourpassword’ WITH GRANT OPTION;”
mysql -u root -p -e “FLUSH PRIVILEGES;”

Ghi chú:

Khi được nhắc, hãy nhập mật khẩu gốc MariaDB mà bạn đã thiết lập trước đó.
Bạn nên chọn một mật khẩu người dùng mạnh khác với mật khẩu được liệt kê ở trên.
Cập nhật tệp cấu hình Kanboard để chuyển sang MySQL:

cd /var/www/html/kanboard
sudo mv config.default.php config.php
sudo vi config.php

Tìm các dòng sau:

// Database driver: sqlite, mysql or postgres (sqlite by default)
define(‘DB_DRIVER’, ‘sqlite’);

// Mysql/Postgres username
define(‘DB_USERNAME’, ‘root’);

// Mysql/Postgres password
define(‘DB_PASSWORD’, ”);

// Mysql/Postgres hostname
define(‘DB_HOSTNAME’, ‘localhost’);

// Mysql/Postgres database name
define(‘DB_NAME’, ‘kanboard’);

Sửa đổi chúng thành:

// Database driver: sqlite, mysql or postgres (sqlite by default)
define(‘DB_DRIVER’, ‘mysql’);

// Mysql/Postgres username
define(‘DB_USERNAME’, ‘kanboarduser’);

// Mysql/Postgres password
define(‘DB_PASSWORD’, ‘yourpassword’);

// Mysql/Postgres hostname
define(‘DB_HOSTNAME’, ‘localhost’);

// Mysql/Postgres database name
define(‘DB_NAME’, ‘kanboard’);

Khởi động lại Apache:

sudo systemctl restart httpd.service

Cho phép khách truy cập truy cập Kanboard trên cổng 80:

sudo firewall-cmd –zone=public –permanent –add-service=http
sudo firewall-cmd –reload

Cuối cùng, trỏ trình duyệt web của bạn http://203.0.113.1/kanboard để bắt đầu sử dụng Kanboard. Sử dụng thông tin đăng nhập mặc định sau để đăng nhập:

Tên tài khoản: admin
Mật khẩu: admin
Lưu ý: Vì mục đích bảo mật, hãy nhớ sửa đổi mật khẩu của quản trị viên bằng users management liên kết từ menu thả xuống của quản trị viên phía trên bên phải.

Bước 6 (Tùy chọn): Thiết lập Zend OpCache

Để đạt được hiệu suất tốt nhất trên máy chủ Kanboard của bạn, bạn có thể điều chỉnh cài đặt của Zend OpCache đã được bật theo mặc định.

Ví dụ: khi sử dụng Kanboard trên thiết lập một nút trong sản xuất như chúng tôi dự định trong bài viết này, bạn có thể sử dụng các cài đặt sau làm bộ khởi động để tối ưu hóa Zend OpCache.

Mở tệp cấu hình Zend OpCache:

sudo vi /etc/php.d/opcache.ini

Sửa đổi tệp theo các cài đặt sau:

zend_extension=opcache.so;
opcache.enable=1;
opcache.file_cache=/tmp/opcache
opcache.validate_timestamps=0
opcache.revalidate_freq=0
opcache.memory_consumption=192
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=1979
opcache.fast_shutdown=1
Lưu và thoát:

:wq!

Khởi động lại dịch vụ Apache để thay đổi có hiệu lực:

sudo systemctl restart httpd.service
Sau đó, bạn có thể tinh chỉnh cài đặt của mình bằng cách chỉnh sửa lại các dòng có liên quan trong /etc/php.d/opcache.ini file

Bước 7 (Tùy chọn): Thiết lập công việc định kỳ hàng ngày cho các báo cáo và phân tích

Để tạo báo cáo và phân tích chính xác, bạn cần thiết lập công việc định kỳ hàng ngày bằng cách sử dụng apache người dùng:

sudo crontab -u apache -e

Điền tệp crontab với:

0 3 * * * cd /var/www/html/kanboard && ./cli cronjob >/dev/null 2>&1
Lưu và thoát:

:wq!

Leave a Reply

Your email address will not be published. Required fields are marked *