HAProxy-2-RPM-builder
HAProxy-2-RPM-builder copied to clipboard
Build latest HAProxy binary for CentOS/RHEL 6/7/8/9 with prometheus metrics support
RPM builder for HAProxy 2.9 (CentOS/RHEL 6/7/8/9)
Build latest HAProxy binary with prometheus metrics support
HAProxy 2.9.6 2024/02/26
Perform the following steps on a build box as a regular user:
CentOS7
sudo yum -y groupinstall 'Development Tools'
cd /opt
sudo git clone https://github.com/philyuchkoff/HAProxy-2-RPM-builder.git
cd ./HAProxy-2-RPM-builder
CentOS8
sudo dnf -y groupinstall 'Development Tools'
cd /opt
sudo git clone https://github.com/philyuchkoff/HAProxy-2-RPM-builder.git
cd ./HAProxy-2-RPM-builder
sudo sed -i 's/yum/dnf/' Makefile
Build:
Without Lua:
sudo make
With Lua:
sudo make USE_LUA=1
With Prometheus module:
sudo make USE_PROMETHEUS=1
Without sudo for YUM:
sudo make NO_SUDO=1
Resulting RPM will be stored in
/opt/HAProxy-2-RPM-builder/rpmbuild/RPMS/x86_64/
Build using Docker:
sudo make run-docker
Resulting RPM will be stored in
./RPMS/
Install (for CentOS8/9 replaсe yum
to dnf
):
sudo yum -y install /opt/HAProxy-2-RPM-builder/rpmbuild/RPMS/x86_64/haproxy-2.9.5-1.el7.x86_64.rpm
or, if you build *.rpm with Docker:
sudo yum -y install RPMS/haproxy-2.9.5-1.el7.x86_64.rpm
Check after install:
haproxy -v
Stats page
After installation you can access a stats page without authenticating via the URL: http://<YourHAProxyServer>:9000/haproxy_stats
Common problem:
:o: If some not working - check SELINUX:
sestatus
If SELINUX is enabled - switch off this: open /etc/selinux/config and change SELINUX to disabled:
sudo sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config
:o: Cannot chroot1
[/usr/sbin/haproxy.main()] Cannot chroot1(/var/lib/haproxy)
Solution:
- Create
/var/lib/haproxy
directory - Check on the rpcbind service to ensure that this service is started
:o: Failed to download metadata for repo ‘AppStream’ (CentOS8/9)
Solution:
cd /etc/yum.repos.d/
sudo sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*