WeKan is a powerful, open-source kanban board application that helps individuals and teams stay organized and productive. Whether you’re managing personal tasks or collaborating on projects, WeKan provides a visual overview of your progress and allows you to focus on the most important tasks. In this article, we will guide you through the process of installing WeKan on AlmaLinux 8 with the LEMP stack. By following these steps, you’ll be able to set up WeKan and leverage its capabilities to streamline your workflow.

Prerequisites

Before we begin the installation process, let’s ensure that you have the necessary prerequisites:

  1. A system with AlmaLinux 8 installed and running.
  2. Root access to the system.
  3. The LEMP stack (Nginx, MariaDB, and PHP) installed and running. If you haven’t set up the LEMP stack yet, refer to our comprehensive guide on installing the LEMP stack for detailed instructions.

Step 1: Install snapd

The first step is to install snapd, which is required to install WeKan. Open your terminal and enter the following commands:

yum install snapd
systemctl enable --now snapd.socket
ln -s /var/lib/snapd/snap/snap

Step 2: Install Let’s Encrypt SSL Certificate

To secure your WeKan installation with an SSL certificate, you’ll need to issue a Let’s Encrypt certificate. Here’s how you can do it:

  1. Install the EPEL repository and the mod_ssl package by running the command:
dnf install epel-release mod_ssl -y
  1. Install the certbot client, which is used to create Let’s Encrypt certificates:
dnf install python3-certbot-nginx -y
  1. Use the certbot command to issue a Let’s Encrypt certificate. Replace dev4.domainhere.info and dev@dev4.domainhere.info with your own domain name and email:
certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email dev@dev4.domainhere.info -d dev4.domainhere.info

Please note that Let’s Encrypt certificates are valid for 90 days, and the renewal process is automated.

Step 3: Configure Nginx Reverse Proxy

Next, we need to configure Nginx as a reverse proxy for WeKan. Follow these steps:

  1. Open the nginx.conf file in your preferred text editor:
nano /etc/nginx/nginx.conf
  1. Replace the existing content with the following configuration:
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/user

nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
 worker_connections 1024;
}

http {
 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
 '$status $body_bytes_sent "$http_referer" '
 '"$http_user_agent" "$http_x_forwarded_for"';

 access_log /var/log/nginx/access.log main;

 sendfile on;
 tcp_nopush on;
 tcp_nodelay on;
 keepalive_timeout 65;
 types_hash_max_size 2048;

 include /etc/nginx/mime.types;
 default_type application/octet-stream;

 # Load modular configuration files from the /etc/nginx/conf.d directory.
 # See http://nginx.org/en/docs/ngx_core_module.html#include
 # for more information.
 include /etc/nginx/conf.d/*.conf;
}
  1. Save and exit the file by pressing Ctrl+O followed by Ctrl+X.
  2. Create a new Nginx configuration file for your domain:
vi /etc/nginx/conf.d/dev4.conf
  1. Add the following code to the dev4.conf file. Remember to replace dev.domainhere.info and 192.169.7.180 with your own domain name and IP address, respectively. Also, update the SSL paths according to your SSL configuration:
upstream app {
server 192.169.7.180:3001;
}

server {
listen 80 default_server;
server_name dev4.domainhere.info;
return 301 https://$server_name$request_uri;
}

server {
listen 443 ssl; # managed by Certbot
server_name dev4.domainhere.info;

ssl_certificate /etc/letsencrypt/live/dev4.domainhere.info/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/dev4.domainhere.info/privkey.pem; # managed by Certbot

include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

location / {
proxy_pass http://app;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Real-Port $server_port;
proxy_set_header X-Real-Scheme $scheme;
}
}
  1. Save and exit the file by pressing Esc, typing :wq!, and pressing Enter.
  2. Restart Nginx to apply the changes:
systemctl restart nginx
systemctl status nginx

If you have SELinux enabled, run the following command to allow Nginx to connect to the network:

setsebool -P httpd_can_network_connect1

Step 4: Enable HTTP and HTTPS (80/443/3001)

To enable HTTP and HTTPS connections through the firewall, execute the following commands:

firewall-cmd --zone=public --permanent --add-port 80/tcp
firewall-cmd --zone=public --permanent --add-port 443/tcp
firewall-cmd --zone=public --permanent --add-port 3001/tcp
firewall-cmd --reload

Step 5: Install WeKan using Snapd

Finally, it’s time to install WeKan using Snapd. Run the following commands:

snap install wekan
snap set wekan root-url="https://dev4.domainhere.info"
snap set wekan port='3001'
systemctl restart snap.wekan.mongodb
systemctl restart snap.wekan.wekan

Accessing WeKan

Now that you have successfully installed WeKan with the LEMP stack on AlmaLinux 8, you can access it by opening your browser and entering the IP address or domain name configured on the server. For example, if your domain is dev.domainhere.info, enter https://dev.domainhere.info/sign-in in your browser’s address bar.

Conclusion

In this article, we have walked you through the step-by-step process of installing WeKan with the LEMP stack on AlmaLinux 8. By following these instructions, you can leverage the power of WeKan to stay organized and increase productivity in your personal and team projects. Remember to regularly update and maintain your WeKan installation for the best performance and security.

If you need reliable and scalable cloud hosting solutions, consider Shape.host’s Cloud VPS services. Shape.host provides industry-leading cloud hosting services with exceptional customer support. With Shape.host, you can trust that your websites and applications are in capable hands.