In this tutorial, we will be installing Wekan and Snap on a CentOS 7 VPS.

Wekan is a web-based kanban board application that provides task distribution using intuitive graphics for better and modern team collaboration. Wekan makes use of what they call ‘Board’ from which you can add your team members. Added members can be assigned on a ‘Card’ which is simply a card-like interface that contains the details about a task.

This basic concept of ‘Board’ and ‘Cards’ make the arrangement of tasks effortless to perform since team members can see what the overall progress of the team is with regards of work to be done, work that’s currently being done, and any work that’s already done which in return increases the productivity of the team.

Wekan almost provides the same features of Trello, with some advantages:

  • Source code is fully open-source
  • Source code is reviewed by security researchers
  • Powered by mainstream web technologies e.g. Nginx, Node JS, and MongoDB
  • No monthly subscription payment fees
  • Can be hosted on your own server
  • Can be used in a private or local network
  • Continues releases and bug fixes from maintainers

For installation, Wekan uses Snap, which is simply a packaging software for cross-platform and dependency-free installation.

Wekan is administered under the MIT License and is currently supported by Wekan Team under its maintainer under the name of  ‘xet7’.

This is a step-by-step instruction on how to get your Wekan application running in no time. First, let’s start with the server requirements.

Prerequisites

Before setting up a Wekan application, we recommend using a server with a fresh install of CentOS 7 Server that meets the following basic requirements:

Basic Requirements:

  • 64-bit CPU
  • 1 GB of free RAM for development and 4 GB of free RAM for a production environment
  • Server with newly installed CentOS 7
  • An account with root privileges, or access to the root user itself
  • Domain name pointing to server’s public IP address

Step 1: Installing Updates and Dependencies

Access your public server via SSH through your favorite terminal using:

ssh [email protected]IP_address -p Port_number

Make sure that IP_address and Port_number are set to your server’s IP address and SSH port number. Additionally, replace ‘root’ with the username of the account that has sudo privileges if necessary.

Once logged in, it is best to check for package updates on the repositories available.

yum update -y

We also recommend installing the EPEL release repository and the basic development libraries to stand clear of any missing libraries in the future.

yum install epel-release -y
yum groupinstall -y "Development Tools"

Step 2: Installing Snap

The latest version and future versions of Wekan will be created using Snap package framework for easier installation on different platforms. Since the Snap package is not officially available with CentOS 7, we will need to install and enable COPR – a lightweight build system for installing third-party repositories.

To proceed with the Snap installation, execute the following commands one by one:

yum makecache fast
yum install yum-plugin-copr
yum copr enable ngompa/snapcore-el7
yum install snapd

Once the Snap package is installed, we can now enable the snapd.socket service:

systemctl enable --now snapd.socket

Step 3: Installing Wekan

After a successful installation of the Snap package, we can now install Wekan using just one line:

snap install wekan

If the installation was a success, you should see the following output:

wekan 2.65 from Lauri Ojansivu (xet7) installed

Step 4: Setting Up Wekan

Since Wekan has been installed using Snap, we can use its built-in CLI to modify some of Wekan’s basic settings.

First would be the domain name. Set the domain name using the following command. Make sure to replace your_domain.com with your actual registered domain name.

snap set wekan root-url="http://wekan.your_domain.com"

It is required to assign a port on our Wekan installation. You may use any port that is available and in range.

snap set wekan port='3001'

Next step is to set up the email server for SMTP connections. It is recommended to be set up properly since it is required when registering and for a password reset.

snap set wekan mail-url='smtps://user:[email protected]:453'
snap set wekan mail-from='Wekan Boards <[email protected]>'

You can check other email configurations available for Wekan here.

Once all the basic configurations are updated, we can now restart our Snap – Wekan service to apply the changes.

systemctl restart snap.wekan.wekan

Step 5: Accessing Wekan

Once the service has been restarted, we can now access the login page by visiting the following link:

http://[server_IP_address]:[port_assigned]

You should see the login page which looks like this:

Currently, there is no default ‘username’ and ‘password’ for the Administrator account and registration should be done first.

Note that the first account to be registered will be automatically assigned with the Administrator role.

Once logged in, you should be able to see Wekan’s default dashboard interface which looks like the following image:

Step 6: Setting Up Wekan with an Nginx Reverse Proxy

Since our Wekan application is running on a port, we can set up a reverse proxy using Nginx web server to host our application directly on our desired domain or subdomain without needing to enter a port number.

First, install the Nginx web server by using the command:

yum -y install nginx

Once properly installed, create the Wekan virtual host file and paste the following text using your preferred text editor. Do not forget to modify the variables accordingly.

nano /etc/nginx/conf.d/wekan.conf
server {
	listen 80;
        server_name your_domain.com;
    
        location / {
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   Host      $host;
            proxy_http_version 1.1;
            proxy_set_header   Upgrade $http_upgrade;
            proxy_set_header   Connection 'upgrade';
            proxy_cache_bypass $http_upgrade;
            proxy_pass         http://127.0.0.1:[port_assigned];
        }

        access_log /var/log/nginx/wekan-access.log;
        error_log /var/log/nginx/wekan-error.log;
}

Save and exit. Verify the Nginx configuration is correct by using:

nginx -t

Once everything is okay, restart Nginx and access your domain name using your preferred web browser.

systemctl restart nginx

You should now be able to see the login page of your freshly installed Wekan application.

That’s it! – you now have a Wekan application running on your CentOS 7 server.


 

Of course, you don’t have to install Wekan on CentOS 7 if you have a Managed CentOS VPS with us. In that case, you can simply ask our support team to install Wekan on CentOS 7 for you. They are available 24/7, and they will be able to help you with the installation.

PS. If you enjoyed reading this blog post on how to install Wekan on CentOS 7, feel free to share it on social networks by using the shortcuts below, or simply leave a comment in the comments section. Thank you.