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.

taskboard sigin min

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.

taskboard dashboard min

Enjoy your new better way of managing tasks with Taskboard.

LEAVE A REPLY

Please enter your comment!
Please enter your name here