How to Install TaskBoard 0.3.1 on CentOS 7
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