How to Install and Configure TaskBoard on Ubuntu 18.04

Updated on March 8, 2019
How to Install and Configure TaskBoard on Ubuntu 18.04 header image

Introduction

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

In this tutorial, I will explain how to install and configure TaskBoard on a Vultr Ubuntu 18.04 server.

Prerequisites

  • A newly deployed Vultr Ubuntu 18.04 server instance.
  • Root (or sudo user) 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.

Before you begin

First, update your system and packages to the latest versions, then reboot:

sudo apt update -y
sudo apt upgrade -y
sudo shutdown -r now

Install Apache, SQLite, PHP and Git.

You will need to install the Apache web server, PHP 7, SQLite database, and other necessary packages on your server:

sudo apt install -y apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.2 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0 libsodium23 php php-common php7.2 php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline ssl-cert libsqlite0 sqlite sqlite3 git php7.2-sqlite3

Start Apache and enable it to start at boot:

sudo systemcl start apache2
sudo systemctl enable apache2

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

Download and install TaskBoard

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

git clone https://github.com/kiswa/TaskBoard.git

Move the Taskboard directory to /var/www/html/:

sudo mv TaskBoard /var/www/html/

Install the required PHP dependencies using Composer:

cd /var/www/html/TaskBoard
sudo ./build/composer.phar install

Set the proper ownership on the TaskBoard directory:

sudo chown -R www-data:www-data /var/www/html/TaskBoard

Configure Apache for TaskBoard

Create a new virtual host configuration file for TaskBoard:

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

Populate the config file with 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, then enable the virtual host with the following command:

sudo a2ensite taskboard.conf

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

sudo a2enmod expires
sudo a2enmod rewrite

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

sudo systemctl reload apache2

Conclusion

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

Open your favorite web browser and navigate 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. It is strongly recommended that you go to the "settings" page and change your username and password.