share facebook facebook2 twitter menu hatena pocket slack

2014.11.17 MON

CentOS 6.5 に 5 分で HAProxy の最新版をインストールする方法

川原 洋平

WRITTEN BY川原 洋平

ども、cloudpackかっぱ@inokara)です。

はじめに

すいません、取り急ぎメモです。
HAProxy は本日(2014/11/6)時点で 1.5.8 となっています。


メモ

関連パッケージの導入

yum install gcc make pcre-devel openssl-devel rpm-build wget

ビルド用のディレクトリ作成

mkdir rpmbuild
mkdir rpmbuild/BUILD
mkdir rpmbuild/BUILDROOT
mkdir rpmbuild/RPMS
mkdir rpmbuild/SOURCES
mkdir rpmbuild/SPECS
mkdir rpmbuild/SRPMS

tar ball の取得と展開

cd rpmbuild/SOURCES
wget http://www.haproxy.org/download/1.5/src/haproxy-1.5.8.tar.gz
tar zxvf haproxy-1.5.8.tar.gz

spec ファイルの修正

cd rpmbuild/SOURCES/haproxy-1.5.8
cp examples/haproxy.spec ../../SPECS/

多分、ここまでで 2 分くらい。

cd ../../SPECS/
vim haproxy.spec

以下のように修正。(SSL 対応にする必要がなければこのステップは省略可)

--- haproxy.spec.bk     2014-11-06 12:26:58.421708430 +0900
+++ haproxy.spec        2014-11-06 12:27:08.714748339 +0900
@@ -33,7 +33,7 @@
 %define __perl_requires /bin/true

 %build
-%{__make} USE_PCRE=1 DEBUG="" ARCH=%{_target_cpu} TARGET=linux26
+%{__make} USE_PCRE=1 DEBUG="" ARCH=%{_target_cpu} TARGET=linux26 USE_OPENSSL=1

 %install
 [ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}

後はビルド

rpmbuild -ba haproxy.spec

ここまでで 4 分くらい。

後はインストール

cd ../RPMS/x86_64/
rpm --test -Uvh haproxy-1.5.8-1.x86_64.rpm
rpm -Uvh haproxy-1.5.8-1.x86_64.rpm

ちょうど 5 分くらい。


お疲れさまでした

多分、5 分でビルド、インストールまでいけると思います!


おまけ

yum whatprovides なんちゃら

以下のようなメッセージが表示されて該当のライブラリが同梱されているパッケージをググる前に…

エラー: 依存性の欠如:
        libc.so.6(GLIBC_2.14)(64bit) は haproxy-1.5.8-1.x86_64 に必要とされています

以下のように yum に問い合わせてみましょう。

yum whatprovides libc.so.6

以下のように親切に応えてくれます。

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * epel: ftp.iij.ad.jp
 * extras: www.ftp.ne.jp
 * rpmforge: ftp.kddilabs.jp
 * rpmforge-extras: ftp.kddilabs.jp
 * updates: www.ftp.ne.jp
glibc-2.12-1.149.el6.i686 : The GNU libc libraries
Repo        : base
Matched from:
Other       : libc.so.6



glibc-2.12-1.149.el6.i686 : The GNU libc libraries
Repo        : installed
Matched from:
Other       : Provides-match: libc.so.6

また、特定のバイナリがパッケージングされている RPM パッケージを問い合わせる場合には…

yum whatprovides */rpmbuild

上記のように問い合わせると…

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * epel: ftp.iij.ad.jp
 * extras: www.ftp.ne.jp
 * rpmforge: ftp.kddilabs.jp
 * rpmforge-extras: ftp.kddilabs.jp
 * updates: www.ftp.ne.jp
rpm-build-4.8.0-37.el6.x86_64 : Scripts and executable programs used to build packages
Repo        : base
Matched from:
Filename    : /usr/bin/rpmbuild



rpm-build-4.8.0-37.el6.x86_64 : Scripts and executable programs used to build packages
Repo        : installed
Matched from:
Filename    : /usr/bin/rpmbuild

応えてくれます。

ホント、やさしいですね♪

というか、今まで知らずにすいませんでした。

元記事はこちらです。
CentOS 6.5 に 5 分で HAProxy の最新版をインストール方法