TaskBoard is a free and open source Kanban inspired tool for keeping track of tasks and work activities that need to get done. It gives you a simple and clean interface for managing your tasks. TaskBoard is currently being re-written from scratch. The master and dev branches are still maintained but are not getting new features at this time.
Components of TaskBoard
TaskBoard has a backend and Frontend sub-systems. The components of Front-end are:
- AngularJS single-page app.
- ng-context-menu, jQueryUI Datepicker, Spectrum colorpicker, (noty) notifications, marked Markdown parser, and -prefix-free CSS prefix helper.
- Bootstrap for base look and feel.
For the Backend, it is baked from:
- RESTful API written in PHP, using Slim Framework for routing and RedBeanPHP for database ORM. Also uses PHPMailer for sending emails.
- Token-based authentication.
- SQLite database.
Step 1: Install Apache Web Server, PHP & Java
Update your system and install Apache web server with PHP
sudo apt update
sudo apt install git apache2 sqlite3 php libapache2-mod-php php-cli php-common php-json php-readline php-sqlite3 libaio1 libapr1 libhtml-template-perl libaprutil1-dbd-sqlite3 libaprutil1-ldap libaprutil1 libdbi-perl libterm-readkey-perl libwrap0
Install Java 8
sudo apt update
sudo apt install default-jdk
After installation, you can confirm the version by running:
$ java -version
openjdk version "11.0.17" 2022-10-18
OpenJDK Runtime Environment (build 11.0.17+8-post-Ubuntu-1ubuntu222.04)
OpenJDK 64-Bit Server VM (build 11.0.17+8-post-Ubuntu-1ubuntu222.04, mixed mode, sharing)
Step 2: Download and Install TaskBoard
After installing the package dependencies, download TaskBoard
VERSION=$(curl -s https://api.github.com/repos/kiswa/TaskBoard/releases/latest|grep tag_name|cut -d '"' -f 4|sed 's/v//')
wget https://github.com/kiswa/TaskBoard/releases/download/v${VERSION}/TaskBoard_v${VERSION}.zip
Extract downloaded file:
unzip TaskBoard_v${VERSION}.zip -d /var/www/html/TaskBoard
Remove default website on Apache web server.
sudo rm /var/www/html/index.html
sudo unlink /etc/apache2/sites-enabled/000-default.conf
Set proper permissions on Taskboard web root directory
sudo chown -R www-data:www-data /var/www/html/TaskBoard
You can then open your server IP to access Taskboard web console – http://ServerIP/TaskBoard/
Step 3: Configure Apache Web Server VirtualHost
Create a new Virtual Host for Taskboard.
sudo vim /etc/apache2/sites-enabled/taskBoard.conf
Configure it to look like below:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/html/TaskBoard"
ServerName taskboard.example.com
ServerAlias www.taskboard.example.com
<Directory "/var/www/html/TaskBoard">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog "/var/log/apache2/taskboard-error_log"
CustomLog "/var/log/apache2/taskboard-access_log" combined
</VirtualHost>
Check configuration syntax:
$ sudo apachectl -t
Syntax OK
Enable both the mod_rewrite
andmod_expires
modules.
sudo a2enmod rewrite expires
Restart Apache for the changes to be effected.
sudo systemctl restart apache2
Finish the installation by opening the URL http://board.example.com
on your web browser.

The default logins are:
Username: admin
Password: admin
Log in using admin as both username and password. you can later change the admin password on the Settings
page.

Enjoy your new better way of managing tasks with Taskboard.