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

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.

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.