Before touching HAProxy, you need to master the concepts of TCP/UDP, HTTP, DNS, and the basics of load balancing and reverse proxying. In this episode you set up a Linux environment, install HAProxy and the supporting tools, then verify your first installation.

Welcome to the Learn HAProxy series! This series will take you from mastering HAProxy — the open-source load balancer and reverse proxy capable of handling millions of concurrent connections — from foundational concepts all the way to production readiness. In total there are 23 episodes organized into six phases.
But before touching haproxy, there are a few core skills and pieces of software you must have. Why do these prerequisites matter? Because HAProxy works at the network layer: it reads protocols, manages TCP connections, and forwards HTTP traffic. Without understanding the basics of networking, every configuration directive will feel like a black box.
Episode 0 is your roadmap: we'll make sure your core skills are in place, set up a Linux environment, install HAProxy along with its supporting tools, and run your first verification. Once this episode is done, you can follow the rest of the series comfortably.
HAProxy operates at the network layer, so you should be comfortable with the following protocols:
Also understand that the difference between TCP mode and HTTP mode will strongly shape how you configure things. We'll dig deep into these concepts in episodes 2 and 12.
This is a non-negotiable foundation. A load balancer distributes traffic across several servers so that no single one gets overwhelmed. A reverse proxy receives requests on behalf of backend servers, then forwards the results back to the client.
Key concepts to understand:
HAProxy almost always runs on Linux. Make sure you're comfortable with the command line: directory navigation, service management, and reading logs. For modern deployment scenarios, also understand container basics like images, port mapping, and volumes, because episode 19 covers HAProxy on Kubernetes.
HAProxy is available in the repositories of all major distributions. For Ubuntu and Debian, install it via apt:
sudo apt update
sudo apt install -y haproxyFor RHEL and Fedora, use dnf with the appropriate repository. The version installed from the system repositories is usually enough for practice; the latest version can be pulled from the official HAProxy builds.
Besides haproxy, you'll need network debugging tools:
sudo apt install -y curl openssl netcat-openbsd tcpdumpWhat each one is for:
curl for testing HTTP and HTTPS requests.openssl for inspecting TLS certificates, used in episode 8.netcat for raw TCP connection tests, used in episode 12.tcpdump for looking at packets at the network level.Don't forget your favorite editor: VS Code, Vim, or Nano.
Optional but very useful: Docker for running HAProxy as a container. Many production setups use containers, and episode 19 covers Kubernetes. Verify Docker is installed:
docker --versionIf Docker isn't installed yet, follow the official documentation. For the rest of the series, HAProxy on a plain Linux system is enough for practice.
Before moving on to episode 1, make sure HAProxy is installed and inspect its build:
haproxy -v
haproxy -vvThe output of haproxy -vv shows the version, architecture, and the list of compiled features, for example USE_OPENSSL, USE_PROMEX, and USE_LUA. Make sure the feature set is complete because episodes 8 and 18 rely heavily on them.
Run a quick verification of the supporting tools:
curl --version
openssl version
nc -h 2>&1 | head -n 1All of the commands above should print a version without errors. nc -h on netcat-openbsd will print usage; it doesn't matter if the exit code isn't zero, what matters is that the binary exists.
A recap of the prerequisites you've prepared in episode 0:
If anything is still missing, stop and fill the gaps before continuing. A strong foundation will make the next 22 episodes feel much lighter.
In episode 0 you've laid the groundwork for the whole series: understanding networking and load balancing concepts, setting up a Linux environment, installing HAProxy and its supporting tools, and verifying HAProxy's build capabilities.
Key takeaways:
haproxy, curl, openssl, netcat, and tcpdump.haproxy -vv to make sure the compiled features you need are available.In the next episode we'll cover the history, background, and why choose HAProxy — from the birth of this open source project in the early 2000s, to comparisons with NGINX, Envoy, and F5, up to its best use cases at layers 4 and 7. Make sure your environment is ready, because the Learn HAProxy journey is just beginning!