Kanboard is wonderfully simple project and task management application.
The board view gives a nice Trello like interface, where cards can be dragged & dropped across columns.
A really nice and clean user and role management system.
It has a bunch of plugins, like OAuth2, so that third party authentication systems can be used.
And again, like other software that I like, it uses SQLite out of the box which makes moving the entire application around trivial.
Additionally, I’ve started using Caddy V2 which provides LetsEncrypt SSL certificates out of the box and renews them automatically.
The list of requirements for Kanboard are very straightforward. Primarily, PHP with some extensions.
Install PHP and Extensions
sudo apt-get install -y php7.2 php7.2-gd php7.2-mbstring \ php7.2-common php7.2-opcache php7.2-cli php7.2-xml \ php7.2-fpm php7.2-sqlite php7.2-zip
Ensure php-fpm is running
Check if php-fpm is running using –
ps aux | grep php-fpm
Otherwise start it using –
service php7.2-fpm start
or
service php7.2-fpm start
Install Kanboard
Either using Git
git clone https://github.com/kanboard/kanboard.git
Or just download the latest release and unzip it.
Change access to Kanboard directory and all files
Permissions to all files in the kanboard folder needs to be changed.
chown -R * www-data:www-data kanboard
Install Plugins
If you want to install plugins from admin interface directly, you need to change the following setting in kanboard/config.php
Change default setting to true
// define('PLUGIN_INSTALLER', false); define('PLUGIN_INSTALLER', true);
Caddy V2 configuration
Getting the right Caddy configuration to work took some time, since most of the configs which come up in search results are the ones for the previous version of Caddy.
The config file that worked –
<URL for Kanboard> { root * /var/www/html/kanboard/ route { encode zstd gzip # * Linux (socket) php_fastcgi unix//run/php/php7.2-fpm.sock # * Windows service # php_fastcgi 127.0.0.1:9000 try_files {path} {path}/index.php /index.php?{query} file_server } }