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/data
rm 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.
HP_NO_IMG/data/uploads/users/744ed2f1-2baa-42b2-b09d-ad15a2ae3934/923298445.png” alt=” ” />
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.
HP_NO_IMG/data/uploads/users/744ed2f1-2baa-42b2-b09d-ad15a2ae3934/1454734895.png” alt=” ” />
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.