How to Install TaskBoard 0.3.1 on CentOS 7

Updated on October 5, 2018
How to Install TaskBoard 0.3.1 on CentOS 7 header image

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