Article

Table of Contents
Theme:
Was this article helpful?
Try Vultr Today with

$50 Free on Us!

Want to contribute?

You could earn up to $600 by adding new articles.

How to Install TaskBoard 0.3.1 on CentOS 7

Last Updated: Fri, Oct 5, 2018
CentOS Linux Guides Server Apps

TaskBoard is a free and open source time management web app. Inspired by Kanban, TaskBoard can help you keep track of things that need to be done in an intuitive fashion.

In this article, I will show you how to deploy the latest TaskBoard release on a CentOS 7 server instance.

Prerequisites

  • A fresh Vultr CentOS 7 server instance with an IPv4 address 203.0.113.1.

  • A sudo user.

Step 1: Create a swap file

In order to improve system performance, it is always recommended to create a swap file on a fresh server instance. For example, on a machine with 2GB of memory, you can setup a 2GB (2048M) swap partition, as shown below:

sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M

sudo chmod 600 /swapfile

sudo mkswap /swapfile

sudo swapon /swapfile

echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab

free -m

Note: If you are using a different server size, the suitable size of the swap partition may vary.

Step 2: Modify firewall rules

Modify the firewall in order to allow inbound HTTP traffic

sudo firewall-cmd --permanent --add-service=http

sudo systemctl reload firewalld.service

Step 3: Install the EPEL YUM repo

Install the repo, and then update the system

sudo yum install -y epel-release

sudo yum -y update && sudo shutdown -r now

After the system reboots, log back in as the same sudo user to move on.

Step 4: Install the Apache web server

Install and configure Apache 2.4.6:

sudo yum install httpd httpd-devel -y

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

sudo systemctl start httpd.service

sudo systemctl enable httpd.service

Step 5: Install the SQLite 3 database engine

SQLite is the designated database engine for running TaskBoard. You can easily install it on CentOS 7 as follows:

sudo yum install -y sqlite

Step 6: Install PHP 7.2 packages

TaskBoard is written in PHP. In order to get the best performance, you can install PHP 7.2 and necessary dependencies using the Webtatic YUM repo as follows:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

sudo yum install mod_php72w php72w-opcache php72w-pdo php72w-common php72w-cli php72w-gd php72w-mbstring -y

Step 7: Install TaskBoard

Download and install TaskBoard 0.3.1 as shown below:

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

sudo yum install -y unzip

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

cd /var/www/html

sudo mv TaskBoard-master taskboard

cd taskboard

sudo ./build/composer.phar self-update

sudo ./build/composer.phar install

sudo yum install -y java-1.8.0-openjdk.x86_64

sudo ./build/build-all

sudo chown -R apache:apache /var/www/html/taskboard

In addition, you need to setup an Apache virtual host for TaskBoard:

cat <<EOF | sudo tee /etc/httpd/conf.d/taskboard.conf

<VirtualHost *:80>

ServerAdmin admin@example.com

DocumentRoot /var/www/html/taskboard

ServerName example.com

ServerAlias taskboard.example.com

<Directory /var/www/html/taskboard>

Options FollowSymLinks

AllowOverride All

Order allow,deny

allow from all

</Directory>

ErrorLog /var/log/httpd/example.com-error_log

CustomLog /var/log/httpd/example.com-access_log common

</VirtualHost>

EOF

Restart Apache in order to apply the new settings:

sudo systemctl restart httpd.service

Finally, point your favorite web browser to 203.0.113.1 and then sign in with the following credentials. Don't forget to change the password after signing in.

  • Username: admin

  • Password: admin

Want to contribute?

You could earn up to $600 by adding new articles.