ManagedCloud Servers

High performance handled and monitored by us 24/7/365. A complete solution to provide you with our in house expertise 24/7 tailored to your specific needs. We'll setup a bespoke server for your site using the latest tehnologies so you can get the most out of your hardware and get your website loading quickly and reliably. Find out more..

cPanelCloud Servers

Recommended - High performance cloud servers with no technical knowledge required. If you're hosting multiple websites already and you're looking to consolidate, or if you're looking to isolate yourself from the shared hosting environment but you don't have the time or knoweldge to manage a server, then the Managed cPanel Servers are for you. Find out more..

UnmanagedCloud Servers

Our unmanaged range gives you complete control at rock bottom prices and our cloud platform boasts super fast multipath 40Gb/s network, the latest Intel Xeon V3 CPUs and enterprise grade redundant SSDs. If you're a sysadmin look no further, we offer some of the best specification to price ratio servers available. Find out more..

Want your very own server? Get our 1GB memory, Xeon V4, 20GB SSD VPS for £10.00 / month.

View Plans

How to Install Kanboard on CentOS 7

Kanboard is a free and open source project management tool and it uses the kanban methodology for this. Kanboard focuses on simplicity and minimalism and it is mainly designed for small teams. Kanboard helps you to manage your projects and visualize your workflow. By using the kanboard you can limit the number of task that are under in progress.

This guide will help you to install the kanboard software on your CentOS 7 server.

Requirements

Kanboard does not require any special kind of hardware all you'll need is CentOS 7 server installed on your system and a user with root privileges.

It is recommended that you update your system before going through the installation process and to do so please run below given command.

yum -y update

Installing the Apache Web Server

Once the system is updated, you can install the dependencies required. To install kanboard you will need to install the Apache web server along with MaraiDB and PHP with a few extensions.

Run the following command to install the Apache web server.

yum -y install httpd

Now you can start Apache and enable it to start at boot time, using the following commands.

systemctl start httpd.service systemctl enable httpd.service

You can check the status of Apache web server using the following command.

systemctl status httpd

You should see the following output:

[root@ip-172-31-14-223 ~]# systemctl start httpd.service
[root@ip-172-31-14-223 ~]# systemctl enable httpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@ip-172-31-14-223 ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2017-01-30 09:53:26 UTC; 23s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 10541 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─10541 /usr/sbin/httpd -DFOREGROUND
           ├─10542 /usr/sbin/httpd -DFOREGROUND
           ├─10543 /usr/sbin/httpd -DFOREGROUND
           ├─10544 /usr/sbin/httpd -DFOREGROUND
           ├─10545 /usr/sbin/httpd -DFOREGROUND
           └─10546 /usr/sbin/httpd -DFOREGROUND

Jan 30 09:53:26 ip-172-31-14-223 systemd[1]: Starting The Apache HTTP Server... Jan 30 09:53:26 ip-172-31-14-223 systemd[1]: Started The Apache HTTP Server.

We will need to install MariaDB for database purposes. MariaDB 5.5 is shipped in the default CentOS 7 repository, so just run this command to install MariaDB.

yum install mariadb-server

Now you'll have to start the MariaDB service and enable it to start at the boot time, to do so please run following command.

systemctl start mariadb.service systemctl enable mariadb.service

You can check status of mariadb using this command and you should see following output.

systemctl status mariadb.service
[root@ip-172-31-14-223 ~]# systemctl status mariadb.service
● mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2017-01-30 09:54:59 UTC; 36s ago
 Main PID: 10691 (mysqld_safe)
   CGroup: /system.slice/mariadb.service
           ├─10691 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
           └─10848 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr...

Jan 30 09:54:57 ip-172-31-14-223 mariadb-prepare-db-dir[10612]: The latest information about Ma.... Jan 30 09:54:57 ip-172-31-14-223 mariadb-prepare-db-dir[10612]: You can find additional informa...: Jan 30 09:54:57 ip-172-31-14-223 mariadb-prepare-db-dir[10612]: http://dev.mysql.com Jan 30 09:54:57 ip-172-31-14-223 mariadb-prepare-db-dir[10612]: Support MariaDB development by ...B Jan 30 09:54:57 ip-172-31-14-223 mariadb-prepare-db-dir[10612]: Corporation Ab. You can contact.... Jan 30 09:54:57 ip-172-31-14-223 mariadb-prepare-db-dir[10612]: Alternatively consider joining ...: Jan 30 09:54:57 ip-172-31-14-223 mariadb-prepare-db-dir[10612]: http://mariadb.com/kb/en/contri.../ Jan 30 09:54:57 ip-172-31-14-223 mysqld_safe[10691]: 170130 09:54:57 mysqld_safe Logging to '/...'. Jan 30 09:54:57 ip-172-31-14-223 mysqld_safe[10691]: 170130 09:54:57 mysqld_safe Starting mysq...ql Jan 30 09:54:59 ip-172-31-14-223 systemd[1]: Started MariaDB database server. Hint: Some lines were ellipsized, use -l to show in full.

