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
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.Advertisement
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.
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
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
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
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/
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
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
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.
Once the Composer has been updated to the latest version, install PHP dependencies with it using the following command:
$ ./build/composer.phar install
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.
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
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.
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.