Attached I have a Makefile that I use to build apache with mod_ssl.
It also fetches the appropriate distributions.
Instructions -
create an empty directory
copy the attached Makefile to it and make fetch and make all e.g.
mkdir apachetest
cd apachetest
cp ~/nsmail/Makefile .
make fetch
make all
You can twiddle the configure commands in the Makefile for
your specific configuration and pull different versions of
apache/mod_ssl and openssl.
Kole Dunn wrote:
> Hello,
> Using mod_ssl-2.4.10-1.3.9, I have all the correct binaries and
> installation was going fine until I went to build apache with make. I
> get the following error, can anyone tell me why and how to deal with
> the error?
>
> Thanks!
>
> make[1]: Entering directory `/usr/src/redhat/SOURCES/apache_1.3.9'
> make[2]: Entering directory `/usr/src/redhat/SOURCES/apache_1.3.9/src'
> make[2]: *** No rule to make target `all'. Stop.
> make[2]: Leaving directory `/usr/src/redhat/SOURCES/apache_1.3.9/src'
> make[1]: *** [build-std] Error 2
> make[1]: Leaving directory `/usr/src/redhat/SOURCES/apache_1.3.9'
> make: *** [build] Error 2
>
> -K
>
> ______________________________________________________________________
> Apache Interface to OpenSSL (mod_ssl) www.modssl.org
> User Support Mailing List [EMAIL PROTECTED]
> Automated List Manager [EMAIL PROTECTED]
#
# Build apache with mod_ssl
#
#
# APACHE_ROOT - where the apache compiled bits go
APACHE_ROOT=$(PWD)/root
# Version of Apache to bild
APACHE_VER=1.3.12
# Place for certificate and key
CERTIFICATE_PATH=../server.crt
KEY_PATH=../server.key
# mod_ssl version
MOD_SSL=mod_ssl-2.6.2-1.3.12
# openssl version
OPENSSL=openssl-0.9.4
# sgi patch version
SGIPATCH=10xpatch-1.3.12-0-mod_ssl
# do the sgi patch thing ?
DO_SGIPATCH=0
# options to Make
IN_PARALLEL_ALL=-j 3
# Targets to build for all
IN_SETUP_TARGETS=/usr/include/ndbm.h install
# Targets to run for distclean
IN_DISTCLEAN=$(APACHE_VERSION) $(MOD_SSL) $(OPENSSL) hacktastic \
$(MOD_SSL).done $(OPENSSL).done $(APACHE_VERSION).done
APACHE_VERSION=apache_$(APACHE_VER)
LN=ln
TAR=tar
GUNZIP=gunzip
RMRF=rm -rf
MAKE=make
all : $(IN_SETUP_TARGETS)
distclean :
rm -rf $(IN_DISTCLEAN)
fetch: fetch_modssl fetch_apache fetch_sgipatch fetch_openssl
fetch_modssl:
wget http://www.modssl.org/source/$(MOD_SSL).tar.gz #> $(MOD_SSL).tar.gz
fetch_apache:
wget http://www.apache.org/dist/$(APACHE_VERSION).tar.gz #>
$(APACHE_VERSION).tar.gz
$(SGIPATCH) fetch_sgipatch:
ifeq ($(DO_SGIPATCH),1)
wget ftp://oss.sgi.com/www/projects/apache/download/$(APACHE_VER)/$(SGIPATCH)
#> $(SGIPATCH)
endif
fetch_openssl:
wget http://www.openssl.org/source/$(OPENSSL).tar.gz #> $(OPENSSL).tar.gz
hacktastic : $(APACHE_VERSION).done $(OPENSSL).done $(MOD_SSL).done $(SGIPATCH).done
LD_LIBRARY_PATH=`pwd` $(MAKE) $(IN_PARALLEL_ALL) -C $(APACHE_VERSION)
LD_LIBRARY_PATH=`pwd` $(MAKE) -C $(APACHE_VERSION) certificate
LD_LIBRARY_PATH=`pwd` $(MAKE) -C $(APACHE_VERSION) install
$(LN) -sf bin $(APACHE_ROOT)/sbin
mkdir -p $(APACHE_ROOT)/var
mkdir -p $(APACHE_ROOT)/var/log
mkdir -p $(APACHE_ROOT)/var/run
#ln -sf ../etc/httpd.conf $(APACHE_ROOT)/conf/httpd.conf
#ln -sf ../etc/srm.conf $(APACHE_ROOT)/conf/srm.conf
#ln -sf ../etc/access.conf $(APACHE_ROOT)/conf/access.conf
touch hacktastic
$(SGIPATCH).done : $(MOD_SSL).done $(SGIPATCH)
ifeq ($(DO_SGIPATCH),1)
if [ -f $(SGIPATCH) ] ; then \
patch -p0 < $(SGIPATCH); \
( cd apache_1.3.12/htdocs; uudecode sgi_performance.gif.uu ) ; \
fi
touch $(APACHE_VERSION)/src/Configuration.apaci
endif
.PHONY: install
install: hacktastic
$(APACHE_VERSION).done: $(APACHE_VERSION).tar.gz
$(RMRF) $(APACHE_VERSION)
# cvs checkout -r V1 $(APACHE_VERSION)
$(GUNZIP) < $(APACHE_VERSION).tar.gz | $(TAR) xf -
touch $(APACHE_VERSION).done
$(MOD_SSL).done : $(MOD_SSL).tar.gz $(APACHE_VERSION).done
$(RMRF) $(MOD_SSL) $(MOD_SSL)
$(GUNZIP) < $(MOD_SSL).tar.gz | $(TAR) xf -
cd $(MOD_SSL); ./configure \
--with-apache=../$(APACHE_VERSION) \
--with-ssl=../$(OPENSSL) \
--prefix=$(APACHE_ROOT) \
--enable-module=so \
--enable-module=proxy \
--enable-module=rewrite
touch $(MOD_SSL).done
$(OPENSSL).done: $(OPENSSL).tar.gz
$(RMRF) $(OPENSSL)
$(GUNZIP) < $(OPENSSL).tar.gz | $(TAR) xf -
cd $(OPENSSL); sh config; $(MAKE) $(IN_PARALLEL_ALL);
touch $(OPENSSL).done
.PHONY: uninstall
uninstall:
$(RMF) -r $(APACHE_ROOT)
# BEGIN --- REDHAT 6.0 ALERT REDHAT 6.0 ALERT REDHAT 6.0 ALERT REDHAT 6.0
# Our buddies at Redhat moved ndbm.h from its usual resting place.
# It seems that the consensus is that it will be moving back!
ifneq ($(wildcard /usr/include/db1/ndbm.h),)
ifeq ($(wildcard /usr/include/ndbm.h),)
/usr/include/ndbm.h : /usr/include/db1/ndbm.h
@echo "======================================================="
@echo " REDHAT 6.0 ALERT REDHAT 6.0 ALERT REDHAT 6.0 ALERT "
@echo "======================================================="
@echo "On REDHAT 6.0 /usr/include/ndbm.h is in the wrong place"
@echo "Become root and perform the following command:"
@echo " ln /usr/include/db1/ndbm.h /usr/include/ndbm.h"
@echo "======================================================="
exit 1
endif
endif
# When we're done with REDHAT 6.0, we should remove this.
# END --- REDHAT 6.0 ALERT REDHAT 6.0 ALERT REDHAT 6.0 ALERT REDHAT 6.0