We will need to make sure that this installation is secure and to do so run following command:

mysql_secure_installation

You'll be asked to provide the root password so enter the appropriate password and answer yes to all questions.

Now you'll have to create a database for kanboard please follow the instructions.

mysql -u root -p

You'll be asked to enter a password so simply enter a password and now execute the following queries to create a new database.

CREATE DATABASE kanboard;

The above query will create a database named kanboard. For the database you can use any name you prefer in the place of kanboard. Make sure that you use semicolon at the end of each query as a query always ends with a semicolon. Once the database is created you can create a new user and grant the required permissions to the user for the database.

CREATE USER 'kanboard_user'@'localhost' IDENTIFIED BY 'StrongPassword'; The above query will create a user with the username kanboard_user. You can use any preferred username instead of kanboard_user. Replace StrongPassword with a strong password.

Now provide the appropriate privileges to your database user for the database you have created. Run the following query to do so:

GRANT ALL PRIVILEGES ON kanboard.* TO 'kanboard_user'@'localhost';

Now run the following query to immediately apply the changes on the database privileges.

FLUSH PRIVILEGES;

Now you can exit from MySQL prompt using following command.

\q.

We will have to install PHP. To do so run following commands as shown below.

yum -y install epel release rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Now use this command to install PHP 7 and required extensions.

yum install php71w php71w-mysqlnd php71w-gd php71w-mbstring php71w-common php71w-ldap php71w-opcache php71w-cli -y

Installing Kanboard

First of all we recommend you to switch to the /var/www/html directory before downloading and installing kanboard, you can switch to this directory using this below given command.

cd /var/www/html

If in case you don't have wget and unzip package installed on your system then you can install them using this command.

yum -y install wget unzip

Now download the latest version of kanboard as shown below.

wget http://kanboard.net/kanboard-latest.zip

You'll have to unzip the file that you just downloaded so run following command to do so.

unzip kanboard-latest.zip

You'll need to change proper ownership and to do so run following command.

chown -R apache:apache kanboard/datarm kanboard-latest.zip

Next, copy the included config.default.php to config.php and change the database information by using these commands.

cd /var/www/html/kanboard mv config.default.php config.php

Now edit the config.php file using any text editor here we are using nano text editor if you want to install nano text editor you can install it using yum -y install nano

nano config.php

In the config.php file please find these following lines.

// Database driver: sqlite, mysql or postgres (sqlite by default)
define('DB_DRIVER', 'sqlite');

// Mysql/Postgres username define('DB_USERNAME', 'root');

// Mysql/Postgres password define('DB_PASSWORD', '');

// Mysql/Postgres hostname define('DB_HOSTNAME', 'localhost');

// Mysql/Postgres database name define('DB_NAME', 'kanboard');

Now change these lines to as shown below configuration then save and exit.

// Database driver: sqlite, mysql or postgres (sqlite by default)
define('DB_DRIVER', 'mysql');

// Mysql/Postgres username define('DB_USERNAME', 'kanboard_user');

// Mysql/Postgres password define('DB_PASSWORD', 'Your Strong password');

// Mysql/Postgres hostname define('DB_HOSTNAME', 'localhost');

// Mysql/Postgres database name define('DB_NAME', 'kanboard');

Now you'll have to restart your apache web server to implement these rules so you can restart apache server using this command.

systemctl restart httpd.service

You'll need to configure your firewall rules and if in case you don't have firewall installed on your system then you can install it using this command.

yum -y install firewalld

Now start it using systemctl start firewalld

You can check the status of the firewall services using this command:

systemctl status firewalld

You should see following output on your screen:

[root@ip-172-31-14-223 kanboard]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2017-01-30 10:15:18 UTC; 12s ago
     Docs: man:firewalld(1)
 Main PID: 11234 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─11234 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Jan 30 10:15:18 ip-172-31-14-223 systemd[1]: Starting firewalld - dynamic firewall daemon... Jan 30 10:15:18 ip-172-31-14-223 systemd[1]: Started firewalld - dynamic firewall daemon. [root@ip-172-31-14-223 kanboard]#

Now please run these commands to change the configuration rules as shown below.

firewall-cmd --zone=public --permanent --add-service=http firewall-cmd --reload

Finally open up your favorite web browser and visit http://yourserverIP/kanboard and you'll see a login page. Please use admin as both the username and password.

Please provide a username and password and finally click on the Sign in buttonl You'll see a kanboard dashboard now you can manage your projects and you can find many useful features on the dashboard.

Conclusion

In this tutorial we have learned how to install Kanboard on CentOS 7 and now you can manage your projects and visualize your workflow.

Want your very own server? Get our 1GB memory, Xeon V4, 20GB SSD VPS for £10.00 / month.

View Plans