TaskBoard is a free and open-source PHP based tool that helps users to keep track of their important tasks. It has a simple user-friendly web interface that is intuitive and easy to use. It is easily customizable and can work on any Linux platform. With TaskBoard, you can create unlimited boards and projects and keep track of things that need to get done.

In this article, we will explain how you can install a TaskBoard on a Linux operating system. TaskBoard provides a lot of features. Some of them are listed below:

  • Free, Open-Source
  • Self Hosted.
  • Easy to install.
  • Unlimited board and projects.
  • Customization of columns within boards and persistent expand/collapse per user.
  • Items allow custom colors, categorization, Mark Down descriptions, attachments, and comments.
  • Items display the complete history of activities.
  • Full history of all board activity for admins.
  • Easy customization.
  • Basic user management (admin and regular users).
  • No external dependencies.
  • Automatically creates SQLite database on first use.
  • RESTful API.
  • Works on almost any web hosts

We have run the commands and procedures mentioned in this article on a Debian 10 operating system.

Prerequisites

Here are some prerequisites that we need to install before installing the TaskBoard.

  • Apache 2
  • Sqlite
  • PHP > 5.5, php5-sqlite PHP library

Step 1: Update the system

Before installing TaskBoard and its prerequites, we will need to update the package database. It will allow the system to find out if the new versions of installed packages are available. To do so, launch the Terminal application in your system by going into the Activities tab in the top left corner of your Debian desktop. Then in the search bar, type terminal. When the Terminal icon appears, click on it to launch it.

Then type the following command in Terminal to update the package database.

$ sudo apt update

Once we have updated the package database, we will need to upgrade the installed packages. Run the command below for this purpose:

$ sudo apt upgrade

Step 2: Install Apache

TaskBoard requires a webserver to serve its content. We will use the Apache webserver for this purpose. Run the following command in Terminal to install it:

$ apt -y install apache2

Install Apache web server

Once you have done with the installation of the Apache web server, enable the Apache service to automatically start upon a server reboot.

$ systemctl enable apache2

Then run the following command to start the Apache service:

$ systemctl start apache2

To verify that Apache is running, run the following command in Terminal:

$ systemctl status apache2

You will get the results similar to below output showing the Apache service is active and running.

Check Apache status

Or open any web browser and type http:// followed by your IP address as follows:

http://IP_address

If the web server is actively running, you will see the default Apache page as shown below.

Apache default page

Step 3: Install PHP and SQLite

TaskBoard is a PHP based application. So the next step would be to install the PHP and other required libraries on our system. Run the below command in Terminal to install PHP along with several extensions:

$ apt -y install php php-json php-cli php-gd php-sqlite3 libapache2-mod-php

PHP scripting language installation

It will take a while depending upon your internet speed and then PHP and all the extensions will be installed on your system.

Once the installation is completed, run the following command to check the installed version of PHP.

$ php -v

Check PHP version

TaskBoard does not require SQL server instead, it only needs sqlite database for storing data. Run the following command in Terminal to install SQLite database.

$ apt -y install sqlite

Install SQLite database

Wait for a while until the installation of SQLite is completed. Now you are prepared for installing Taskboard on your system.

Step 4: Download and Install TaskBoard

Now download the latest version of the TaskBoard from Git repository to the document root directory /var/www/html/ of your system. Run the following command to do so:

$ wget https://github.com/kiswa/TaskBoard/archive/master.zip -P /var/www/html/

Install TaskBoard

Once it is downloaded, you will need to extract the downloaded file. Make sure that the unzip utility is installed on your system. If it is not installed already, you can install it using the following command:

$ apt -y install unzip

Install unzip

Now move to the document root directory using the following command and extract the downloaded file using unzip. Run the below commands for this purpose.

$ cd /var/www/html
$ unzip master.zip

unpack TaskBoard source file archive

All the extracted files will be stored in the TaskBoard-master directory. Rename the directory to the taskboard.

$ mv TaskBoard-master/ taskboard

Next, install some additional PHP dependencies using Composer. Before that, change the directory to TaskBoard and update the Composer to the latest version:

$ cd taskboard/
$ ./build/composer.phar self-update

You will see the output similar to below.

Update Composer

Once the Composer has been updated to the latest version, install PHP dependencies with it using the following command:

$ ./build/composer.phar install

Install with Composer

Now set the right permissions for the TaskBoard directory by running the below command:

$ chown -R www-data:www-data /var/www/html/taskboard

Step 5: Create an Apache virtual host

Now we will have to create an Apache virtual host file for the TaskBoard. To do so, run the below command in Terminal:

$ nano /etc/apache2/sites-available/taskboard.conf

Add the following lines. Remember to replace domain.com with your own domain name or IP address.

<VirtualHost *:80>

ServerName domain.com

DocumentRoot /var/www/html/taskboard

Options -Indexes +FollowSymLinks +MultiViews

AllowOverride All

Require all granted

ErrorLog ${APACHE_LOG_DIR}/domain.com-error.log

CustomLog ${APACHE_LOG_DIR}/domain.com-access.log combined

</VirtualHost>

Create Apache virtual host

Save and close the file. Now run the following commands to enable the virtual host file and the Apache rewrite module.

$ sudo a2ensite taskboard

$ sudo a2enmod rewrite

Now restart the Apache2 service for the changes to take effect.

$ systemctl reload apache2

$ systemctl restart apache2

Now that we have installed and setup TaskBoard, its time to launch. Open your web browser and type the TaskBoard address in the following format:

http://IP_address or domain.com

You will see the TaskBoard default login page. Login using the default user name and password as admin/admin.

TaskBoard Login

That is all there is to it! In this article, we have learned how to install a TaskBoard on top of Apache, PHP and SQLite stack on Debian 10 OS.

How to install TaskBoard Kanban on Debian 10