--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2/Solaris/http-apache22 Thu Jun 02 00:54:08 2011 -0700
@@ -0,0 +1,166 @@
+#!/sbin/sh
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+#
+
+. /lib/svc/share/smf_include.sh
+
+APACHE_VERSION=
+APACHE_USR_ROOT=/usr/apache2
+APACHE_ETC_ROOT=/etc/apache2
+APACHE_VAR_ROOT=/var/apache2
+
+#if startup options contain multiple arguments separated by a blank,
+#then they should be specified as below
+#e.g., %> svccfg -s apache22 setprop 'httpd/startup_options=("-f" "/etc/apache2/2.2/new.conf")'
+#
+STARTUP_OPTIONS=
+
+SERVER_TYPE=prefork
+PLATFORM_DIR=
+
+getprop() {
+ PROPVAL=""
+ svcprop -q -p $1 ${SMF_FMRI}
+ if [ $? -eq 0 ] ; then
+ PROPVAL=`svcprop -p $1 ${SMF_FMRI}`
+ if [ "${PROPVAL}" = "\"\"" ] ; then
+ PROPVAL=""
+ fi
+ return
+ fi
+ return
+}
+
+APACHE_VERSION=`echo ${SMF_FMRI} | sed 's/[^0-9]//g;s/./\.&/g;s/^\.//'`
+if [ "x${APACHE_VERSION}" != "x" ]; then
+ echo "Apache version is ${APACHE_VERSION}"
+ APACHE_USR_ROOT=${APACHE_USR_ROOT}/${APACHE_VERSION}
+ APACHE_ETC_ROOT=${APACHE_ETC_ROOT}/${APACHE_VERSION}
+ APACHE_VAR_ROOT=${APACHE_VAR_ROOT}/${APACHE_VERSION}
+fi
+
+getprop httpd/enable_64bit
+if [ "${PROPVAL}" != "" ] ; then
+ case ${PROPVAL} in
+ true|1)
+ # Check if the system architecture supports 64-bit applications
+ PLATFORM=`isainfo -b`
+ if [ "${PLATFORM}" != "64" ]; then
+ echo "This system is not capable of supporting 64-bit applications."
+ echo "Set \"enable_64bit\" property value to \"false\" to start the 32-bit server."
+ exit $SMF_EXIT_ERR_CONFIG
+ fi
+
+ # 64 bit Apache
+ PLATFORM_DIR=::ISAINFO::
+ ;;
+ false|0)
+ # 32 bit Apache
+ PLATFORM_DIR=
+ ;;
+ *)
+ # Invalid value for "bitness"
+ echo "\"bitness\" property value is invalid. Starting the server in 32-bit mode"
+ PLATFORM_DIR=
+ ;;
+ esac
+fi
+
+APACHE_HOME=${APACHE_USR_ROOT}
+APACHE_BIN=${APACHE_HOME}/bin${PLATFORM_DIR}
+
+getprop httpd/startup_options
+if [ "${PROPVAL}" != "" ] ; then
+ echo startupoptions set
+ echo val=${PROPVAL}
+ STARTUP_OPTIONS="${PROPVAL} -k"
+fi
+
+getprop httpd/server_type
+if [ "${PROPVAL}" != "" ] ; then
+ SERVER_TYPE=${PROPVAL}
+fi
+
+case ${SERVER_TYPE} in
+prefork)
+ # If HTTPD value is set in
+ # /etc/apache2/<version>/envvars file
+ # delete the line so that it defaults to prefork
+ # type
+ ALREADY_SET=`grep "HTTPD=" ${APACHE_ETC_ROOT}/envvars`
+ if [ "${ALREADY_SET}" != "" ]; then
+ sed -e '/^HTTPD=/ d' ${APACHE_ETC_ROOT}/envvars > ${APACHE_ETC_ROOT}/envvars.new
+ cp ${APACHE_ETC_ROOT}/envvars.new ${APACHE_ETC_ROOT}/envvars
+ rm ${APACHE_ETC_ROOT}/envvars.new
+ fi
+ ;;
+worker)
+ # set HTTPD value to httpd.worker within
+ # /etc/apache2/<version>/envvars file
+ ALREADY_SET=`grep "HTTPD=" ${APACHE_ETC_ROOT}/envvars`
+ if [ "${ALREADY_SET}" != "" ]; then
+ sed -e '/^HTTPD=/c\
+HTTPD='${APACHE_BIN}'/httpd.worker' ${APACHE_ETC_ROOT}/envvars > ${APACHE_ETC_ROOT}/envvars.new
+ else
+ sed -e '$a\
+HTTPD='${APACHE_BIN}'/httpd.worker' ${APACHE_ETC_ROOT}/envvars > ${APACHE_ETC_ROOT}/envvars.new
+ fi
+
+ cp ${APACHE_ETC_ROOT}/envvars.new ${APACHE_ETC_ROOT}/envvars
+ rm ${APACHE_ETC_ROOT}/envvars.new
+ ;;
+*)
+ if [ "x${APACHE_VERSION}" != "x" ]; then
+ echo "Unknown server_type"
+ exit $SMF_EXIT_ERR_CONFIG
+ fi
+ ;;
+esac
+
+
+
+case "$1" in
+start)
+ cmd="start"
+ ;;
+refresh)
+ cmd="graceful"
+ ;;
+stop)
+ cmd="stop"
+ ;;
+*)
+ echo "Usage: $0 {start|stop|refresh}"
+ exit $SMF_EXIT_ERR_CONFIG
+ ;;
+esac
+
+${APACHE_BIN}/apachectl ${STARTUP_OPTIONS} ${cmd} 2>&1
+
+if [ $? -ne 0 ]; then
+ echo "Server failed to start. Check the error log (defaults to ${APACHE_VAR_ROOT}/logs/error_log) for more information, if any."
+ exit $SMF_EXIT_ERR_FATAL
+fi
+
+exit $SMF_EXIT_OK