]> git.pld-linux.org Git - packages/apache.git/blame - apache.init
- add configtest target, consistency
[packages/apache.git] / apache.init
CommitLineData
8faab90e 1#!/bin/sh
58f9559b 2#
34c86420 3# apache Apache Web Server
58f9559b 4#
34c86420 5# chkconfig: 345 85 15
6# description: Apache is a World Wide Web server. It is used to serve \
7# HTML files and CGI.
8# processname: httpd
9# pidfile: /var/run/httpd.pid
5980b766 10# config: /etc/httpd/apache.conf
34c86420 11
12# Source function library
58f9559b
AF
13. /etc/rc.d/init.d/functions
14
34c86420 15# Get network config
16. /etc/sysconfig/network
17
18# Get service config
9dd5ff04 19[ -f /etc/sysconfig/httpd ] && . /etc/sysconfig/httpd
34c86420 20
58f9559b 21# Check that networking is up.
a7f729cf 22if is_yes "${NETWORKING}"; then
bc107690 23 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
a7f729cf 24 msg_network_down httpd
25 exit 1
26 fi
27else
28 exit 0
036261c0 29fi
1f86fa83 30
7728b647 31[ -z "$HTTPD_MPM" ] && HTTPD_MPM="prefork"
83998870
ER
32
33if [ -n "${HTTPD_CONF}" ]; then
34 if [ -d "${HTTPD_CONF}" ] || [ -f "${HTTPD_CONF}" ]; then
35 CFG="-f ${HTTPD_CONF}"
36 else
37 echo "error: HTTPD_CONF='$HTTPD_CONF': not a file, not a directory"
38 exit 1
39 fi
812867fe 40fi
7728b647 41
fa160d07
ER
42configtest() {
43 /usr/sbin/httpd.${HTTPD_MPM} -t $CFG $HTTPD_OPTS >/dev/null 2>&1
44}
45
edb12654 46start() {
34c86420 47 # Check if the service is already running?
a7f729cf 48 if [ ! -f /var/lock/subsys/httpd ]; then
7728b647 49 msg_starting httpd.${HTTPD_MPM}
bd795887 50 daemon /usr/sbin/httpd.${HTTPD_MPM} $CFG $HTTPD_OPTS
a7f729cf 51 RETVAL=$?
52 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/httpd
34c86420 53 else
7728b647 54 msg_already_running httpd.${HTTPD_MPM}
34c86420 55 fi
edb12654
ER
56}
57
58stop() {
a7f729cf 59 # Stop daemons.
a4aad8e2 60 if [ -f /var/lock/subsys/httpd ]; then
7728b647 61 msg_stopping httpd.${HTTPD_MPM}
21f20c3b 62 killproc --pidfile httpd.pid httpd.${HTTPD_MPM}
5980b766 63 rm -f /var/lock/subsys/httpd /var/run/httpd.pid /var/run/httpd.loc* >/dev/null 2>&1
a7f729cf 64 else
7728b647 65 msg_not_running httpd.${HTTPD_MPM}
a4aad8e2 66 fi
edb12654
ER
67}
68
6c46b529
JB
69condrestart() {
70 if [ -f /var/lock/subsys/httpd ]; then
71 stop
72 start
73 else
74 msg_not_running httpd.${HTTPD_MPM}
75 RETVAL=$1
76 fi
77}
78
edb12654
ER
79RETVAL=0
80# See how we were called.
81case "$1" in
82 start)
83 start
84 ;;
85 stop)
86 stop
58f9559b
AF
87 ;;
88 status)
7728b647 89 status httpd.${HTTPD_MPM}
b3d1e4ee 90 RETVAL=$?
fa160d07 91 /usr/sbin/httpd.${HTTPD_MPM} $CFG $HTTPD_OPTS -S
58f9559b 92 ;;
40350f98 93 restart)
edb12654
ER
94 stop
95 start
58f9559b 96 ;;
6c46b529
JB
97 try-restart)
98 condrestart 0
99 ;;
f9712db9 100 reload|force-reload|graceful)
e156d1e7 101 if [ -f /var/lock/subsys/httpd ]; then
fa160d07 102 configtest
df2f26df
ER
103 RETVAL=$?
104 if [ $RETVAL -eq 0 ]; then
1473e92a 105 msg_reloading httpd.${HTTPD_MPM}
e54cf0e3 106 busy
fa160d07 107 /usr/sbin/httpd.${HTTPD_MPM} $CFG $HTTPD_OPTS -k graceful
47962253 108 RETVAL=$?
e54cf0e3 109 [ $RETVAL -eq 0 ] && ok || fail
1c5fd89c 110 fi
e156d1e7 111 else
0f736bbd 112 msg_not_running httpd.${HTTPD_MPM}
e156d1e7 113 RETVAL=7
114 fi
40350f98 115 ;;
1f79aa47
ER
116 flush-logs)
117 if [ -f /var/lock/subsys/httpd ]; then
118 msg_reloading httpd.${HTTPD_MPM}
119
fa160d07 120 configtest
1f79aa47
ER
121 RETVAL=$?
122 if [ $RETVAL -eq 0 ]; then
bd795887 123 /usr/sbin/httpd.${HTTPD_MPM} $CFG -k graceful
1f79aa47 124 RETVAL=$?
bd795887 125 [ $RETVAL -eq 0 ] && ok || fail
1f79aa47
ER
126 else
127 fail
128 echo >&2 "Configuration file syntax test failed."
129 fi
130 fi
131 ;;
fa160d07
ER
132 configtest)
133 /usr/sbin/httpd.${HTTPD_MPM} -t $CFG $HTTPD_OPTS
134 ;;
58f9559b 135 *)
fa160d07 136 msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|graceful|configtest|status}"
e156d1e7 137 exit 3
58f9559b
AF
138 ;;
139esac
140
a4aad8e2 141exit $RETVAL
This page took 0.055484 seconds and 4 git commands to generate.