How I Built My Home Lab Using Open Source: CentOS Web Panel + AlmaLinux 8
How I Built My Home Lab Using Open Source: CentOS Web Panel + AlmaLinux 8
Introduction
Building a home lab is one of the most rewarding ways to learn IT, test new ideas, and host your own applications securely and privately. In this article, I’ll show you how I created my own home lab using AlmaLinux 8 and CentOS Web Panel (CWP)—all with free, open source software.
Why AlmaLinux 8 and CentOS Web Panel?
- AlmaLinux 8: 100% open-source, binary-compatible with RHEL 8, stable and community-driven.
- CentOS Web Panel (CWP): Powerful web-based server control panel for managing web hosting, emails, databases, firewalls, and more.
Requirements
- A physical or virtual server (2+ CPU, 4GB+ RAM recommended)
- AlmaLinux 8 ISO (or cloud instance)
- Static IP and root SSH access
- Basic understanding of Linux CLI
Step 1: Install AlmaLinux 8
- Download the latest AlmaLinux 8 ISO from almalinux.org.
- Write the ISO to a USB stick (use
balenaEtcher
ordd
). - Boot your server, follow the graphical installer, and create a user with
sudo
privileges. - Set a static IP address during install or afterwards in
/etc/sysconfig/network-scripts/
or withnmtui
.
Step 2: Secure and Update Your System
sudo dnf update -y
sudo dnf install -y epel-release vim bash-completion wget curl
sudo systemctl enable firewalld --now
Step 3: Configure Hostname and Hosts File
sudo hostnamectl set-hostname server.lab.local
echo "192.168.1.100 server.lab.local" | sudo tee -a /etc/hosts
Step 4: Install CentOS Web Panel (CWP)
-
- Disable SELinux for installation (you can re-enable later if needed):
sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
sudo setenforce 0
-
- Reboot if you changed SELinux:
sudo reboot
-
- Install CWP:
wget http://centos-webpanel.com/cwp-el8-latest
sudo sh cwp-el8-latest
- Follow the on-screen instructions. At the end, CWP will display your login URL and credentials (usually
http://your-ip:2030
orhttps://your-ip:2031
).
Step 5: Initial CWP Configuration
- Login to the CWP admin panel in your browser using the provided details.
- Secure your panel: change admin password, set up SSL, and enable
firewalld
rules from the GUI. - Set up your first web user, domain, and email account as desired.
Step 6: Expand and Experiment!
- Try deploying websites with Apache, NGINX, or PHP-FPM.
- Configure MariaDB/MySQL, mail servers, DNS zones, or install extra modules (Node.js, Python, Docker).
- Snapshot your VM and break things! You learn best by experimenting and restoring.
Tips & Best Practices
- Always backup your CWP and databases before major changes.
- Keep your system updated:
sudo dnf update
- Limit SSH access to your LAN or VPN for extra security.
- Consider using CWP’s built-in Let’s Encrypt for free SSL.
Conclusion
Setting up a home lab with open source tools like AlmaLinux 8 and CentOS Web Panel is not only cost-effective, but also gives you control, privacy, and a powerful learning environment. Whether you’re building for fun, career, or real projects, open source gives you the freedom to experiment and grow.
If you enjoyed this guide, check out more Linux tutorials on Holhol24!