How to Install and Configure TaskBoard on Fedora 30

Published on: Fri, Jul 26, 2019 at 12:03 pm EST
Fedora Linux Guides Server Apps

Introduction

TaskBoard is a free and open source tool that can be used to keep track of things that need to get done. It provides a user friendly web interface and a minimal application for keeping track of tasks. TaskBoard is easily customizable and works on almost any web host.

In this tutorial, I will explain how to install and configure TaskBoard on a Vultr Fedora 30 server.

Prerequisites

  • A newly deployed Vultr Fedora 30 server instance.
  • Root (or sudo user) access to your server via SSH or console
  • A static IP address configured on your system, this article will use 192.0.2.2 as an example.

NOTE If you're logged as the root user, you can remove sudo from all commands shown in this article.

Step 1: Update the system

First, update your system and packages to the latest versions by running the following command:

sudo dnf upgrade -y

Step 2: Install Apache, SQLite, PHP and Git.

Before starting, you will need to install the Apache web server, PHP 7, SQLite database, and other required packages on your server.

You can install these by running the following command:

sudo dnf install -y httpd git sqlite php php-common php-cli php-json php-sqlite3 php-opcache php-mcrypt php-mbstring php-gd php-xml

Make sure Apache is enabled and running:

sudo systemctl enable --now httpd.service

Enable HTTP and HTTPS ports in the firewall daemon:

sudo firewall-cmd --add-service http --add-service https --permanent
sudo firewall-cmd --reload

Step 3: Download and install TaskBoard

You can download the latest version of TaskBoard from GitHub using the git command:

git clone https://github.com/kiswa/TaskBoard.git

Move the TaskBoard directory to /var/www/html/.

sudo mv TaskBoard /var/www/html/

Install the required PHP dependencies using Composer.

cd /var/www/html/TaskBoard
sudo ./build/composer.phar self-update
sudo ./build/composer.phar install

Set the proper ownership on the TaskBoard directory.

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

Step 4: Configure Apache for TaskBoard

Create a new virtual host configuration file for TaskBoard. You can do this with the following command:

sudo nano /etc/httpd/conf.d/taskboard.conf

Add the following lines:

<VirtualHost *:80>
   ServerName 192.0.2.2
   DocumentRoot /var/www/html/TaskBoard
 <Directory /var/www/html/TaskBoard>
   Options -Indexes +FollowSymLinks +MultiViews
   AllowOverride All
   Require all granted
 </Directory>
   ErrorLog /var/log/httpd/taskboard-error.log
   CustomLog /var/log/httpd/taskboard-access.log combined
</VirtualHost>

Save the file and exit.

Next, reload the Apache service for these changes to take effect:

sudo systemctl reload httpd.service

Step 5: SELinux configuration

Since SELinux is enabled by default on Vultr Fedora 30 images, labeling the taskboard directory structure is necessary. Disabling SELinux is another option, but isn't recommended.

First, add the httpd_sys_content_t context to the parent TaskBoard Directory, which allows read-only access:

sudo semanage fcontext -a -t "httpd_sys_content_t" "/var/www/html/TaskBoard(/.*)?"

Then add httpd_sys_rw_content_t where write access is needed:

sudo semanage fcontext -a -t "httpd_sys_rw_content_t" "/var/www/html/TaskBoard/api(/.*)?"

Finally, relabel these files to apply changes:

sudo restorecon -Rv /var/www/html/TaskBoard

Conclusion

Now that the installation is complete, you can proceed to access the TaskBoard web interface.

Open your favorite web browser and type the URL http://192.0.2.2. Log into TaskBoard using default username and password admin. After successfully logging in, you will be presented with the main dashboard. You should change the admin password immediately after your first login.

Want to contribute ?

You could earn up to $300 by adding new articles