-
-
Save hiepnsx/203d6f0b4502197a79fe61e6b967ff9f to your computer and use it in GitHub Desktop.
Amazon Linux AMI Install HAProxy From Source (1.7.0 release pre configured). chmod +x InstallHaProxy.sh then ./InstallHaProxy.sh
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 | |
### VARIABLES ### | |
PRE_PACK="openssl-devel pcre-devel make gcc" | |
VER="1.7.0" | |
# Setup Colours | |
black='\E[30;40m' | |
red='\E[31;40m' | |
green='\E[32;40m' | |
yellow='\E[33;40m' | |
blue='\E[34;40m' | |
magenta='\E[35;40m' | |
cyan='\E[36;40m' | |
white='\E[37;40m' | |
boldblack='\E[1;30;40m' | |
boldred='\E[1;31;40m' | |
boldgreen='\E[1;32;40m' | |
boldyellow='\E[1;33;40m' | |
boldblue='\E[1;34;40m' | |
boldmagenta='\E[1;35;40m' | |
boldcyan='\E[1;36;40m' | |
boldwhite='\E[1;37;40m' | |
Reset="tput sgr0" # Reset text attributes to normal | |
#+ without clearing screen. | |
cecho () # Coloured-echo. | |
# Argument $1 = message | |
# Argument $2 = color | |
{ | |
message=$1 | |
color=$2 | |
echo -e "$color$message" ; $Reset | |
return | |
} | |
cecho "Installing/upgrading your web server..." $boldgreen | |
yum -y -q install $PRE_PACK > /dev/null | |
mkdir -p /src | |
cd /src | |
wget -q http://www.haproxy.org/download/${VER%.*}/src/haproxy-$VER.tar.gz | |
tar xzf haproxy-$VER.tar.gz && rm -f haproxy*.tar.gz; | |
cd haproxy-$VER | |
cecho "Configuring and Making HAPROXY" $boldgreen | |
make TARGET=linux2628 USE_OPENSSL=1 USE_ZLIB=1 USE_PCRE=1 # compiles it with compression and ssl support | |
cecho "Installing HAPROXY" $boldgreen | |
make install | |
cecho "Adding HAProxy User" $boldyellow | |
id -u haproxy &>/dev/null || useradd -s /usr/sbin/nologin -r haproxy | |
cecho "Creating config and Adding Daemon" $boldgreen | |
cp /usr/local/sbin/haproxy* /usr/sbin/ # copy binaries to /usr/sbin | |
cp /src/haproxy-$VER/examples/haproxy.init /etc/init.d/haproxy # copy init script in /etc/init.d | |
chmod +x /etc/init.d/haproxy # setting permission on init script | |
mkdir -p /etc/haproxy # creating directory where the config file must reside | |
#cp -n /src/haproxy-$VER/examples/content-sw-sample.cfg /etc/haproxy/haproxy.cfg # copy example config file | |
cecho "checking config and starting service" $boldyellow | |
service haproxy check # checking configuration file is valid | |
service haproxy start # starting haproxy to verify it is working | |
chkconfig haproxy on # setting haproxy to start with VM | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment