How to install TaskBoard on CentOS 8

Share on Social Media

Learn how to install TaskBoard on CentOS 8 with this step-by-step guide. Set up this open-source task management tool to streamline your project organization and boost productivity. #centlinux #linux #kanban

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)

TaskBoard Alternatives

If you’re looking for alternatives to Taskboard, which is a simple, open-source project management software, here are several options that cater to various needs, from basic task management to comprehensive project management:

Trello

  • Description: A popular project management tool that uses boards, lists, and cards to organize tasks.
  • Features: Drag-and-drop interface, customizable boards, checklists, due dates, team collaboration, integrations with various apps.
  • Use Case: Ideal for visual task management, team collaboration, and personal organization.

Asana

  • Description: A robust project management tool designed to help teams organize, track, and manage their work.
  • Features: Task assignments, due dates, project timelines, customizable workflows, team collaboration, integrations with many other tools.
  • Use Case: Suitable for teams needing comprehensive project management with advanced tracking and reporting capabilities.

Kanboard

  • Description: An open-source Kanban project management software.
  • Features: Simple and intuitive interface, task and project visualization, drag-and-drop tasks, built-in analytics, customizable workflows.
  • Use Case: Perfect for those seeking an open-source solution with a focus on simplicity and the Kanban methodology.

Jira

  • Description: A powerful project management tool widely used in software development and agile environments.
  • Features: Scrum and Kanban boards, backlog prioritization, sprint planning, detailed reporting, customizable workflows, extensive integrations.
  • Use Case: Best for software development teams and organizations using agile methodologies.

ClickUp

  • Description: An all-in-one project management platform designed to replace multiple productivity tools.
  • Features: Task management, docs, goals, timelines, integrations with numerous apps, highly customizable interface.
  • Use Case: Ideal for teams looking for a versatile and feature-rich project management solution.

Monday.com

  • Description: A work operating system that allows teams to build custom workflows.
  • Features: Visual project tracking, customizable dashboards, automation, collaboration tools, extensive integrations.
  • Use Case: Suitable for teams needing a flexible and visual project management tool that can adapt to various workflows.

Taiga

  • Description: An open-source project management tool for agile development projects.
  • Features: Backlog management, sprint planning, issue tracking, Kanban and Scrum boards, customization options.
  • Use Case: Perfect for agile teams looking for an open-source, customizable project management solution.

Notion

  • Description: An all-in-one workspace for notes, tasks, databases, and project management.
  • Features: Customizable templates, rich media support, collaborative workspaces, database and table views, integrations.
  • Use Case: Great for individuals and teams seeking a versatile tool for organizing projects, documents, and knowledge bases.

Redmine

  • Description: An open-source project management web application.
  • Features: Issue tracking, Gantt charts, calendars, project wikis, time tracking, role-based access control, multiple project support.
  • Use Case: Suitable for teams needing an open-source tool with strong issue tracking and project management features.

Each of these alternatives offers unique features and benefits, so the best choice depends on your specific project management needs and preferences.

Recommended Online Training: Learn Bash Shell in Linux for Beginners

745772 0021show?id=oLRJ54lcVEg&offerid=1074652.745772&bids=1074652

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 Server

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 on CentOS 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.

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

Linux Firewall Configuration

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: Project Management Software

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

Taskboard Login
Taskboard Login

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

Taskboard Boards
Taskboard Boards

You have reached at the dashboard of TaskBoard application.

If you are new to Linux and facing difficulty in working at Linux Bash prompt. We recommend that, you should read The Linux Command Line, 2nd Edition: A Complete Introduction by William Shotts.

Final Thoughts

In conclusion, installing TaskBoard on CentOS 8 is a straightforward process that can greatly enhance your task management and project organization. By following the steps provided, you can quickly set up this open-source tool and start managing your tasks more efficiently.

If you need assistance with installing TaskBoard or other Linux-related tasks, I’m here to help. Visit my Fiverr profile to explore my services. I offer expert support for installation, configuration, troubleshooting, and optimization of Linux systems. Let’s work together to ensure your project management setup is seamless and effective.

Leave a Comment