Install Kanban (kanboard) on Centos 8

Kanboard is an Open source project management software which helps you to manage your project and visualize your work details. It offers easy to use web interface that allows you to manage your project with ease. You can also integrate kanboard with external programs using plugins.

In this article we will see how to install kanboard / Kanban on CentOS 8.

First, You will install Nginx, MariaDB, PHP and PHP extensions. You can Install all of them using the following single command:

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

Once the dependencies are installed start and enable them so that they can automatically start after system reboot.

systemctl start mariadb.service
systemctl enable mariadb.service

systemctl status mariadb.service
systemctl start nginx.service
systemctl enable nginx.service
systemctl status nginx.service
systemctl start php-fpm.service
systemctl enable php-fpm.service
systemctl status php-fpm.service 

Next, We will edit the php-fpm configuration file and replace user and group from Apache to nginx.

nano /etc/php-fpm.d/www.conf

save and exit the file. Restart php-fpm service.

systemctl restart php-fpm.service

Kanban uses MariaDB as database so we will configure MariaDB for kanban accordingly.

mysql -u root -p

Now, create a database and user for kanban using following commands:

CREATE DATABASE kanboard CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON kanboard.* TO 'kanboard'@'localhost' IDENTIFIED BY 'password';

Download Kanban:

Now, Download the latest version of kanban using the following command:


Extract the downloaded file.

tar -xvzf v1.2.18.tar.gz

move the extracted directory to the Nginx web root directory.

mv kanboard-1.2.18 /var/www/html/kanboard

configure the kanban.

cd /var/www/html/kanboard
cp config.default.php config.php
nano config.php

change the following lines as per your database:

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

// Mysql/Postgres username
define('DB_USERNAME', 'kanboard');

// Mysql/Postgres password
define('DB_PASSWORD', 'password');

// Mysql/Postgres hostname
define('DB_HOSTNAME', 'localhost');

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

save and exit the file.

change the ownership of the file to nginx.

chown -R nginx:nginx /var/www/html/kanboard
chmod -R 775 /var/www/html/kanboard

Configure Nginx for Kanban:

Create an Nginx virtual host configuration file to host kanban. Use the following command to do so:

nano /etc/nginx/conf.d/kanboard.conf

add the following lines:

server {
        listen       80;
        index        index.php;
        root         /var/www/html/kanboard;
        client_max_body_size 32M;

        location / {
            try_files $uri $uri/ /index.php$is_args$args;

        location ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/run/php-fpm/www.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_index index.php;
            include fastcgi_params;

        location ~* ^.+\.(log|sqlite)$ {
            return 404;

        location ~ /\.ht {
            return 404;

        location ~* ^.+\.(ico|jpg|gif|png|css|js|svg|eot|ttf|woff|woff2|otf)$ {
            log_not_found off;
            expires 7d;
            etag on;

        gzip on;
        gzip_comp_level 3;
        gzip_disable "msie6";
        gzip_vary on;

save and exit the file.

verify the configurations entered in above mentioned file.

nginx -t

Restart nginx to apply the above changes.

systemctl restart nginx.service

You will need to configure SELinux for Kanban. You can configure using the following command:

setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/kanboard

Allow port 80 and 443 through the firewalld with the following command:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Open your web browser and access the kanban dashboard using the URL You will be redirected to the Kanban admin login page:

Enter admin as username and password to access Kanban Dashboard.


Please enter your comment!
Please enter your name here

Latest articles

You might also likeRELATED

Gping to display ping command in graph

The gping tool takes the functionality of the ping tool and displays its data on a graph. With gping you can track the response...

Allow/Deny SSH Access To a Particular User Or Group In Linux

In this article we will be allowing or denying SSH access to a particular user or Group by making a few changes in SSH...

How To List Filesystems In Linux with lfs

In this post you will learn How To List Filesystems In Linux with lfs. Lfs is a commandline tool to display the information of the...