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.