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:
- A system with AlmaLinux 8 installed and running.
- Root access to the system.
- 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:
- Install the EPEL repository and the mod_ssl package by running the command:
dnf install epel-release mod_ssl -y
- Install the certbot client, which is used to create Let’s Encrypt certificates:
dnf install python3-certbot-nginx -y
- Use the certbot command to issue a Let’s Encrypt certificate. Replace
dev4.domainhere.info
anddev@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:
- Open the
nginx.conf
file in your preferred text editor:
nano /etc/nginx/nginx.conf
- 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; }
- 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/dev4.conf
- Add the following code to the
dev4.conf
file. Remember to replacedev.domainhere.info
and192.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; } }
- Save and exit the file by pressing
Esc
, typing:wq!
, and pressingEnter
. - 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.