Latest

Saturday, 22 January 2022

Install TaskBoard on CentOS / Red Hat Enterprise Linux (RHEL) 8

TaskBoard software installation on CentOS / Rocky Linux / Red Hat Enterprise Linux 8 with best practice, tips and tricks.

 

Table of Contents:

 

What is TaskBoard?:

TaskBoard is a Kanban-inspired app for keeping track of things that need to get done. The goal of TaskBoard is to provide a simple and clean interface to a functional and minimal application for keeping track of tasks. It's not trying to be the next Trello or LeanKit.

What TaskBoard does is make it easy to start keeping track of anything you need to get done. The visual aspect of a board allows for easy status checks, and can be motivating for users who want to move their tasks to the next column.

 

TaskBoard Features:

  • Free, Open-Source (MIT License), and Self-Hosted
  • Easy install - just copy to web host and go!
  • Unlimited boards (projects)
  • Multiple languages
  • Customize columns within boards and persistent expand/collapse per user
  • Tasks allow custom colors, categories, assignees, Markdown descriptions, attachments, and comments
  • Tasks display complete history of activities for admins
  • Easy customization
  • Basic User management (admin, board admin, and regular users)
  • No external dependencies
  • Creates SQLite database on first use
  • RESTful API
  • Works on almost any web host (only needs PHP w/SQLite pdo)

 

Environment Specification:

We are using a minimal Red Hat Enterprise Linux 8 virtual machine with following specifications.

  • CPU - 3.4 Ghz (2 cores)
  • Memory - 2 GB
  • Storage - 20 GB
  • Operating System - Red Hat Enterprise Linux 8.5
  • Hostname – taskboard-01.centlinux.com
  • IP Address - 192.168.116.243 /24

 

Update Your Linux Operating System:

Connect with taskboard-01.centlinux.com as root user by using a ssh client.

Make sure you have configured Red Hat subscription, if you want to use their official yum repositories.

Build cache for enabled yum repositories on your Linux server.

# dnf makecache
Updating Subscription Management repositories.
Red Hat Enterprise Linux 8 for x86_64 - BaseOS  3.6 kB/s | 4.1 kB     00:01
Red Hat CodeReady Linux Builder for RHEL 8 x86_ 4.8 kB/s | 4.5 kB     00:00
Red Hat Enterprise Linux 8 for x86_64 - AppStre 4.8 kB/s | 4.5 kB     00:00
Metadata cache created.

Execute following dnf command to update your Linux operating system.

# dnf update -y

The above command may update your Linux Kernel. If it does, then reboot your Linux server with updated Linux Kernel.

# reboot

Verify the version of Linux operating System and Linux Kernel.

# uname -r
4.18.0-348.7.1.el8_5.x86_64

# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.5 (Ootpa)

 

Install TaskBoard Prerequisites:

TaskBoard is written in PHP programming language, therefore, you have to install PHP and a Web Server to deploy TaskBoard application.

Check the available PHP version in default yum repository.

# dnf info php
Updating Subscription Management repositories.
Last metadata expiration check: 0:28:41 ago on Sun 16 Jan 2022 12:06:49 PM EST.
Available Packages
Name         : php
Version      : 7.2.24
Release      : 1.module+el8.2.0+4601+7c76a223
Architecture : x86_64
Size         : 1.5 M
Source       : php-7.2.24-1.module+el8.2.0+4601+7c76a223.src.rpm
Repository   : rhel-8-for-x86_64-appstream-rpms
Summary      : PHP scripting language for creating dynamic web sites
URL          : http://www.php.net/
License      : PHP and Zend and BSD and MIT and ASL 1.0
Description  : PHP is an HTML-embedded scripting language. PHP attempts to make
             : it easy for developers to write dynamically generated web pages.
             : PHP also offers built-in database integration for several
             : commercial and non-commercial database management systems, so
             : writing a database-enabled webpage with PHP is fairly simple. The
             : most common use of PHP coding is probably as a replacement for
             : CGI scripts.
             :
             : The php package contains the module (often referred to as
             : mod_php) which adds support for the PHP language to Apache HTTP
             : Server.

Check the list of other PHP modules in yum repository.

# dnf module list php
Updating Subscription Management repositories.
Last metadata expiration check: 0:28:57 ago on Sun 16 Jan 2022 12:06:49 PM EST.
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
Name      Stream       Profiles                       Summary
php       7.2 [d]      common [d], devel, minimal     PHP scripting language
php       7.3          common [d], devel, minimal     PHP scripting language
php       7.4          common [d], devel, minimal     PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Enable the latest available version of PHP by using following command.

# dnf module enable php:7.4
Updating Subscription Management repositories.
Last metadata expiration check: 0:29:30 ago on Sun 16 Jan 2022 12:06:49 PM EST.
Dependencies resolved.
================================================================================
 Package           Architecture     Version             Repository         Size
================================================================================
Enabling module streams:
 httpd                              2.4
 nginx                              1.14
 php                                7.4

