How to Install TaskBoard on Ubuntu 18.04

 In Dedicated, VPS, Web

In this tutorial we will describe the steps of installing TaskBoard and all necessary components on an Ubuntu VPS.

TaskBoard is a free, open-source, PHP-based and self-hosted scheduling application which help users to keep track on their important tasks. TaskBoard has a simple and clean ‘Kanban’-inspired interface that’s intuitive and very easy-to-use.

Features

TaskBoard has a lot of useful features, such as:

  • Free, Open-Source and Self-Hosted application
  • Easy and fast installation
  • Unlimited boards (projects)
  • Customize columns within boards and persistent expand/collapse per user
  • Items allow custom colors, categorization, Markdown descriptions, attachments, and comments
  • Items display complete history of activities
  • Full history of all board activity for admins
  • Easy customization
  • Basic User management (admin, and regular users)
  • No external dependencies
  • Creates SQLite database on first use
  • RESTful API
  • TaskBoard can run on almost all web hosts that support PHP and SQLite)

Prerequisites

  • An Ubuntu 18.04 VPS.
  • System user with root privileges
  • Apache web server + PHP version 5+
  • SQLite

Step 1: Log in and Update the Server

Log in to your Ubuntu 18.04 VPS via SSH as the root user, or as a user with sudo privileges.

ssh root@IP_Address -p Port_number

Remember to replace ‘IP_Address’ and ‘Port_number’ with the actual IP address and SSH port number of your server.

The execute the following command to update all installed packages on your Ubuntu 18.04 VPS.

apt update && apt upgrade

Step 2: Install Apache

TaskBoard needs a web server to serve its content. In this tutorial we will install and use the Apache web server, a popular and easy-to-use web server. It can be easily installed using the following command:

apt -y install apache2

Once the Apache web server is installed, start it and enable it to automatically start upon a server reboot.

systemctl start apache2
systemctl enable apache2

Use this command to confirm that Apache is running, by checking its status:

systemctl status apache2

apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           ââapache2-systemd.conf
   Active: active (running)
 Main PID: 25440 (apache2)
    Tasks: 6 (limit: 2320)
   CGroup: /system.slice/apache2.service
           ââ25440 /usr/sbin/apache2 -k start
           ââ25443 /usr/sbin/apache2 -k start

Or visit http://Your_IPaddress/ in a web browser. If the web server is running you will get the default Apache page.

Step 3: Install PHP and SQLite

TaskBoard is a PHP-based application, so the next step would be to install PHP along with several PHP extensions that are required by the application.

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

After the installation is completed, you can use the following command to check the installed version of PHP.

php -v
PHP 7.2.15-0ubuntu0.18.04.2 (cli) (built: Mar 22 2019 17:05:14) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.15-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies

TaskBoard doesn’t need a server-based SQL server, such as MySQL. It uses an SQLite database, which consists of a single file on the disk. Install SQLite using the next command:

apt -y install sqlite

Step 4: Download and Install TaskBoard

Go to TaskBoard’s official website and download the latest stable release of the application to the document root directory of your server. Our example uses the latest available version at the time of writing.

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

Once it is downloaded, unpack the zip archive. First, make sure that the unzip utility is installed on your server:

apt -y install unzip
cd /var/www/html
unzip master.zip

All TaskBoard files will be stored in a new ‘TaskBoard-master’ directory. We will rename this directory to something simpler:

mv TaskBoard-master/ taskboard

Next, we will have to install some additional PHP dependencies using Composer. Before that, update the development version of Composer to the latest version:

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

After Composer has been updated to the latest version, we may proceed with the installation of the PHP dependencies:

./build/composer.phar install

After that, set the correct permissions for the TaskBoard directory:

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

Step 5: Create an Apache virtual host

Once all of the above steps are complete, we can create an Apache virtual host directive for the domain that you want to access TaskBoard with. In our case we will use the ‘domain.com’ domain name. Remember to replace it with your domain name wherever you see it.

nano /etc/apache2/sites-available/taskboard.conf
<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>

Save the file, then run the following commands to enable the configuration and the Apache module mod_rewrite.

a2ensite taskboard
a2enmod rewrite

After this, restart the Apache web server for the changes to take effect.

With this step, the installation of TaskBoard on your Ubuntu 18.04 server is fully completed. Open a web browser and point it to http://domain.com to access TaskBoard’s login page. You can log in with the default login credentials, which are ‘admin’ for both the username and the password.

For more details on how to use TaskBoard, please refer to their official documentation.

Recommended Posts

Start typing and press Enter to search