Are you looking for a powerful and efficient tool to keep your tasks organized and boost your productivity? Look no further than WeKan, a completely free and open-source collaborative kanban board application with an MIT license. Whether you’re managing personal to-do lists, planning a group project, or working on the next big idea with your team, WeKan’s kanban boards provide a visual overview of your project’s progress and help you focus on what matters most. In this article, we’ll guide you through the process of installing WeKan on AlmaLinux 9, a reliable and secure Linux distribution. So, let’s get started!
Prerequisites
Before we dive into the installation process, here’s what you’ll need:
- A system with AlmaLinux 9 installed and running.
- Root access to the system.
- 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.
Once you have these prerequisites in place, we can proceed with the installation and configuration of WeKan.
Step 1: Install snapd
The first step is to install snapd, a package manager for Linux distributions. To install snapd on AlmaLinux 9, open a terminal and run the following command:
yum install snapd
Once the installation is complete, enable and start the snapd.socket service using the following command:
systemctl enable --now snapd.socket
Next, create a symbolic link to the /snap directory by running the following command:
ln -s /var/lib/snapd/snap/snap
With snapd installed and configured, we can now proceed to install Let’s Encrypt SSL certificate for the domain.
Step 2: Install Let’s Encrypt SSL Certificate
Securing your WeKan installation with an SSL certificate is essential for protecting sensitive data and ensuring a secure connection. To obtain an SSL certificate from Let’s Encrypt, you’ll need to install the EPEL repository and the modssl package. Open a terminal and run the following command to install the EPEL repository and the modssl package:
dnf install epel-release mod_ssl -y
Once the installation is complete, install the certbot client, which is used to create Let’s Encrypt certificates:
dnf install python3-certbot-nginx -y
With the necessary dependencies installed, we can now issue the SSL certificate for your domain. Replace dev4.domainhere.info
and dev@dev4.domainhere.info
in the command below with your domain name and email address:
certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email dev@dev4.domainhere.info -d dev4.domainhere.info
The SSL certificate will be issued, and you’ll be prompted to configure your Nginx server blocks. Follow the prompts and make any necessary changes to the configuration.
Step 3: Configure Nginx Reverse Proxy
To ensure smooth and secure access to WeKan, we need to configure Nginx as a reverse proxy. Open the Nginx configuration file using your preferred text editor. In this example, we’ll use nano:
nano /etc/nginx/nginx.conf
In the nginx.conf file, locate the http
section, and add 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 by Ctrl+X
.
Next, create a new Nginx configuration file for your domain:
vi /etc/nginx/conf.d/dev.conf
In the newly created dev.conf
file, add the following code:
Replace dev.domainhere.info and 192.169.7.180 with Your Domain Name & IP Address also Change SSL Path according to your SSL Path. 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 # The host name to respond to 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
, typing :wq!
, and pressing Enter
.
Now, restart Nginx to apply the changes:
systemctl restart nginx
To ensure proper connectivity, run the following command if you have SELinux enabled:
setsebool -P httpd_can_network_connect 1
With Nginx configured as a reverse proxy, we can now proceed to enable HTTP and HTTPS connections through the firewall.
Step 4: Enable HTTP and HTTPS Connections
To enable HTTP (port 80), HTTPS (port 443), and WeKan’s default port (3001) through the firewall, run 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
With the firewall rules updated, we’re ready to install WeKan using Snapd.
Step 5: Install WeKan using Snapd
To install WeKan, we’ll use Snapd, a package manager for Linux distributions. Open a terminal and run the following command:
snap install wekan
Once the installation is complete, we need to configure WeKan with the appropriate settings. Run the following commands to set the root URL and the port for WeKan:
snapset wekan root-url="https://dev.domainhere.info" snapset wekan port='3001'
Next, restart the MongoDB and WeKan services:
systemctl restart snap.wekan.mongodb systemctl restart snap.wekan.wekan
With WeKan successfully installed and configured, let’s move on to accessing it.
Step 6: Accessing WeKan
To access WeKan, open your web browser and enter the IP address or domain name configured on your server. For example, if your domain is dev.domainhere.info
, enter https://dev.domainhere.info/sign-in
in your browser’s address bar.
You’ll be redirected to the WeKan sign-in page, where you can create an account or log in if you already have one. Once logged in, you can start using WeKan’s powerful kanban boards to organize your tasks and collaborate with your team.
Congratulations! You have successfully installed WeKan with the LEMP stack on AlmaLinux 9. Now you can enjoy the benefits of a visual project management tool that will enhance your productivity and help you stay organized.
If you’re looking for reliable and scalable cloud hosting solutions, Shape.host is here to help. With our Cloud VPS services, you can easily deploy and manage your applications, ensuring high performance and maximum uptime. Visit Shape.host today to explore our hosting options and take your business to new heights.