How to Install Kanboard Project Management Software on Debian 10

Kanboard is a free, open-source and self-hosted undertaking administration software program that can be utilized to handle tasks utilizing Kanban methodology. You may visualize the work-flow, limiting work in progress and work effectively from the Kanboard net interface. Kanban lets you customise your boards based on your wants. You may lengthen the performance of Kanbord with plugins and third-party companies.

On this tutorial, we’ll stroll you thru the step-by-step directions on methods to set up and configure Kanboard on Debian 10.


  • A server working Debian 10.
  • A root password is configured in your server.

Getting Began

It is suggested to replace your system with the most recent model. You may replace all of the packages with the next command:

apt-get replace -y
apt-get improve -y

As soon as all of the packages are up to date, restart your system to use the configuration adjustments.

Set up LEMP Server

Kanboard runs on the webserver, written in PHP and makes use of MariaDB for the database backend. So, you will have to put in Nginx, MariaDB, PHP and different PHP modules to your system.

apt-get set up nginx mariadb-server php7.Three php7.3-common php7.3-cli php7.3-fpm php7.3-mbstring php7.3-json php7.3-opcache php7.3-zip php7.3-xml php7.3-gd php7.3-ldap php7.3-mysql php7.3-json php7.3-sqlite3

As soon as the set up has been accomplished, begin Nginx and MariaDB service, and allow them to start out after system reboot with the next command:

systemctl begin nginx
systemctl begin mariadb
systemctl allow nginx
systemctl allow mariadb

Configure MariaDB for Kanboard

By default, MariaDB is just not secured so it’s endorsed to safe it. You may safe it by working the next script.


Reply all of the questions as proven beneath:

    Enter present password for root (enter for none):
     Set root password? [Y/n]: N
     Take away nameless customers? [Y/n]: Y
     Disallow root login remotely? [Y/n]: Y
     Take away take a look at database and entry to it? [Y/n]:  Y
     Reload privilege tables now? [Y/n]:  Y

As soon as the MariaDB is secured, log in to MariaDB shell:

mysql -u root -p

Enter your root password when immediate, then create a database and person for Kanboard:

MariaDB [(none)]>CREATE DATABASE kanboard CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Subsequent, grant all of the privileges to Kanboard database with the next command:

MariaDB [(none)]>GRANT ALL PRIVILEGES ON kanboard.* TO 'kanboard'@'localhost' IDENTIFIED BY 'mypassword';

Exchange the¬†phrase ‘mypassword‘ with a safe password of your selection within the above SQL command. Subsequent, flush the privileges with the next command:


Lastly, exit from the MariaDB shell with the next command:

MariaDB [(none)]>q

Set up Kanboard

First, obtain the most recent model of Kanboard from the Git repository with the next command:


As soon as the obtain is accomplished, extract the downloaded file with the next command:

tar -xvf v1.2.10.tar.gz

Subsequent, copy the extracted listing to Apache net root listing with the next command:

cp -r kanboard-1.2.10 /var/www/html/kanboard

Subsequent, copy the Kanboard pattern configuration file with the next command:

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

Subsequent, open the config.php file together with your most well-liked editor:

nano config.php

Outline your database setting as proven beneath:

// Database driver: sqlite, mysql or postgres (sqlite by default)
 outline('DB_DRIVER', 'mysql');
 // Mysql/Postgres username
 outline('DB_USERNAME', 'kanboard');
 // Mysql/Postgres password
 outline('DB_PASSWORD', 'password');
 // Mysql/Postgres hostname
 outline('DB_HOSTNAME', 'localhost');
 // Mysql/Postgres database title
 outline('DB_NAME', 'kanboard');

Save and shut the file, if you end up completed. Then, set correct permissions with the next command:

chown -R www-data:www-data /var/www/html/kanboard

After getting completed, you may proceed to the following step.

Configure Nginx for Kanboard

Subsequent, you will have to create an Nginx digital host file for Kanboard. You may create it with the next command:

nano /and so on/nginx/conf.d/kanboard.conf

Add the next traces:

server {
         pay attention       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:/var/run/php/php7.3-fpm.sock;
             fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
             fastcgi_index index.php;
             embrace 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;
             textual content/javascript
             textual content/xml
             textual content/css
             textual content/plain;

Save and shut the file, if you end up completed. Then, verify Nginx for any syntax error with the next command:

nginx -t

It is best to see the next output:

nginx: the configuration file /and so on/nginx/nginx.conf syntax is okay
 nginx: configuration file /and so on/nginx/nginx.conf take a look at is profitable

Lastly, restart Nginx and php-fpm service with the next command:

systemctl restart nginx
systemctl restart php7.3-fpm

You may verify the standing of Nginx service with the next command:

systemctl standing nginx

It is best to see the next output:

? nginx.service - A excessive efficiency net server and a reverse proxy server
    Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
    Energetic: energetic (working) since Sat 2019-07-13 06:05:09 EDT; 26s in the past
      Docs: man:nginx(8)
   Course of: 13412 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, standing=0/SUCCESS)
   Course of: 13413 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, standing=0/SUCCESS)
  Principal PID: 13414 (nginx)
     Duties: 2 (restrict: 1138)
    Reminiscence: 2.9M
    CGroup: /system.slice/nginx.service
            ??13414 nginx: grasp course of /usr/sbin/nginx -g daemon on; master_process on;
            ??13415 nginx: employee course of
 Jul 13 06:05:09 debian systemd[1]: Beginning A excessive efficiency net server and a reverse proxy server...
 Jul 13 06:05:09 debian systemd[1]: nginx.service: Didn't parse PID from file /run/ Invalid argument
 Jul 13 06:05:09 debian systemd[1]: Began A excessive efficiency net server and a reverse proxy server.

Entry Kanboard Web Interface

Kanboard is now put in and configured, it is time to entry Kanboard net interface.

Open your net browser and kind the URL You’ll be redirected to the next web page:

Kanboard Login

Present default admin username and password as admin / admin and click on on the Signal In button. It is best to see the Kanboard default dashboard within the following web page:

Kanboard admin dashboard

It is suggested to vary your default admin password. To take action, go to the Admin > Customers Administration > admin. It is best to see the next web page:

Kanboard user manager

Now, click on on the Change password button. It is best to see the next web page:

Change password

present your new password and click on on the Save button.

Congratulations! you may have efficiently put in and configured Kanboard on Debian 10. Now you can handle your duties simply from Kanboard net interface. Be at liberty to ask me when you’ve got any questions.

Leaks reveal a trio of iPhone 11 releases to return from Apple this fall

Previous article

HP Envy 13 mini-review: Spectre followers, meet your price range choice

Next article

You may also like


Leave a Reply

More in Apache