Kanboard
Kanboard is a free and open source Kanban project management software.
License
The software is licensed under MIT License. All relevant information can be found in the GitHub repository of the project.
Prerequisites
We’re using PHP in the stable version 8.1:
[isabell@stardust ~]$ uberspace tools version show php
Using 'PHP' version: '8.1'
[isabell@stardust ~]$
You’ll need your MySQL credentials. Get them with my_print_defaults
:
[isabell@stardust ~]$ my_print_defaults client
--default-character-set=utf8mb4
--user=isabell
--password=MySuperSecretPassword
[isabell@stardust ~]$
The domain you want to use must be set up:
[isabell@stardust ~]$ uberspace web domain list
isabell.uber.space
[isabell@stardust ~]$
Installation
Download and extract TAR.GZ archive
Check the Kanboard website or GitHub for the latest release and copy the download link to the TAR.GZ file. Then cd
to your DocumentRoot and use wget
to download it. Replace the URL with the one you just copied.
[isabell@stardust ~]$ cd /var/www/virtual/$USER/
[isabell@stardust isabell]$ wget https://github.com/kanboard/kanboard/archive/v42.23.1.tar.gz
[…]
Saving to: ‘v42.23.1.tar.gz’
100%[========================================================================================================================>] 3,172,029 3.45MB/s in 0.9s
2018-10-11 14:48:20 (3.45 MB/s) - 'v42.23.1.tar.gz' saved [3172029]
[isabell@stardust isabell]$
Untar the archive to the html
folder and then delete it. Replace the version in the file name with the one you downloaded.
[isabell@stardust isabell]$ tar -xzf v42.23.1.tar.gz -C html/ --strip-components=1
[isabell@stardust isabell]$ rm v42.23.1.tar.gz
[isabell@stardust isabell]$
Configuration
Setup your database
We recommend setting up a new MySQL database for Kanboard.
[isabell@stardust ~]$ mysql -e "CREATE DATABASE ${USER}_kanboard CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;;"
Configuration
Copy the config.default.php
to config.php
:
[isabell@stardust isabell]$ cd ~/html
[isabell@stardust html]$ cp config.default.php config.php
[isabell@stardust html]$
Now edit config.php
file, change the Database driver to mysql
and provide your MySQL credentials.
// Database driver: sqlite, mysql or postgres (sqlite by default)
define('DB_DRIVER', 'mysql');
// Mysql/Postgres username
define('DB_USERNAME', 'isabell');
// Mysql/Postgres password
define('DB_PASSWORD', 'MySuperSecretPassword');
// Mysql/Postgres hostname
define('DB_HOSTNAME', 'localhost');
// Mysql/Postgres database name
define('DB_NAME', 'isabell_kanboard');
Remove nocontent.html
:
[isabell@stardust isabell]$ cd ~/html
[isabell@stardust html]$ rm nocontent.html
[isabell@stardust html]$
Go to https://isabell.uber.space/
and log in to your installation with the default login admin
and password admin
.
Warning
Do not forget to change the default user/password!
Check out the official Kanboard documentation for explanation of further configuration parameters.
Cron job
To work properly, Kanboard requires that a background job runs on a daily basis. Edit your cron tab using the crontab -e
command and insert this cron job to execute the daily cronjob at 8am. Make sure to replace isabell
with your own user name.
0 8 * * * cd /var/www/virtual/isabell/html && ./cli cronjob >/dev/null 2>&1
Best practices
Plugins
Get an overview of all available Plugins for Kanboard and install them from the user interface. More (unofficial) plugins may also be available, just browse GitHub.
Email Notifications
To receive email notifications, users of Kanboard must have:
Activated notifications in their profile
Have a valid email address in their profile
Be a member of the project that will trigger notifications
Set the email address used for the “From” header by changing the value in config.php
:
// E-mail address used for the "From" header (notifications)
define('MAIL_FROM', 'isabell@uber.space');
Specify the URL of your Kanboard installation in your Application Settings to display a link to the task in notifications: https://isabell.uber.space/
. By default, nothing is defined, so no links will be displayed in notifications.
Note
Don’t forget the ending slash /
.
Debugging
Enable debug mode by setting the following two values in config.php
:
// Enable/Disable debug
define('DEBUG', true);
// Available log drivers: syslog, stderr, stdout, system or file
define('LOG_DRIVER', 'file');
The file debug.log
will be found in the data
folder of your Kanboard directory.
Updates
Note
Check the update Feed regularly to stay informed about the newest version.
Check the GitHub’s Atom Feed for any new Kanboard releases and copy the link to the .tar.gz
archive. In this example the version is v42.23.2, which does not exist of course. Change the version to the latest one in the highlighted lines.
[isabell@stardust ~]$ cd /var/www/virtual/$USER/
[isabell@stardust isabell]$ wget https://github.com/kanboard/kanboard/archive/v42.23.2.tar.gz
[isabell@stardust isabell]$ tar -xzf v42.23.2.tar.gz
[isabell@stardust isabell]$ cp -r html/data/ html/plugins/ html/config.php kanboard-42.23.2/
[isabell@stardust isabell]$ cp -r kanboard-42.23.2/* html/
[isabell@stardust isabell]$ rm -rf kanboard-42.23.2 v42.23.2.tar.gz
[isabell@stardust isabell]$
Check the Kanboard documentation if the configuration changed between config.default.php
and your config.php
(happens very rarely). Also check .htaccess
if further adjustments needed to be made.
Tested with Kanboard 1.2.25, Uberspace 7.13, PHP 8.1
Written by: stratmaster <https://github.com/stratmaster>