Kanboard Configurations and Deployment
Kanboard is a project management software. It is open source and free to use. It helps you in visualizing your work and let you stay focused on your goal.
Join the DZone community and get the full member experience.Join For Free
Kanboard is a project management software. It is open-source and free to use. It helps you in visualizing your work and let you stay focused on your goal. It is self-hosted which means you can deploy it on Alibaba Cloud ECS. You can easily manage your tasks with easy drag and drop. Besides this, it supports a docker container. It has brief documentation in multiple languages.
Kanboard provides the user’s guide, administrator’s guide, developer’s guide, plugin development, and API guide. It will help you with customized development and learning of Kanboard. You can develop customized plugins for Kanboard and use its already built modules via API.
It supports multiple authentications like LDAP and OAuth2. It supports more than 30 languages. You can easily automate your workflow, break down tasks, add comments, documentation, due dates, and a lot more stuff which will be helpful in project management.
As a developer, I prefer the services of Alibaba Cloud ECS. Alibaba Elastic Compute (ECS) is highly scalable and flexible. You can upgrade the hardware resources anytime when required. Alibaba Cloud can also provide you technical support and assistance to launch any kind of system. For a more easy approach, you may consult Alibaba Cloud’s documentation and Alibaba Cloud official blog.
In this tutorial, I will be using Alibaba Cloud Elastic Compute Service (ECS) with Ubuntu 18.04 LTS. Working with a QR Code generator online is great to track data and have analytics. Now let’s start learning about installation, configurations, and deployment of Kanboard on Alibaba Cloud ECS.
- You must be registered with Alibaba Cloud.
- You must have added and verified your payment method.
- If you are a new user, after payment method verification you can claim free $450 - $1300 credits. You can register a new account and claim your free credits.
- To setup up your ECS for the first time, you can refer to this tutorial or quick-start guide.
- Domain registration is recommended for setting up the FQDN hostname of your server. But if you are willing to use the IP address directly, you may skip this.
- If you have registered domain with any 3rd party, you may transfer into Alibaba Cloud.
- If you are using the domain name, remember to point your domain name to the IP address of your server.
- You should set up your server’s hostname.
- Access to VNC console in your Alibaba Cloud or SSH client installed on your PC.
- Login as root user and create a user with root privileges.
As we are using Ubuntu 18.04 LTS, I will recommend you use ECS with the following specifications:
- 2 Core Processor recommended, but you may use 1 Core as well.
- 4 GB RAM (Because Ubuntu installation consumes almost 95% of 2 GB RAM).
Update Your Ubuntu System
Before proceeding with the installation of any kind of package, use the following command to update your Ubuntu system. It will update all deprecated repositories and packages. To execute this command, remember to login from non-root user with Sudo privileges. After execution of this command, you will be prompted to Is this ok? Type ‘Y’ and hit Enter key.
$ sudo apt update && sudo apt upgrade
We will be fetching repository for Kanboard from Github, hence, Git has to be installed first. To install git, execute the command below.
$ sudo apt install -y git
Now system reboot is recommended, and you may skip this step because it is optional.
$ sudo reboot
After installation, we will require to edit the configuration file for Kanboard for which a text editor will be required. You can use Vim if you want, otherwise, we will be using a nano text editor. You can install it by executing the command below.
$ sudo apt install nano
Install Apache Server
Kanboard supports the Caddy server, Microsoft IIS, Nginx, and Apache HTTP server. In this tutorial, we will be installing an Apache server for Kanboard. But if you have the experience to set up any other server, you may adopt it. To install the apache server, execute the command below.
$ sudo apt install apache2 -y
Remember to enable and start installed the apache service. Enabling will automatically start apache service on system reboot.
$ sudo systemctl enable --now apache2.service
Install MariaDB Server
Kanboard uses SQLite to store its data by default. However, it supports MySQL >= 5.6, MariaDB => 10 and PostgreSQL >= 9.3. SQLite is recommended if you are setting Kanboard for a single user or small team. But if you are setting it up for the bigger team, officially MySQL and PostgreSQL are for bigger teams, however, PostgreSQL is recommended. In this tutorial, we will be installing the MariaDB server for MySQL. To install MariaDB client and server, execute the following command.
$ sudo apt install -y mariadb-server mariadb-client
Remember to start and enable MariaDB service. Enabling MariaDB service will automatically restart MariaDB on system reboot.
$ sudo systemctl enable --now mariadb.service
Now secure your installation by executing the command below to setup a password and configure other default values.
$ sudo mysql_secure_installation
When you execute the above command, you will be asked to enter a password. Hit Enter key without typing anything because by default password is blank. After it, type Y and hit enter key to setup password.
Kanboard supports at least PHP7.2. But the latest version of PHP is recommended. In this tutorial, we will be installing PHP7.2 along with required extensions that are:
Now navigate to /var/www/html directory.
$ cd /var/www/html
Clone Kanboard from the git repository using the following command.
$ sudo git clone https://github.com/kanboard/kanboard.git
Give ownership rights to apache user which is www-data by default using the command below.
$ sudo chown -R www-data:www-data kanboard/data
Setup Kanboard Database
Step 1: Create a Database
Create a database named Kanboard by executing the command:
$ mysql -u root -p -e "CREATE DATABASE kanboard;"
Step 2: Import SQL Script
Now import Kanboard SQL script from the installation directory to the MariaDB server by executing the command below.
Step 3: Create a User
Now create a user for the Kanboard database and setup a password.
Step 4: Grant Privileges
Now you have a database and user, now assign the database to the user to grant privileges and flush the privileges to reload.
Navigate to Kanboard installation /var/www/html/kanboard
$ cd /var/www/html/kanboard
Rename default config file by using the command below.
$ sudo mv config.default.php config.php
Open it for editing.
$ nano config.php
Find the following default configurations.
Modify them as shown below and save them.
Now restart the apache service.
$ sudo systemctl restart apache2.service
Remember to change them from user management.
Setup Zend OpCache
This step is optional. However, you can achieve the best performance for the Kanboard server by adjusting the settings of Zend OpCache which is enabled by default.
Open the file.
$ Sudo nano /etc/php/7.2/apache2/conf.d/10-opcache.ini
Modify the information as shown below.
Now restart the apache server.
$ systemctl restart apache2
Setup Cron Job for Analytics and Reports
To generate accurate reports, you will need to set up a daily cron job using a www-data user. QR Code generator online is great to track data and have analytics
Execute the following command to a setup cron job.
$ sudo crontab -u www-data -e
Add the following cronjob in a file and save it.
0 5 * * * cd /var/www/html/kanboard && ./cli cronjob
With this cron job, all of the reports and analytics will be updated at 5:00 AM every day.
Here you go, you have completed the installation and configuration of Kanboard on Alibaba Cloud ECS.
Published at DZone with permission of Arslan ud Din Shafiq, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.