After I downloaded, configured and compiled Apache 2.2 on my computer and ran into some weird problems with shared modules, I decided on a whim to check which version of Apache was installed under Leopard. To my delight, it was 2.2! A quick glance at the configuration showed me that mod_proxy_balancer
was installed as a shared module by default.
By entering httpd -V
you can see where Apple keeps all of Apache 2.2's config and log files. Interestingly, although the output below shows that your Apache config is in /private/etc/apache2/httpd.conf
(which it is), it is also hardlinked from /etc/apache2/httpd.conf
.
king:~ paul$ httpd -V Server version: Apache/2.2.6 (Unix) Server built: Sep 23 2007 18:07:19 Server's Module Magic Number: 20051115:5 Server loaded: APR 1.2.7, APR-Util 1.2.7 Compiled using: APR 1.2.7, APR-Util 1.2.7 Architecture: 64-bit Server MPM: Prefork threaded: no forked: yes (variable process count) Server compiled with.... -D APACHE_MPM_DIR="server/mpm/prefork" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_FLOCK_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=128 -D HTTPD_ROOT="/usr" -D SUEXEC_BIN="/usr/bin/suexec" -D DEFAULT_PIDLOG="/private/var/run/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="/private/var/run/accept.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="/private/etc/apache2/mime.types" -D SERVER_CONFIG_FILE="/private/etc/apache2/httpd.conf"
I'm really happy about this because now I'm integrated with Apple for my whole development stack (Ruby, Ruby Gems, Rails, Apache) except for Postgres. My setup work is fraction of what it used to be!