Benutzer:Harry: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Harry (Diskussion | Beiträge) |
Harry (Diskussion | Beiträge) |
||
Zeile 10: | Zeile 10: | ||
=== [[Benutzer:Harry/test.sh|test.sh]] === | === [[Benutzer:Harry/test.sh|test.sh]] === | ||
< | <code> | ||
#!/bin/sh -e | #!/bin/sh -e | ||
# | # | ||
Zeile 188: | Zeile 188: | ||
</ | </code> | ||
=== [[Benutzer:Harry/test.txt|txt]] === | === [[Benutzer:Harry/test.txt|txt]] === |
Version vom 10. März 2009, 13:51 Uhr
Harry
sacht au wat
Neu
Neue Seite?
Nicht wirklich!
test.sh
- !/bin/sh -e
- apache2 This init.d script is used to start apache2.
- It basically just calls apache2ctl.
ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin"
- [ `ls -1 /etc/apache2/sites-enabled/ | wc -l | sed -e 's/ *//;'` -eq 0 ] && \
- echo "You haven't enabled any sites yet, so I'm not starting apache2." && \
- echo "To add and enable a host, use addhost and enhost." && exit 0
- edit /etc/default/apache2 to change this.
NO_START=0
set -e
if [ -x /usr/sbin/apache2 ] ; then
HAVE_APACHE2=1
else
echo "No apache MPM package installed"
exit 0
fi
. /lib/lsb/init-functions
test -f /etc/default/rcS && . /etc/default/rcS
test -f /etc/default/apache2 && . /etc/default/apache2
if [ "$NO_START" != "0" -a "$1" != "stop" ]; then
log_warning_msg "Not starting apache2 - edit /etc/default/apache2 and change NO_START to be 0.";
exit 0;
fi
APACHE2="$ENV /usr/sbin/apache2"
APACHE2CTL="$ENV /usr/sbin/apache2ctl"
pidof_apache() {
# if pidof is null for some reasons the script exits automagically
# classified as good/unknown feature
PIDS=`pidof apache2` || true
PID=""
# let's try to find the pid file
# apache2 allows more than PidFile entry in the config but only
PID=""
# let's try to find the pid file
# apache2 allows more than PidFile entry in the config but only
# the last found in the config is used
for PFILE in `grep ^PidFile /etc/apache2/* -r | awk '{print $2}'`; do
if [ -e $PFILE ]; then
cat $PFILE
return 0
fi
done
REALPID=0
# if there is a pid we need to verify that belongs to apache2
# for real
for i in $PIDS; do
if [ "$i" = "$PID" ]; then
# in this case the pid stored in the
# pidfile matches one of the pidof apache
# so a simple kill will make it
echo $PID
return 0
fi
}
apache_stop() {
if `apache2 -t > /dev/null 2>&1`; then
# if the config is ok than we just stop normaly
$APACHE2 -k stop
else
# if we are here something is broken and we need to try
# to exit as nice and clean as possible
PID=$(pidof_apache)
if [ "${PID}" ]; then
# in this case it is everything nice and dandy
# and we kill apache2
kill $PID
elif [ "$(pidof apache2)" ]; then
if [ "$VERBOSE" != no ]; then
echo " ... failed!"
echo "You may still have some apache2 processes
running. There are"
echo "processes named 'apache2' which do not match your pid file,"
echo "and in the name of safety, we've left them alone. Please review"
echo "the situation by hand."
fi
return 1
fi
fi
}
apache_sync_stop() {
# running ?
PIDTMP=$(pidof_apache)
if $(kill -0 "${PIDTMP:-}" 2> /dev/null); then
PID=$PIDTMP
fi
apache_stop
# wait until really stopped
if [ -n "${PID:-}" ]; then
i=0
while $(kill -0 "${PID:-}" 2> /dev/null); do
if [ $i = '30' ]; then
break;
else
if [ $i = '0' ]; then
echo -n " waiting "
else
echo -n "."
fi
i=$(($i+1))
sleep 2
fi
done
fi
}
- Stupid hack to keep lintian happy. (Warrk! Stupidhack!).
case $1 in
start)
[ -f /etc/apache2/httpd.conf ] || touch /etc/apache2/httpd.conf
[ -d /var/run/apache2 ] || mkdir -p /var/run/apache2
install -d -o www-data /var/lock/apache2
#ssl_scache shouldn't be here if we're just starting up.
[ -f /var/run/apache2/ssl_scache ] && rm -f /var/run/apache2/*ssl_scache*
log_begin_msg "Starting web server (apache2)..."
if $APACHE2CTL start; then
log_end_msg 0
else
log_end_msg 1
fi
;;
stop)
log_begin_msg "Stopping web server (apache2)..."
if apache_stop; then
log_end_msg 0
else
log_end_msg 1
fi
;;
reload)
if ! $APACHE2CTL configtest > /dev/null 2>&1; then
$APACHE2CTL configtest || true
log_end_msg 1
exit 1
fi
log_begin_msg "Reloading web server config..."
if pidof_apache; then
if $APACHE2CTL graceful $2 ; then
log_end_msg 0
else
log_end_msg 1
fi
fi
;;
restart | force-reload)
log_begin_msg "Forcing reload of web server (apache2)..."
if ! apache_sync_stop; then
log_end_msg 1
fi
if $APACHE2CTL start; then
log_end_msg 0
else
log_end_msg 1
fi
;;
*)
log_success_msg "Usage: /etc/init.d/apache2 {start|stop|restart|reload|force-reload}"
;;
esac