Compiling Apache w/ mod_frontpage, mod_SSL, mod_gzip, mod_dav, and PHP w/ mcrypt, mhash, and ming

last updated 5/15/01 by Lee Whatley (

Here's what I did:

-Download the latest Apache source
-Download the latest PHP source
-Download the latest ming library source
-Download the latest OpenSSL source
-Download the latest mod_ssl source
-Download the latest mm source
-Download the latest mcrypt and libmcrypt source
-Download the latest mhash source
-Download the latest mod_frontpage source
-Download the latest mod_dav source
-Download the latest mod_gzip source

Now put all of that crap in one directory and untar it

-Patch the Apache source with the patch included in the mod_frontpage tarball. If you haven't already installed the frontpage executables, do that as well. Make sure that they are in /usr/local/frontpage and owned by the user and group bin

-Next compile/install OpenSSL. Remember for OpenSSL to use -fPIC as one of your configure options.

-Compile/install mod_SSL. This will first require you to compile/install the mm libraries. Use --disable-shared as your configure options to mm. Use --with-apache=../apache_1.3.x as your configure options for mod_SSL.

-Now you should go ahead and compile/install mhash and mcrypt. Be sure to run ldconfig when you're done or PHP won't find the libraries.

-Next, compile/install apache. Remember to back up the old directory just in case. Here's what I ran to configure it.
SSL_BASE=../openssl-0.9.6a EAPI_MM=../mm-1.1.3 ./configure \
--prefix=/usr/local/apache \
--add-module=mod_frontpage.c \
--enable-module=most \
--enable-shared=max \
--disable-shared=frontpage \
--server-uid=www \
--server-gid=users \
--enable-module=ssl \
--enable-shared=ssl \

Don't forget to do make certificate TYPE=custom before you do a make install so that you'll have the certificates for the SSL stuff.

-Next compile/install PHP. I configured it with:
./configure \
--with-mysql \
--with-pgsql \
--with-apxs=/usr/local/apache/bin/apxs \
--enable-ftp \
--with-gd \
--with-mcrypt \
--with-mhash \
--with-mm \
--enable-sockets \
--with-zlib \

-Next compile the ming library as a shared PHP module. Be sure to edit php.ini so that it loads the exention and knows where to find it.

-Next compile mod_gzip and mod_dav
This step is very straight forward, just look at their README's.

And thats always I probably left something out so read the README's that come with the packages.