HAProxy 1.5.0~1.5.11

最終検証日

2015/03/02

検証バージョン

  • 1.5.0
  • 1.5.1
  • 1.5.2
  • 1.5.3
  • 1.5.4
  • 1.5.5
  • 1.5.6
  • 1.5.7
  • 1.5.8
  • 1.5.9
  • 1.5.10
  • 1.5.11

コンパイル

注釈

基本的には管理者ユーザ(rootなど)で実施していることを前提としています

#------------------------------------------------------------
# HAProxy 1.5系
#------------------------------------------------------------
BASE=/opt/brew

# ソースダウンロード先
comp_dir=/usr/local/src
# パッケージ名
pack_name=haproxy
# バージョン
version=-1.5.11
# ソースのファイル形式
ext=.tar.gz
# tar解凍時のオプション
ext_opt=z
# インストール先ディレクトリ
ins_dir=/opt/${pack_name}/${version##-}
# ダウンロード元パッケージ
dl_uri="http://www.haproxy.org/download/1.5/src/haproxy${version}.tar.gz"

cd ${comp_dir}
rm -rf ${pack_name}${version}
wget -c ${dl_uri} -O ${pack_name}${version}${ext}
tar ${ext_opt}xf ${pack_name}${version}${ext}
cd ${pack_name}${version}
make PREFIX=${ins_dir} TARGET=linux2628\
  && make install PREFIX=${ins_dir}
  && mkdir -p ${ins_dir}/var/run

主なconfigureオプション

注釈

configureオプションではなくmakeの環境変数で行います

PREFIX=[DIR]
インストール先ディレクトリの指定
TARGET=[TYPE]
インストール先のシステムを入力

初期設定

ユーザの作成

ユーザはセキュリティのため、一般ユーザを使用します。ここではhaproxyのデフォルトのユーザとします。

id haproxy || useradd -r haproxy

必要なディレクトリの作成

mkdir -p ${ins_dir}/etc
mkdir -p ${ins_dir}/var/run

設定ファイル

haproxy.cfg

デフォルトではファイルがインストールされないので、サンプル用ファイルをコピーして使用します。 コピー後、システムに合わせてカスタマイズしていきます。

cd ${comp_dir}/${pack_name}${version}
cp ./examples/haproxy.cfg ${ins_dir}/etc/.
vim ${ins_dir}/etc/haproxy.cfg

Pathの設定

/opt/brew の下にシンボリックリンクを貼っていきます。
これにより、PATHの設定が簡単になります。
for type in $(ls -1 ${ins_dir})
do
    for src in $(find ${ins_dir}/${type} -xtype f)
    do
        parent=`dirname ${src#*/${type}/}`
        filename=`basename ${src}`
        mkdir -p ${BASE}/${type}/${parent}
        echo "ln -fs ${src} ${BASE}/${type}/${parent}/${filename}"
        ln -fs ${src} ${BASE}/${type}/${parent}/${filename}
    done
done

grep -q ${BASE}/bin ~/.bashrc \
  || echo "export PATH=${BASE}/bin:${BASE}/sbin:"'${PATH}' >> ~/.bashrc \
  ;  source ~/.bashrc

起動

インストール先に合わせて実行します。

 /opt/brew
./sbin/haproxy -f ./etc/haproxy.cfg -p ./var/run/haproxy.pid -D

停止

インストール先に合わせて実行します。

cd /opt
cat ./var/run/haproxy.pid | xargs kill