How to automatically start Apache on Solaris 9 reboot/boot
Here’s how you can have Apache automatically start on system reboot/boot on Solaris 9.
- become root user
- cd /etc/init.d
- ls -al to see if there is a file named “apache.”
- If not, create a file named “apache” with the following:
- Make sure the APACHE_HOME and CONF_FILE have the correct paths.
- chmod 744 /etc/init.d/apache
- Test your script to make sure it works:
./apache start - cd /etc/rc3.d
- See if the “S50apache” symbolic link exists in that directory. If not then create the symbolic link (make sure you are not going to overwrite anything)
ln -s /etc/init.d/apache S50apache - Reboot the system by typing:
/usr/sbin/reboot
#!/sbin/sh
#
# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
# Use subject to license terms.
#
#ident “@(#)apache.sh 1.3 04/07/18 SMI”
APACHE_HOME=/usr/local/apache2
CONF_FILE=/usr/local/apache2/conf/httpd.conf
PIDFILE=/var/run/httpd.pid
TOMCAT_CF=/var/apache/tomcat/conf/server.xml
if [ ! -f ${CONF_FILE} ]; then
exit 0
fi
# see if we need to start/stop tomcat also
CF=`egrep ‘^[ \t]*include[ \t]*/etc/apache/tomcat.conf’ $CONF_FILE`
if [ -n "$CF" -a -f $TOMCAT_CF ]; then
TOMCAT=yes
TC_USER=`egrep ‘^[ \t]*User[ \t]‘ $CONF_FILE | nawk ‘{print $2}’`
else
TOMCAT=no
fi
case “$1″ in
start)
/bin/rm -f ${PIDFILE}
cmdtext=”starting”
if [ "x$TOMCAT" != xno ]; then
(CATALINA_HOME=${APACHE_HOME}/tomcat; export CATALINA_HOME; \
CATALINA_BASE=/var/apache/tomcat; export CATALINA_BASE; \
JAVA_HOME=/usr/java; export JAVA_HOME; \
/bin/su $TC_USER -c \
“$CATALINA_HOME/bin/startup.sh”) \
>/dev/null 2>&1
fi
;;
restart)
cmdtext=”restarting”
;;
stop)
cmdtext=”stopping”
if [ "x$TOMCAT" != xno ]; then
(CATALINA_HOME=${APACHE_HOME}/tomcat; export CATALINA_HOME; \
CATALINA_BASE=/var/apache/tomcat; export CATALINA_BASE; \
JAVA_HOME=/usr/java; export JAVA_HOME; \
/bin/su $TC_USER -c \
“$CATALINA_HOME/bin/shutdown.sh”) \
>/dev/null 2>&1
fi
;;
*)
echo “Usage: $0 {start|stop|restart}”
exit 1
;;
esac
echo “httpd $cmdtext.”
/bin/sh -c “${APACHE_HOME}/bin/apachectl $1″ >/dev/null 2>&1
status=$?
if [ $status != 0 ]; then
echo “exit status $status”
exit 1
fi
exit 0