How to Install TaskBoard on Debian 9

In this tutorial we will show you how to install TaskBoard and all of its dependencies on a Debian 9 Cloud VPS.

TaskBoard is a free and open-source scheduling platform that allows users to keep track on their important tasks. Collaborating through a task management platform helps improve efficiency between team members and can help get projects done sooner and with higher quality. By keeping track of projects through TaskBoard, your team can stay more organized and make sure that nothing gets missed out or left behind. The installation is pretty easy and straightforward – let’s get started.

Prerequisites

  • A Debian 9 Cloud VPS. For the purposes of this tutorial we will use our LC VPS-2 plan.
  • System user with root privileges
  • Apache web server
  • PHP version 5.6 or newer
  • SQLite

1. Log in and update the server

First of all, log in to your Debian 9 VPS through SSH as user root

ssh root@IP_Address -p Port_Number

Where IP_Address and Port_Number are the actual IP address of your server and the SSH port number.

Once you are logged in, run the following commands to make sure that all installed packages on your server are updated to the latest available version

apt update && apt upgrade

Keeping all of your packages up-to-date ensures that everything will be as secure and as modern as possible.

2. Install Apache web server

Next, we will install Apache web server to serve TaskBoard’s content. It can be installed from the official Debian 9 repositories by running the following command

apt -y install apache2

After the installation of the web server has completed, start it and enable it to automatically start after a server reboot:

systemctl start apache2
systemctl enable apache2

With this step, the web server is installed and running on your server. You can confirm this by checking its status:

systemctl status apache2

Output:

apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-07-15 02:28:07 EDT; 9min ago
  Process: 533 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 693 (apache2)
    Tasks: 6 (limit: 4915)
   CGroup: /system.slice/apache2.service
           ââ693 /usr/sbin/apache2 -k start
           ââ723 /usr/sbin/apache2 -k start
           ââ724 /usr/sbin/apache2 -k start
           ââ725 /usr/sbin/apache2 -k start
           ââ726 /usr/sbin/apache2 -k start
           ââ727 /usr/sbin/apache2 -k start

Jul 15 02:28:06 hostname systemd[1]: Starting The Apache HTTP Server...
Jul 15 02:28:07 hostname systemd[1]: Started The Apache HTTP Server.

3. Install PHP

Since TaskBoard is built entirely on PHP, we have to install PHP and several PHP modules in order for TaskBoard to function properly

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

Once the installation has completed, you can check the installed PHP version with the following command

php -v

Output:

PHP 7.0.33-0+deb9u3 (cli) (built: Mar  8 2019 10:01:24) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.33-0+deb9u3, Copyright (c) 1999-2017, by Zend Technologies

4. Install SQLite

TaskBoard uses SQLite. It is a self-contained, file-based and serverless software library that provides a relational database management system. The installation of SQLite is pretty easy, only requiring a single package to be installed:

apt -y install sqlite

Check which version of SQlite is installed on your server, it should be this version or newer:

sqlite -version
2.8.17

Now that we have all of our prerequisites in order, we can install TaskBoard.

5. Install TaskBoard

Download the ZIP archive of the application from their official website or their GitHub account:

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

Upack the downloaded ZIP archive to the document root directory on your server, which usually is /var/www/html

unzip master.zip -d /var/www/html

Rename the TaskBoard directory

cd /var/www/html
  mv TaskBoard-master/ taskboard

Update the development version of Composer to the latest version:

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

Once the update is completed, use Composer to install some additional PHP dependencies required by TaskBoard

./build/composer.phar install

Set the correct permissions

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

6. Create Apache virtual host

In order to be able to access TaskBoard with a domain name, instead of your server’s IP address, we will create Apache virtual host for the domain. For example, we will use yourdomain.com.

Create an Apache configuration file:

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

Then fill the file with the following content:

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

Don’t forget to replace all occurrences of yourdomain.com with your actual registered domain name.

Save and close the file and enable the Apache virtual host:

a2ensite taskboard

Enable the mod_rewrite Apache module:

a2enmod rewrite

Restart the web server for the changes to take effect:

systemctl restart apache2

Finally, you can navigate your favorite web browser to http://yourdomain.com to access and start using TaskBoard.


Of course, you don’t have to install TaskBoard on Debian 9 if you use one of our Managed Debian Cloud VPS services, in which case you can simply ask our expert system administrators to install TaskBoard on Ubuntu 18.04 for you. They are available 24×7 and will take care of your request immediately.

PS. If you liked this post on how to install TaskBoard on Debian 9, please share it with your friends on the social networks by using the share shortcuts below, or simply leave a comment in the comments section. Thanks.

Leave a Comment