WeKan, an open-source collaborative kanban board application, is a powerful tool for keeping your tasks organized and increasing your productivity. Whether you’re managing personal to-do lists, planning projects with your team, or organizing your holiday plans, WeKan’s visual overview and intuitive interface make it easy to stay on top of your tasks. In this article, we will guide you through the process of installing WeKan on Rocky Linux 9 using the LEMP stack. So, let’s get started!
Prerequisites
Before we begin the installation process, make sure you have the following prerequisites in place:
- A system running Rocky Linux 9 with root access.
- LEMP stack (Nginx, MariaDB, and PHP) installed and configured on your system. If you haven’t set up the LEMP stack yet, you can refer to our comprehensive guide on installing the LEMP stack.
Once you have fulfilled these prerequisites, we can proceed with the installation and configuration of WeKan.
Installing snapd
The first step is to install snapd, which is required to install WeKan. You can install snapd by following these commands:
dnf install snapd systemctl enable --now snapd.socket ln -s /var/lib/snapd/snap/snap
Installing Let’s Encrypt SSL Certificate
To secure your WeKan installation with an SSL certificate, we will use Let’s Encrypt. Follow these steps to install the certificate:
- Install the EPEL repository and mod_ssl package by running the following command:
dnf install epel-release mod_ssl -y
- Next, install the certbot client, which is used to create Let’s Encrypt certificates:
dnf install python3-certbot-nginx -y
- Once the installation is complete, issue a Let’s Encrypt SSL certificate by running the following command:
certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email dev@dev.domainhere.info -d dev.domainhere.info
Note: Make sure to replace dev.domainhere.info
and dev@dev.domainhere.info
with your actual domain name and email address.
The SSL certificate is now installed and will be automatically renewed every 90 days.
Configuring Nginx Reverse Proxy
To configure Nginx as a reverse proxy for WeKan, follow these steps:
- Open the
nginx.conf
file using your preferred text editor:
nano /etc/nginx/nginx.conf
- Replace the contents of the file with the following code:
# For more information on configuration, see: # * Official English Documentation: http://nginx.org/en/docs/ # * Official Russian Documentation: http://nginx.org/ru/docs/ 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; }
- Save and exit the file by pressing
Ctrl+O
, followed byCtrl+X
. - Create a new Nginx configuration file for your domain:
vi /etc/nginx/conf.d/dev.conf
- Add the following code to the newly created
dev.conf
file:
upstream app { server 192.169.7.180:3001; } server { listen 80 default_server; server_name dev.domainhere.info; return 301 https://$server_name$request_uri; } server { listen 443 ssl; # managed by Certbot server_name dev.domainhere.info; ssl_certificate /etc/letsencrypt/live/dev.domainhere.info/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/dev.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; } }
- Save and exit the file by pressing
Esc
, followed by:wq!
andEnter
. - 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_connect 1
Enabling HTTP and HTTPS Connections
To enable HTTP and HTTPS connections through the firewall, execute the following commands:
firewall-cmd --zone=public --permanent --add-port80/tcp firewall-cmd --zone=public --permanent --add-port443/tcp firewall-cmd --zone=public --permanent --add-port3001/tcp firewall-cmd --reload
Installing WeKan using Snapd
Now it’s time to install WeKan using Snapd. Follow these steps:
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
To access WeKan, open your browser and enter the IP address or domain name you configured for the server. For example:
https://dev.domainhere.info/sign-in
Replace dev.domainhere.info
with your actual IP address or domain name.
Once you access the WeKan interface, you will be prompted to enter the database details that were configured earlier. Follow the on-screen instructions to complete the setup.
Congratulations! You have successfully installed WeKan with the LEMP stack on Rocky Linux 9. Enjoy the benefits of a powerful kanban board application for organizing your tasks and projects.
For reliable and scalable cloud hosting solutions, check out Shape.host. They offer Cloud VPS services with excellent performance and 24/7 in-house customer support. Shape.host is your trusted partner for all your hosting needs.