How to Setup Kanboard Project Management Server on Azure/AWS/GCP

To setup and install Kanboard open source project management server solution in the cloud on Azure, AWS or GCP – use the image available in the cloud marketplace.

 

Kanboard is an open source, self hosted project management platform based on the LAMP / LEMP stack that helps users create and manage project work-flow using the Kanban methodology. Kanban boards use Card, Column, Swimlanes, and WIP Limits to enable teams to visualize and manage their workflows effectively.

Table of Contents

Getting Started with Kanboard

Once your Kanboard Project Management server has been deployed, the following links explain how to connect to a Linux VM:

 

 

Once connected and logged in, the following section explains how to start using Kanboard.

Kanboard uses Apache Web Server, PHP and MariaDB which are already pre installed with our image. The first step we need to do is create a database for Kanboard to use. The next section explains how to do this:

Create a Database for Kanboard

Run the following commands to create a database and user that the Kanboard installation will use. Update with your chosen password:

				
					sudo mysql
				
			
				
					CREATE DATABASE kanboard;
CREATE USER 'kanboard'@'localhost' IDENTIFIED BY 'password';
				
			

Next, grant all the privileges to the database with the following command:

				
					GRANT ALL ON kanboard.* TO 'kanboard'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;
				
			

Setup PHP Options

Now we need to edit the PHP.ini file:

On Ubuntu

				
					sudo nano /etc/php/7.4/apache2/php.ini
				
			

On CentOS

				
					sudo nano /etc/php.ini
				
			

And change the following lines:

				
					file_uploads = On
allow_url_fopen = On
short_open_tag = On
memory_limit = 512M
upload_max_filesize = 150M
max_execution_time = 360
date.timezone = America/Chicago
				
			

Save and close the file, then restart the Apache service to apply the changes:

On Ubuntu Server

				
					sudo systemctl restart apache2
				
			

On CentOS Server

				
					sudo systemctl restart httpd
				
			

Setup Kanboard

The installation files for Kanboard are in the following Apache directory:

 

/var/www/html/kanboard-$version

 

Make a note of the version you have installed.

 

We now need to edit the Kanboard default configuration file with the database details we created earlier. Run the following command, depending on the version you have installed, you may need to edit this to match the installed version, for example:

				
					cd /var/www/html/kanboard-1.2.20
				
			

Next, edit the default configuration file with the following command:

				
					sudo cp config.default.php config.php
				
			
				
					sudo nano config.php
				
			

Define your database settings as shown below, and ensure you overwrite the default entries in config.php:

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

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

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

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

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

Save and close the file, then update the permissions to Kanboard directory:

				
					sudo chmod -R 755 /var/www/html/kanboard-1.2.20
				
			

Configure Apache for Kanboard

We now need to setup Apache to host the Kanboard web portal. First create an Apache virtual host configuration file by running the following command:

On Ubuntu

				
					sudo nano /etc/apache2/sites-available/kanboard.conf
				
			

On CentOS

				
					sudo nano /etc/httpd/sites-available/kanboard.conf

				
			

Add the following lines.

 

Under ServerName, add your domain name you would like to use for accessing Kanboard. Or alternatively you can add an IP address.

 

Also make sure the Directory and DocumentRoot is the correct path, depending on the version you have installed:

On Ubuntu

				
					<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/kanboard-1.2.20
ServerName your-domain.com

<Directory /var/www/html/kanboard-1.2.20/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
				
			

On CentOS

				
					<VirtualHost *:80>
     ServerAdmin admin@example.com
     DocumentRoot /var/www/html/kanboard-1.2.20
     ServerName yourdomain.com
     ServerAlias www.yourdomain.com
     <Directory /var/www/html/kanboard-1.2.20/>
	  Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog /var/log/httpd/kanboard_error.log
     CustomLog /var/log/httpd/kanboard_access.log combined
</VirtualHost>
				
			

Save and close the file, then activate the virtual host and enable the Apache rewrite module

On Ubuntu

				
					sudo a2ensite kanboard.conf
sudo a2enmod rewrite
				
			

On CentOS

				
					sudo ln -s /etc/httpd/sites-available/kanboard.conf /etc/httpd/sites-enabled/kanboard.conf
				
			

Now restart Apache services:

On Ubuntu

				
					sudo systemctl restart apache2
				
			

On CentOS

				
					sudo systemctl restart httpd
				
			

Access the Kanboard Web Portal

Now you should be ready to access the Kanboard web portal by browsing using the domain name or IP address of your server.

 

The default username and password is admin / admin

kanboard-login

You are now ready to start using Kanboard.

Kanboard Documentation / Support

For further documentation on using Kanboard and making further configuration changes, refer to the following administrator and user guides:

 

Administrator Guide

https://docs.kanboard.org/

 

User Guide

https://docs.kanboard.org/

 

Support Forum

https://kanboard.discourse.group/

 

If you have any issues with the installation please contact us or leave a comment below and we will get you up and running

Kanboard Firewall Ports

Kanboard uses the following firewall ports:

 

TCP 80

TCP 443

 

If you are using any of the cloud security groups and need to change / add ports refer to the following guides:

 

To setup AWS firewall rules refer to – AWS Security Groups

To setup Azure firewall rules refer to – Azure Network Security Groups

To setup Google GCP firewall rules refer to – Creating GCP Firewalls

Disclaimer: Kanboard is made available under an MIT license. No warrantee of any kind, express or implied, is included with this software. Use at your risk, responsibility for damages (if any) to anyone resulting from the use of this software rest entirely with the user. The author is not responsible for any damage that its use could cause.

Avatar for Andrew Fitzgerald
Andrew Fitzgerald

Cloud Solution Architect. Helping customers transform their business to the cloud. 20 years experience working in complex infrastructure environments and a Microsoft Certified Solutions Expert on everything Cloud.

0 0 votes
Article Rating
Subscribe
Notify of
0 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x