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
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.
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
--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
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
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
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
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 PROTECTED]]
Sent: Wednesday, October 09, 2002 7:09 AM
To: [EMAIL PROTECTED]
Subject: httpd.conf with mod_ssl and MMHi,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 platformand 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
