When that was over, we went back to the Apache directory (/usr/src/apache/apache_1.3.19) and deleted everything. This is an essential step: without it, the process will almost certainly fail. The simple method is to go to the previous directory (in our case /usr/src/apache), making sure that the tarball apache_1.3.19.tar was still there, and run the following:
rm -r apache_1.3.19
We then reinstalled all the Apache sources with the following:
tar xvf apache_1_3_19.tar
When that was done we moved down into
.../apache_1.3.19, re-unpacked Apache-SSL, and
ran FixPatch
, a script which inserted path(s) to
the OpenSSL elements into the Apache build scripts. If this
doesn’t work or you don’t want to
be so bold, you can achieve the same results with a more manual
method:
patch -p1 < SSLpatch
The README.SSL file in
.../apache_1.3.19 says that you will then have
to “set SSL_* in src/Configuration to appropriate
values unless you ran FixPatch.” Since
FixPatch
produces:
SSL_BASE=/usr/local/ssl SSL_INCLUDE= -I$(SSL_BASE)/include SSL_CFLAGS= -DAPACHE_SSL SSL_LIB_DIR=/usr/local/ssl/lib SSL_LIBS= -L$(SSL_LIB_DIR) -lssl -lcrypto SSL_APP_DIR=/usr/local/ssl/bin SSL_APP=/usr/local/ssl/bin/openssl
you would need to reproduce all these settings by hand in .../src/Configuration.
If you want to include any other modules into Apache, now is the
moment to edit the .../src/Configuration file as
described in Chapter 1. We now have to rebuild
Apache. Having moved into the .../src directory,
the command ./Configure
produced:
Configuration.tmpl is more recent than Configuration Make sure that Configuration is valid and, if it is, simply 'touch Configuration' and re-run ./Configure again.
In plain English, make
decided that since the
alteration date on Configure was earlier than
the date on Configure.tmpl (the file it would
produce), there was nothing to do. touch
is a very
useful Unix utility that updates a file’s date and
time, precisely to circumvent this kind of helpfulness. Having done
that, ./Configure
ran in the usual way, followed
by make
, which produced an
httpsd
executable that we moved to
/usr/local/bin alongside
httpd
.