Kanboard Installation Guide

About

Attention: I highly recommend you to use this guide AFTER you setup HTTPS encryption for your website.

Kanboard is a free and open source PHP Kanbanboard software.
It's basically a self-hosted version of "Trello" by Atlassian.
You can create tasks, upload attachments and manage your projects with it.
This article will cover installation, setup, database setup and common problems.

Installation

You need to have a webserver and PHP installed. (sudo apt-get install apache2 php) Simply download the newest release from github. You can also copy the download link and download it directly in your console. (wget https://github.com/kanboard/kanboard/archive/v1.2.15.zip)
Then install the required extra php modules:
sudo apt-get install php-sqlite3 php7.3-json php7.3-mbstring php7.3-gd php7.3-ctype php7.3-xml
Then simply unzip the kanboard folder into your webfolder. (Example on Debian: /var/www/html/kanboard)
Now you can visit your website and login!
Default Credentials are: User = admin ; password = admin

If the website states "Error: pdo_sqlite missing" then you have to enable it in your php.ini.
Go to /etc/php/7.3/apache2/php.ini and open it as admin with your editor. (sudo nano)
Search for a line with ;extension=pdo_sqlite and uncomment it (remove the ; infront)
Save it and restart apache2 with sudo systemctl restart apache2.
Now you should be able to login.

Configuration

By default Kanboard uses sqlite as it's database. SQLite3 is not very good performance wise.
If you want to configure Kanboard you simply have to copy the configuration file with:
cp config.default.php config.php
Warning: If you edit the default configuration it won't work, you HAVE to copy it!

Here you can enter your Database configuration if you want to change it.
You can also setup SMTP Mail instead of the default PHP Mail.
SMTP sends mail over a different mail address then your servers. With this you can send emails from Kanboard with an gmail address.
Gmail SMTP Config: Server = smtp.gmail.com, port = 465, username = email, password = password, encryption = ssl

VERY IMPORTANT: Disallow access to the data folder via web (example.com/kanboard/data)
This folder holds configuration and the sqlite database!

If you have Apache2 as a webserver:
Kanboard comes with an .htaccess file to do that. You only have to enable .htaccess files if you haven't already.
To enable it: Go to /etc/apache2/sites-available/000-default.conf (or -ssl.conf if you have HTTPS) and paste the following at the end of the file:

<Directory /var/www/html>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

If you use nginx simply add the following to your config:
location /kanban/data/ {
  deny all;
  return 403;
}

Creating a group project

This is a simple and quick tutorial for beginners to create a project and invite people to it.
Login with your admin credentials. (Change your password if you haven't already!)
On the top left click on "New Project" and enter the details.
After creating it you can go to the top right, click on your profile for a dropdown menu and select "Users Management".
Here at the top you can "Invite People" with one email per line. At the bottom you can also select the project they should automatically join.

To edit your projects you can use the cogwheel in the top left of your project view and select "configure this project". Here on the left you can (for example) go to "Columns" and change the board to your liking.

Invite Mails not sending

Problem: Invitation mails are not sending, but test mails via PHP are sending just fine. It just doesn't work in Kanboard.
Solution: Simply switch to SMTP with an google mail account and it should work perfectly.

Go to your webfolder and edit the config.php file. Change the mail mode to SMTP and enter the google details into the configuration. (smtp.gmail.com, 465, email, password, ssl)
Now your mails should work again!