Created
May 28, 2020 04:03
-
-
Save broxio/8ef366635a4f73d5b5ac9c2ef57a8df9 to your computer and use it in GitHub Desktop.
Compile haproxy at ec2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
HAPROXY="2.1.4" | |
OPENSSL="1.1.1g" | |
LUA="5.3.5" | |
SRC="/usr/local/src" | |
sudo rm /usr/local/src/* -rf | |
sudo apt-get install make build-essential automake libreadline-dev libz-dev libpcre3-dev logrotate libpcre2-dev -y | |
cd $SRC/ && sudo wget https://www.lua.org/ftp/lua-$LUA.tar.gz && sudo tar -zxf lua-$LUA.tar.gz | |
cd lua-$LUA && sudo make linux && sudo make INSTALL_TOP=/opt/lua53 install | |
cd $SRC/ && sudo wget https://www.openssl.org/source/openssl-$OPENSSL.tar.gz && sudo tar -zxf openssl-$OPENSSL.tar.gz | |
cd openssl-$OPENSSL && sudo ./config --prefix=/usr/local --openssldir=/etc/ssl --libdir=lib no-shared zlib-dynamic && sudo make -j2 && sudo make install_sw | |
cd $SRC/ && sudo wget http://www.haproxy.org/download/2.1/src/haproxy-$HAPROXY.tar.gz && sudo wget http://www.haproxy.org/download/2.1/src/snapshot/haproxy-$HAPROXY-patches-LATEST.tar.gz && sudo tar -zxf haproxy-$HAPROXY.tar.gz && sudo mkdir -p /usr/local/src/a && sudo tar -zxf haproxy-$HAPROXY-patches-LATEST.tar.gz -C a --strip=1 | |
function compile { | |
cd $SRC/haproxy-$HAPROXY && | |
sudo make -j2 \ | |
TARGET=linux-glibc \ | |
USE_PCRE2=1 \ | |
USE_PCRE2_JIT=1 \ | |
USE_PTHREAD_PSHARED=1 \ | |
USE_REGPARM=1 \ | |
USE_OPENSSL=1 \ | |
USE_LUA=1 \ | |
LUA_LIB=/opt/lua53/lib/ \ | |
LUA_INC=/opt/lua53/include/ \ | |
USE_ZLIB=1 \ | |
LDFLAGS="-lcrypt -lssl -lcrypto -L/usr/local/lib/ -llua -lm -L/usr/lib -lpcreposix -lpcre" \ | |
CFLAGS="-O2 -g -fno-strict-aliasing -Wdeclaration-after-statement -fwrapv -Wno-unused-label -Wno-sign-compare -Wno-unused-parameter -Wno-old-style-declaration -Wno-ignored-qualifiers -Wno-clobbered -Wno-missing-field-initializers -Wtype-limits" \ | |
&& sudo make install install-bin install-man | |
} | |
if [ -z "$(ls -A /usr/local/src/a)" ]; then | |
echo "No patches available" && compile | |
else | |
echo "Patches available" && cd $SRC/haproxy-$HAPROXY && for i in /usr/local/src/a/*.diff; do sudo patch -p1 < $i; done && compile; | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment