How to Install and Configure TaskBoard on Debian 9

Published on: Fri, Dec 14, 2018 at 11:12 am EST
This article is a port of "How to Install and Configure TaskBoard on Ubuntu 16.04" for Debian 9.

Introduction

TaskBoard is a free and open source tool that can be used to keep track of things to do. It provides a user friendly web interface and a minimal application for keeping track of tasks. TaskBoard is easily customizable and works on almost any Linux platform.

In this tutorial, I will explain how to install and configure TaskBoard on a Debian 9 Vultr VPS.

Prerequisites

  • A newly deployed Vultr Debian 9 server instance.
  • Root access to your server via SSH or console.
  • A static IP address configured on your system, this article will use 192.0.2.2 as an example.

Step 1: Update the system

First, update your system to the latest stable version by running the following command:

apt-get update -y
apt-get upgrade -y
reboot

Step 2: Install Apache, SQLite, and PHP

Before starting, you will need to install the Apache web server, PHP 7, SQLite database, and other required libraries on your server.

You can install these by running the following command:

apt-get install unzip apache2 apache2-bin apache2-data libaio1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libdbi-perl libhtml-template-perl libterm-readkey-perl libwrap0 ssl-cert tcpd libapache2-mod-php7.0 php7.0-cli php7.0-common php7.0-json php7.0-readline php7.0-sqlite sqlite

Once the installation is complete, you can proceed to the next step.

Step 3: Download and install TaskBoard

You can download the latest version of the TaskBoard from GitHub using the wget command:

wget https://github.com/kiswa/TaskBoard/archive/master.zip

Once the download has finished, extract the downloaded archive with the following command:

unzip master.zip

Next, rename the extracted directory to taskboard.

mv TaskBoard-master taskboard

Install the required PHP dependencies using Composer.

cd taskboard
 ./build/composer.phar install

Move the taskboard directory to /var/www/html/.

cd ..
mv taskboard /var/www/html/

Set the proper permissions for the taskboard directory.

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

Step 4: Configure Apache for TaskBoard

Create a new virtual host configuration file for TaskBoard. You can do this with the following command:

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

Add the following lines:

<VirtualHost *:80>
   ServerName 192.0.2.2
   DocumentRoot /var/www/html/taskboard
 <Directory /var/www/html/taskboard>
   Options -Indexes +FollowSymLinks +MultiViews
   AllowOverride All
   Require all granted
 </Directory>
   ErrorLog ${APACHE_LOG_DIR}/taskboard-error.log
   CustomLog ${APACHE_LOG_DIR}/taskboard-access.log combined
</VirtualHost>

Save the file and exit.

Enable the virtual host with the following command:

a2ensite taskboard.conf

TaskBoard uses a .htaccess file, so you will also need to enable both the mod_expires and mod_rewrite modules.

a2enmod expires
a2enmod rewrite

Next, reload the Apache service for these changes to take effect:

systemctl restart apache2

Conclusion

Now that the installation is complete, you can proceed to access the TaskBoard web interface.

Open your favorite web browser and go to http://192.0.2.2. Log into TaskBoard using the default username and password 'admin'. After successfully logging in, you will be presented with the main dashboard.