Apache 2.2 compiles perfectly on Mac OS X. We are running an Intel Mac Version 10.5.6. Let's create a place to compile this that is separate from other software. First we need to log on as root for convenience:
srv-5:~ usr4$ sudo su
Password:
sh-3.2#
Let's create a /usr/local/src to compile the software in. This will also create /usr/local as a destination:
sh-3.2# mkdir -p /usr/local/src
sh-3.2# cd /usr/local/src
The software is available here. Extract the source tarball:
sh-3.2# ls
httpd-2.2.11.tar.bz2
sh-3.2# tar -xjf *.bz2
sh-3.2# ls
httpd-2.2.11 httpd-2.2.11.tar.bz2
sh-3.2# cd httpd*11
We are going to configure with a minimal set of features:
sh-3.2# ./configure --prefix=/usr/local/apache2 --disable-actions --disable-asis
--disable-charset-lite --disable-env --disable-imap --disable-status --disable-cgi
--disable-cgid --disable-userdir --enable-include
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking build system type... i386-apple-darwin9.6.0
checking host system type... i386-apple-darwin9.6.0
checking target system type... i386-apple-darwin9.6.0
Configuring Apache Portable Runtime library ...
checking for APR... yes
setting CC to "gcc"
setting CPP to "gcc -E"
setting CFLAGS to " "
setting CPPFLAGS to " -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp"
setting LDFLAGS to " "
Configuring Apache Portable Runtime Utility library...
.
.
.
config.status: creating support/phf_abuse_log.cgi
config.status: creating support/split-logfile
config.status: creating build/rules.mk
config.status: creating build/pkg/pkginfo
config.status: creating build/config_vars.sh
config.status: creating include/ap_config_auto.h
config.status: executing default commands
sh-3.2#
Compile:
sh-3.2# make
Making all in srclib
Making all in pcre
/usr/share/apr-1/build-1/libtool --silent --mode=compile gcc -DDARWIN -
DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp -I/usr/local/src/httpd-2.2.11/srclib/pcre -I.
-I/usr/local/src/httpd-2.2.11/os/unix -I/usr/local/src/httpd-2.2.11/server/mpm/prefork
-I/usr/local/src/httpd-2.2.11/modules/http -I/usr/local/src/httpd-2.2.11/modules/filters
-I/usr/local/src/httpd-2.2.11/modules/proxy -I/usr/local/src/httpd-2.2.11/include
-I/usr/local/src/httpd-2.2.11/modules/generators -I/usr/local/src/httpd-2.2.11/modules/mappers
-I/usr/local/src/httpd-2.2.11/modules/database -I/usr/include/apr-1
-I/usr/local/src/httpd-2.2.11/modules/proxy/../generators
.
.
.
ttpd modules.lo buildmark.o -export-dynamic server/libmain.la modules/aaa/libmod_authn_file.la
modules/aaa/libmod_authn_default.la modules/aaa/libmod_authz_host.la
modules/aaa/libmod_authz_groupfile.la modules/aaa/libmod_authz_user.la
modules/aaa/libmod_authz_default.la modules/aaa/libmod_auth_basic.la
modules/filters/libmod_include.la modules/filters/libmod_filter.la
modules/loggers/libmod_log_config.la modules/metadata/libmod_setenvif.la
modules/http/libmod_http.la modules/http/libmod_mime.la
modules/generators/libmod_autoindex.la
modules/mappers/libmod_negotiation.la modules/mappers/libmod_dir.la modules/mappers/libmod_alias.la
modules/mappers/libmod_so.la server/mpm/prefork/libprefork.la os/unix/libos.la
/usr/local/src/httpd-2.2.11/srclib/pcre/libpcre.la -L/usr/lib -R/usr/lib -laprutil-1 -lsqlite3
-lexpat -liconv -L/usr/lib -R/usr/lib -lapr-1 -lpthread
Install:
sh-3.2# make install
Making install in srclib
Making install in pcre
Making install in os
Making install in unix
Making install in server
Making install in mpm
Making install in prefork
Making install in modules
Making install in aaa
mkdir /usr/local/apache2
.
.
.
mkdir /usr/local/apache2/build
Installing man pages and online manual
mkdir /usr/local/apache2/man
mkdir /usr/local/apache2/man/man1
mkdir /usr/local/apache2/man/man8
mkdir /usr/local/apache2/manual
Start up Apache:
/usr/local/apache2/bin/apachectl start
Browsing to localhost should show that it works:
Verify that what you looked at was served up from the new web server by tailing /usr/local/apache2/logs/access_log:
This is what the StartupParameters.plist looks like:
{
Description = "httpd";
Uses = ("Disks");
}
Reboot to make sure, and you now have an Apache web server ready to serve up HTML documents.
People:
Places:
Things:
Times:
Please read our Terms of Use and our Privacy Policy
Microsoft, Windows, Windows XP, Windows 2003, Windows 2000, and NT are either trademarks or registered trademarks of Microsoft Corporation. NetAdminTools.com is not affiliated with Microsoft Corporation. Linux is a registered trademark of Linus Torvalds, and refers to the Linux kernel. The operating system of most distributions that contain the Linux kernel is GNU/Linux. All logos and trademarks in this site are property of their respective owner. Copyright 1997-2010 NetAdminTools.com