Nov 17, 2023 5 min read

How to Install Kanboard on Ubuntu 20.04 LTS

Install Kanboard on Ubuntu 20.04 LTS with our step-by-step tutorial. It is designed to simplify task organization and workflow management.

Install Kanboard on Ubuntu 20.04 LTS
Table of Contents


Before, we begin talking about the steps to install Kanboard on Ubuntu 20.04 LTS. Let's briefly understand - What is Kanboard?

Kanboard is a powerful project management tool designed to simplify task organization and workflow management. It enables teams to visualize their projects using Kanban boards, making it easy to track progress and collaborate effectively.

With intuitive features like task assignments, due dates, and customizable workflows, Kanboard enhances productivity and facilitates project transparency. Whether used by individuals or teams, Kanboard streamlines project management and boosts efficiency, leading to successful outcomes.

In this tutorial, you will install Kanboard on Ubuntu 20.04 LTS. We will also answer a few FAQs related to the Kanboard installation.

Advantages of Kanboard

  1. Simplified Task Organization: Kanboard offers intuitive Kanban boards, making it effortless to organize tasks and monitor progress.
  2. Enhanced Team Collaboration: With task assignments and customizable workflows, teams can collaborate seamlessly and boost productivity.
  3. Transparent Project Tracking: Kanboard provides a clear overview of project status, ensuring transparency and better decision-making.
  4. Increased Productivity: Its user-friendly interface and efficient features lead to improved productivity and streamlined project management.
  5. Versatile Usage: Whether for individual task management or team projects, Kanboard adapts to various scenarios, delivering successful outcomes.

Prerequisites to Install Kanboard on Ubuntu 20.04 LTS

  • A Ubuntu 20.04 server instance. Here, we will use as an example IP address.
  • A sudo user.

Step 1 - Updating the system

1) Firstly, you need to log in to the server as a sudo user using an SSH terminal. Also, update the Ubuntu 20.04 system and then, install git:

sudo apt update && sudo apt upgrade -y
sudo apt install -y git

Step 2 - Install Apache

1) Now, install the Apache web server for Kanboard, by:

sudo apt install apache2 -y

2) Proceed to start and enable the Apache service:

sudo systemctl enable --now apache2.service

Step 3 - Install MariaDB

1) Usually, by default, Kanboard uses SQLite to store its data. You can even use MariaDB. It will enhance performance in a production environment. You will then install MariaDB:

sudo apt install -y mariadb-server mariadb-client

2) Now, start and enable the MariaDB service using the following command:

sudo systemctl enable --now mariadb.service

3) Continue to secure the installation:

sudo mysql_secure_installation

4) Now, you need to reply to the questions on the screen like below. So, for security reasons, always set up a private and strong MariaDB root password:

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

Step 4 - Install PHP 7

1) The Kanboard needs PHP 5.3.9 or greater. We will use PHP 7.4 that it is the default version available in official Ubuntu repositories:

sudo apt install -y php php-mysql php-gd php-mbstring php-common php-opcache php-cli php-xml

Step 5 - Install Kanboard

1) After that, download and install the latest release of Kanboard:

cd /var/www/html
sudo git clone
sudo chown -R www-data:www-data kanboard/data

2) Then, set up a MySQL database and a database user for Kanboard:

sudo mysql -u root -p -e "CREATE DATABASE kanboard;"
sudo mysql -u root -p kanboard < /var/www/html/kanboard/app/Schema/Sql/mysql.sql
sudo mysql -u root -p -e "CREATE USER 'kanboarduser'@'localhost' IDENTIFIED BY 'yourpassword';"
sudo mysql -u root -p -e "GRANT ALL PRIVILEGES ON kanboard.* TO 'kanboarduser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;"
sudo mysql -u root -p -e "FLUSH PRIVILEGES;"
Note: When you get a prompt, input the MariaDB root password you had set up previously. You should choose a strong user password other than the one shown above.

3) Now, update the Kanboard configuration file to switch to MySQL:

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

4) Open config.php with a text editor of your choice:

sudo vi config.php

You will need to find the below lines:

// 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');

and modify them as follows:

// 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');

5) Now, restart Apache:

sudo systemctl restart apache2.service

6) After that, point your web browser to Use the below default credentials to log in:

  • Username - admin
  • Password - admin
Note: For security reasons, remember to modify the admin's password. Do it using the user's management link from the upper right-hand admin drop-down menu.

Step 6 - Set up the Zend OpCache (Optional)

You can modify the settings of Zend OpCache in order to achieve the best performance on your kanboard server.

When using Kanboard on a single-node setup in production, you can use the below settings as a starter to optimize Zend OpCache.

1) You will need to open the Zend OpCache configuration file:

sudo vi /etc/php/7.4/apache2/conf.d/10-opcache.ini

2) Next, modify the file in accordance with the below settings:;

3) You need to restart the Apache service to put your changes into action:

sudo systemctl restart apache2.service

Step 7 (Optional) - Set up a daily cron job for both reports and analytics

1) To generate accurate reports and analytics, you will need to set up a daily cron job using the www-data user:

sudo crontab -u www-data -e

2) Populate the crontab file with the below cronjob:

0 5 * * * cd /var/www/html/kanboard && ./cli cronjob >/dev/null 2>&1

3) Continue to save and quit.

With this cron job, all the reports and analytics will get updated at 5:00 AM every day.

FAQs to Install Kanboard on Ubuntu 20.04 LTS

What are the system requirements for Kanboard installation?

Kanboard requires a web server (Apache/Nginx), PHP 7.2 or higher, a supported database (MySQL/PostgreSQL/SQLite), and Git.

Can I install Kanboard using package managers like apt or yum?

No, Kanboard is not available in the official package repositories. It needs to be installed manually.

What is the recommended web server for Kanboard on Ubuntu 20.04?

Nginx is generally recommended for better performance, but Apache can also be used.

Does Kanboard require any additional PHP extensions?

Yes, ensure you have PHP extensions like pdo_mysql, gd, and mbstring enabled for Kanboard to work correctly.

How can I install and set up a database for Kanboard?

You can create a new database and user for Kanboard, or use an existing one. Detailed steps are provided in the installation guide.

Can I install Kanboard on shared hosting?

Yes, if your shared hosting environment meets the system requirements, you can install Kanboard manually.

Does installing Kanboard on Ubuntu 20.04 require root access? 

No, installing Kanboard on Ubuntu 20.04 typically does not require root access. However, administrative permissions may be needed to set up the necessary files, directories, and configurations as per the installation documentation.


We hope this detailed tutorial helped you to install Kanboard on Ubuntu 20.04 LTS.

If you have any queries, please leave a comment below, and we’ll be happy to respond to them for sure.

Great! You’ve successfully signed up.
Welcome back! You've successfully signed in.
You've successfully subscribed to DevOps Blog - VegaStack.
Your link has expired.
Success! Check your email for magic link to sign-in.
Success! Your billing info has been updated.
Your billing was not updated.