TaskBoard: Kanban-based Software on CentOS 7

Introduction

TaskBoard is a free and open source software, inspired by the Kanban board, for keeping track of things that need to be done.

Kanban is a technique for visualizing the flow of work and organize a project, no matter what it is. In particular, in software development it provides a visual process management system to help in deciding how to organize the production.

taskboard

As you can see in the image above, this software make it easy to keep track visually of the evolution of your projects.

TaskBoard features are:

  • Free, Open-Source (MIT License), and Self-Hosted
  • Easy installation
  • Unlimited boards (projects)
  • Customize columns within boards and persistent expand/collapse per user
  • Items allow custom colors, categorization, Markdown descriptions, attachments, and comments
  • Items display complete history of activities
  • Full history of all board activity for admins
  • Easy customization
  • Basic User management (admin, and regular users)
  • No external dependencies
  • Creates SQLite database on first use
  • RESTful API
  • Very limited dependencies

This tutorial will explain how to install it on CentOS 7 and start using it to keep track of everything.

Install Apache Web Server

First of all, on your CentOS 7 server install Apache, by executing the following command:

# yum install httpd

Once the installation is finished, start Apache and enable it to run at boot time:

# systemctl start httpd
# systemctl enable httpd

Install PHP

Being TaskBoard written in PHP, we must install it. In particular, since it’s required PHP5+, we will install PHP7 by using the Webtatic repository.

First, install EPEL repository, which is required by Webtatic:

# yum install epel-release

Update:

# yum update

Now, it is possible to install the Webtatic repository, by executing the following commands:

# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# yum update

Once the repository is ready, and

yum

can use it, install PHP 7.1 and the extensions required by TaskBoard:

# yum install php71w php71w-gd php71w-json php71-readline php71w-cli php71w-sqlite3

Install SQLite

TaskBoard uses SQLite as database, which means that we can use it without having to install MySQL or other “big” databases.

SQLite can be installed with the following

yum

command:

# yum install sqlite

Install TaskBoard

TaskBoard installation is really easy, as we anticipated in the features list presented in the introduction. In fact, it just requires to download and extract the TaskBoard archive. Go to the Apache web root directory:

# cd /var/www

Here, download the archive:

# wget https://github.com/kiswa/TaskBoard/archive/master.zip

Unzip it:

# unzip master.zip
unzip

will extract the archive to a directory named

TaskBoard-master

. Rename it (although this is optional) :

# mv TaskBoard-master taskboard

Through Composer, install the required dependencies:

./taskboard/build/composer.phar install

Next, change the

taskboard

owner to the

apache

user:

# chown -R apache:apache /var/www/taskboard

Create a Virtual Host

Create a new Virtual Host file for TaskBoard:

# $EDITOR /etc/httpd/conf.d/board.example.com.conf

In this file, paste the following content:

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

Restart Apache:

# systemctl restart httpd

Finishing Installation

Last step is to finish installation through a web browser.  Go to the URL

http://board.example.com

.

Log in using admin as both username and password. Once you are logged in, change the administrator password, by going in the Settings page.

Conclusion

We have seen how to install TaskBoard on CentOS 7. This Kanban-based application will surely help many people in organizing their projects workflow.