Subject: RE: httpd.conf with mod_ssl and MM

From: "Courtin Bert" <[email-masked]>
Date: Wed, 9 Oct 2002 09:17:07 +0200

Hi Gilles,
 
1) Put all the necessary sources to a dir below e.g. SOURCES. Make sure you use the latest ones available as recently some mayor security fixes had been done.
 
All the following works fine on solaris 8 with a gcc
 
-> SOURCES/apache-1.3.27
-> SOURCES/mm-1.2.1
-> SOURCES/mod_ssl-2.8.11-1.3.27
-> SOURCES/openssl-0.9.6.g

2) Assume the following set up for some variables 
 
COMPILER="gcc"                                  # Specify the compiler to use
TARGET_DIR="opt"                                # This is where the *compiled* sources will be installed
SOURCES_SUBDIR="SOURCES"          # To this subdir the zipped sources will be unzipped and untared
APACHE_DIR="apache-1.3.27"               # Now we're defining the names of the subdirectories for the program sources
MM_DIR="mm-1.2.1"                              # Most arcives will be extracted to a subdirname related to the arcive
OPENSSL_DIR="openssl-0.9.6g"             # filename but e.g. "c-client.tar.Z will be extracted to "imap-2001a"
MODSSL_DIR="mod_ssl-2.8.11-1.3.27"    # will be detected automatically below based on the info you state here.

2) Compile MM
 
mm has to be configured someting like this (on solaris using gcc):
 
./configure --prefix=/${TARGET_DIR}/${MM} \
        --with-gcc \
        --disable-shared 
 
maybe you'll also specify (but not nec needed)

        --enable-batch \
        --with-shm=IPCSHM

After this, you may need to do 

LD_LIBRARY_PATH=/${TARGET_DIR}/${MM}/lib:/${TARGET_DIR}/${MM}/bin:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

2) Comile openssl
In the openssl-dir do 
 
./config --prefix=/${TARGET_DIR}/${OPENSSL} -fPIC shared
 
After making openssl do
 
export SSL_BASE=/${TARGET_DIR}/${OPENSSL}
LD_LIBRARY_PATH=/${TARGET_DIR}/${OPENSSL}/lib:/${TARGET_DIR}/${OPENSSL}/bin::$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

3)  Apply mod_ssl to apache source tree

Changing to SUBDIR where you keep your sources for mod_ssl

Do 
 
CC=${COMPILER} \
CPFLAGS="-I/${TARGET_DIR}/${OPENSSL}/include" \
CFLAGS="`../${MM}/mm-config --cflags`" \
LDFLAGS="-L/${TARGET_DIR}/${OPENSSL}/lib `../${MM}/mm-config --ldflags`" \
LIBS="-lm `../${MM}/mm-config --libs`" \
EAPI_MM="../${MM}"
./configure --prefix=/${TARGET_DIR}/${APACHE} \
            --enable-rule=EAPI \
            --with-apache=../${APACHE} \
            --with-ssl=../${OPENSSL} \
            --with-mm=../${MM} \
            --disable-rule=SSL_COMPAT \
            --enable-module=ssl 

4) For the configuration of Apache you'll need to specify:
 
If you do not need to specifiy anything else, change to apaches source dir and type 'make', in any other case do change to apaches source dir and do 
 
CC="${COMPILER}" \
EAPI_MM="../${MM}" \
CPFLAGS="-I/${TARGET_DIR}/${OPENSSL}/include" \
CFLAGS="`../${MM}/mm-config --cflags`" \
LDFLAGS="-L/${TARGET_DIR}/${OPENSSL}/lib `../${MM}/mm-config --ldflags`" \
LIBS="`../${MM}/mm-config --libs`" \
INCLUDE="-I/${TARGET_DIR}/${OPENSSL}/include -I/${TARGET_DIR}/${MM}/include" \
./configure --prefix=/${TARGET_DIR}/${APACHE} \
            --enable-rule=EAPI \
            --enable-module=ssl \
            --add more options if needed

This should make shared mem available for apache/mod_ssl. 
 
BTW: Which platform are you using?
 
Hope this helps - good luck

Kind regards,
Bert Courtin

-----Original Message-----
From: Gilles Gros [mailto:[email-masked]]
Sent: Wednesday, October 09, 2002 7:09 AM
To: [email-masked]
Subject: httpd.conf with mod_ssl and MM

Hi,
 
Having just heard about MM, I am trying to use it.
 
I compile my apache, but when I try to start it, I get :

Syntax error on line 59 of /opt/apache/conf/local_conf/mod_ssl.conf:
SSLSessionCache: shared memory cache not useable on this platform

and line 59 there is : 
SSLSessionCache         shmcb:/usr/local/apache/logs/ssl_scache(512000)
 
How can I take advantage of shmcb and shmct as SSLSessionCache methods.
 
Thanks.
 
Gilles

---

From: "Gilles Gros" <[email-masked]>
Date: Wed, 9 Oct 2002 00:27:16 -0700

I am using Linux

Thanks for your help. It set me on the right tracks.
It is working now.
I used a different build method, because I already have a makefile

Can you give me some pointer on the difference between
SSLCacheSession dbm and shm and shmct and shmcb.

Thanks

Gilles

  -----Original Message-----
  From: Courtin Bert [mailto:[email-masked]]
  Sent: Wednesday, October 09, 2002 12:17 AM
  To: [email-masked]
  Cc: [email-masked]
  Subject: RE: httpd.conf with mod_ssl and MM

  Hi Gilles,

  -> SOURCES/apache-1.3.27
  -> SOURCES/mm-1.2.1

  2) Compile MM

          --enable-batch \
          --with-shm=IPCSHM

  2) Comile openssl
  In the openssl-dir do 

  After making openssl do

  Do 

  CC=${COMPILER} \

  CC="${COMPILER}" \
  EAPI_MM="../${MM}" \

  Kind regards,
  Bert Courtin

    -----Original Message-----
    From: Gilles Gros [mailto:[email-masked]]
    Sent: Wednesday, October 09, 2002 7:09 AM
    To: [email-masked]
    Subject: httpd.conf with mod_ssl and MM

    Hi,

    and line 59 there is : 

    Thanks.

    Gilles