In this guide I’m describing how to set up Kanboard on a Debian Jessie system with Nginx, MySQL and OpenLDAP.
What is Kanboard?
Kanboard is a Project Management Software utilizing the Kanban methodology, it visualizes your workflow and limits your work in progress.
For a complete documentation of how to use Kanboard and utilize Kanban, please visit https://kanboard.net/documentation .
Requirements for Kanboard itself can be found here: https://kanboard.net/documentation/requirements
This guide requires a working web stack consisting of a web server (in my case Nginx), a PHP processor (PHP-FPM here), a MySQL server (Oracle MySQL or MariaDB). Optionally, you can also use an LDAP server for authentication like I do (OpenLDAP). How to set up these won’t be explained here, there are enough guides out there on the internet.
Download the current stable release from kanboard.net/downloads and verify the download.
After successful verification, unpack the folder inside the zip file into your web-root directory.
Next, we create the MySQL database and user for Kanboard, so log into your mysql shell.
Tip: a good way to generate passwords for things like databases (there is no need to remember the password and you don’t need to type it in all the time) is using a tool like
Navigate to the Kanboard installation directory (in my case
/var/www/kanboard) and make the data directory writable by the web server:
Move the default configuration file (
mv config.default.php config.php ) and edit it with your favorite editor.
Official Documentation for MySQL configuration
Official Documentation for LDAP authentication
If you want to allow only for a specific group of your LDAP users (and have the memberof-overlay configured for OpenLDAP), you can apply the following LDAP filter:
Kanboard has three different profile roles: Users, Managers and Administrators. You can also give LDAP users these roles:
However, the local, built-in administrator is called ‘admin’, just like my LDAP admin. This means I cannot access my LDAP admin, only the built-in admin, because Kanboard searches internal users first. The built-in admin can also not be removed (or at least disabled!).
Note: Log into Kanboard with the default admin (Username: admin, Password: admin) and change the password, even if you have a LDAP admin specified! To do so, log in and click on the icon in the top right corner. Select ‘My Profile’ and go to ‘Actions’. There you can change your password.
All LDAP parameters: https://kanboard.net/documentation/ldap-parameters
In general, the default configuration is very well commented and has sane default values. Nevertheless, it is worth a read to customize it to your needs.
Kanboard has a ton of features (as can be seen by means of the extensive configuration options) and works very well with groups of people. However, I just wanted a TODO-List with some features such as deadline and categories. I’m sure Kanboard holds up very well in professional, structured environment, but for my personal use it was just a bit too much.