exit
 fi
 
-LIB_HTTPD_PATH=${LIB_HTTPD_PATH-'/usr/sbin/apache2'}
+HTTPD_PARA=""
+
+case $(uname) in
+       Darwin)
+               DEFAULT_HTTPD_PATH='/usr/sbin/httpd'
+               DEFAULT_HTTPD_MODULE_PATH='/usr/libexec/apache2'
+               HTTPD_PARA="$HTTPD_PARA -DDarwin"
+       ;;
+       *)
+               DEFAULT_HTTPD_PATH='/usr/sbin/apache2'
+               DEFAULT_HTTPD_MODULE_PATH='/usr/lib/apache2/modules'
+       ;;
+esac
+
+LIB_HTTPD_PATH=${LIB_HTTPD_PATH-"$DEFAULT_HTTPD_PATH"}
 LIB_HTTPD_PORT=${LIB_HTTPD_PORT-'8111'}
 
 TEST_PATH="$TEST_DIRECTORY"/lib-httpd
 
 if ! test -x "$LIB_HTTPD_PATH"
 then
-        say "skipping test, no web server found at '$LIB_HTTPD_PATH'"
-        test_done
-        exit
+       say "skipping test, no web server found at '$LIB_HTTPD_PATH'"
+       test_done
+       exit
 fi
 
 HTTPD_VERSION=`$LIB_HTTPD_PATH -v | \
                        exit
                fi
 
-               LIB_HTTPD_MODULE_PATH='/usr/lib/apache2/modules'
+               LIB_HTTPD_MODULE_PATH="$DEFAULT_HTTPD_MODULE_PATH"
        fi
 else
        error "Could not identify web server at '$LIB_HTTPD_PATH'"
 fi
 
-HTTPD_PARA=""
-
 prepare_httpd() {
        mkdir -p "$HTTPD_DOCUMENT_ROOT_PATH"
 
 start_httpd() {
        prepare_httpd
 
-       trap 'stop_httpd; die' exit
+       trap 'stop_httpd; die' EXIT
 
        "$LIB_HTTPD_PATH" -d "$HTTPD_ROOT_PATH" \
                -f "$TEST_PATH/apache.conf" $HTTPD_PARA \
 }
 
 stop_httpd() {
-       trap 'die' exit
+       trap 'die' EXIT
 
        "$LIB_HTTPD_PATH" -d "$HTTPD_ROOT_PATH" \
-               -f "$TEST_PATH/apache.conf" -k stop
+               -f "$TEST_PATH/apache.conf" $HTTPD_PARA -k stop
 }