LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

MicroHOWTO: Net::SSLeay for use w/ ldirectord on RH9

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: MicroHOWTO: Net::SSLeay for use w/ ldirectord on RH9
From: "James Bourne" <james@xxxxxxxxxxxxxx>
Date: Thu, 22 May 2003 13:41:56 +1000
Your milage may vary but this is what I did to get Net::SSLeay installed and
running for use w/ ldirectord (in order to monitor/load balance https w/ IPVS)
on RH9.

Cheers,

James

=== Original Build Error

This was the original error I was getting when attempting to install
Net::SSLeay on RedHat 9:

<snip>
Checking for OpenSSL-0.9.6g or newer...
You have OpenSSL-0.9.7a installed in /usr
That's is newer than what this module was tested with (0.9.6g). You should
consider checking if there is a newer release of this module
available. Everything will probably work OK, though.
*** Could not figure out which C compiler was used to compile /usr/bin/openssl.
It is essentiall that OpenSSL, perl, and Net::SSLeay are compiled with the same
compiler and flags. Mixing and matching compilers is not supported. at Makefile.
PL line 132.
Checking if your kit is complete...
Looks good
Checking if your kit is complete...
Looks good

Warning: I could not locate your pod2man program. Please make sure,
         your pod2man program is in your PATH before you execute 'make'

Writing Makefile for Net::SSLeay::Handle

Warning: I could not locate your pod2man program. Please make sure,
         your pod2man program is in your PATH before you execute 'make'

Writing Makefile for Net::SSLeay
Makefile:88: *** missing separator.  Stop.
</snip>

=== Minimal RH9 Packages

Make sure you have the following RH9 packages installed (or grab them via
up2date):

openssl-devel-0.9.7a-5.i386.rpm
openssl-0.9.7a-5.i686.rpm
krb5-libs-1.2.7-14.i386.rpm
krb5-devel-1.2.7-14.i386.rpm

up2date --nox openssl openssl-devel krb5-libs krb5-devel

=== Correct Your Locale

RH9 suffers from many of the same ills as RH8 when it comes to the broken
UTF8/unicode handling. My default locale is en_AU.UTF-8. This causes the
"missing pod2man" warnings above and results in the generation of a totally
broken makefile. Hence:

export LANG=C

See: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=87682

=== Build Net::SSLeay

Download Net_SSLeay.pm-1.22.tar.gz from:

    http://search.cpan.org/author/SAMPO/Net_SSLeay.pm-1.22/
    tar xvzf Net_SSLeay.pm-1.22.tar.gz

Download the leak patch for ldirectord from:

    http://marc.theaimsgroup.com/?l=linux-virtual-server&m=103776170206501&w=2

    The leak patch here is for v1.21 of Net::SSLeay but patches clean against
    v1.22:

    cd Net_SSLeay.pm-1.22
    patch -p1 < patchfile

Now fix the missing paths in Makefile.PL (line 167 or thereabouts to read):

    INC => "-I /usr/kerberos/include -I$openssl_path/include
-I$openssl_path/inc32"

Now build Net::SSLeay (I like doing these as individual steps):

    perl Makefile.PL (you will still get the mismatched compilers warning)
    make test (make sure you have an internet connection handy)
    make install

=== Update your ldirectord.conf for https

For example:

virtual        = 10.10.2.5:443
    real       = 10.10.2.20:443 gate 5
    real       = 10.10.2.21:443 gate 5
    service    = https
    scheduler  = rr
    protocol   = tcp

=== Note on Mismatched Compiler Warnings

These stem from perl and OpenSSL being compiled with differing versions of
gcc! To get around this download the SSLeay 0.9.7b sources (from
http://www.openssl.org/) and build and compile into /usr/local/ssl. Then
repeat the above process for compiling Net::SSLeay.

<Prev in Thread] Current Thread [Next in Thread>