Transaction Summary
================================================================================

Is this ok [y/N]: y
Complete!

Again check the version of available PHP.

# dnf info php
Updating Subscription Management repositories.
Last metadata expiration check: 0:30:14 ago on Sun 16 Jan 2022 12:06:49 PM EST.
Available Packages
Name         : php
Version      : 7.4.19
Release      : 1.module+el8.5.0+11143+cc873159
Architecture : x86_64
Size         : 1.5 M
Source       : php-7.4.19-1.module+el8.5.0+11143+cc873159.src.rpm
Repository   : rhel-8-for-x86_64-appstream-rpms
Summary      : PHP scripting language for creating dynamic web sites
URL          : http://www.php.net/
License      : PHP and Zend and BSD and MIT and ASL 1.0 and NCSA
Description  : PHP is an HTML-embedded scripting language. PHP attempts to make
             : it easy for developers to write dynamically generated web pages.
             : PHP also offers built-in database integration for several
             : commercial and non-commercial database management systems, so
             : writing a database-enabled webpage with PHP is fairly simple. The
             : most common use of PHP coding is probably as a replacement for
             : CGI scripts.
             :
             : The php package contains the module (often referred to as
             : mod_php) which adds support for the PHP language to Apache HTTP
             : Server when running in prefork mode.

Now, PHP 7.4 is available to install on your Linux server.

Install PHP, Apache web server, SQLite database and other prerequisites as follows.

# dnf install -y httpd php sqlite wget unzip policycoreutils-python-utils

Enable and start Apache server.

# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

 

Install TaskBoard Software on CentOS / RHEL 8:

TaskBoard is a free and open source software. Thus, it is available to download at their official website and GitHub.

You can download TaskBoard from GitHub. (https://github.com/kiswa/TaskBoard/releases)

Copy the URL of your required TaskBoard version and use wget command with it to download straight from the Linux CLI.

# wget https://github.com/kiswa/TaskBoard/releases/download/v1.0.2/TaskBoard_v1.0.2.zip
--2022-01-16 12:41:19--  https://github.com/kiswa/TaskBoard/releases/download/v1.0.2/TaskBoard_v1.0.2.zip
Resolving github.com (github.com)... 13.234.176.102
Connecting to github.com (github.com)|13.234.176.102|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4018464 (3.8M) [application/octet-stream]
Saving to: ‘TaskBoard_v1.0.2.zip’

TaskBoard_v1.0.2.zi 100%[===================>]   3.83M  1.14MB/s    in 3.4s

Use unzip command to extract downloaded TaskBoard software into Apache document-root directory.

# unzip TaskBoard_v1.0.2.zip -d /var/www/html/taskboard

Adjust File permissions and ownership for extracted TaskBoard software files.

# chown -R apache:apache /var/www/html/taskboard
# chmod -R 775 /var/www/html/taskboard

Edit .htaccess file by using vim text editor.

# vi /var/www/html/taskboard/api/.htaccess

Locate and comment following four directives in this file.

#php_value upload_max_filesize 80M
#php_value post_max_size 100M
#php_value file_uploads On
#php_value memory_limit 256M

Create a Apache configuration file to deploy TaskBoard application. You can use vim text editor again.

# vi /etc/httpd/conf.d/taskboard.conf

Add following directives in this file.

<VirtualHost *:80>
    ServerAdmin admin@centlinux.com
    DocumentRoot "/var/www/html/taskboard"
    ServerName taskboard-01.centlinux.com
    <Directory "/var/www/html/taskboard">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog "/var/log/httpd/taskboard-error_log"
    CustomLog "/var/log/httpd/taskboard-access_log" combined
</VirtualHost>

Test Apache configuration for any possible Syntax error.

# httpd -t
Syntax OK

Restart Apache service by using following command.

# systemctl restart httpd.service

 

Configure Linux Firewall for TaskBoard:

To make your TaskBoard application accessible across the network, you have to Allow http service in Linux firewall.

# firewall-cmd --permanent --add-service=http
success
# firewall-cmd --reload
success

 

Configure SELinux for TaskBoard:

For proper functioning of TaskBoard application, you have to allow write privileges in /var/www/html/taskboard/api directory.

Apache user already has the write privilege on api directory. But the SELinux is blocking it.

You can either Disable SELinux (not recommended) or you can add a SELinux fcontext to allow Apache user to write in this directory.

# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/taskboard/api(/.*)?'
# restorecon -RF /var/www/html/taskboard/api

 

Access TaskBoard Application:

Open URL http://taskboard-01.centlinux.com in a web browser.

Login as TaskBoard default user/password i.e. admin/admin.

You have reached at the dashboard of TaskBoard application.

 

Conclusion:

In this article, you have successfully installed TaskBoard software on CentOS / Red Hat Enterprise Linux (RHEL) 8.

If you find this article useful? Don't you mind support us by Buy Me A Coffee


No comments:

Post a Comment

© 2022 CentLinux. All Rights Reserved.