Package: apache2 Version: 2.4.6-2 Severity: important Dear Maintainer,
After upgrade from apache 2.2 to apache 2.4 the init script (/etc/init.d/apache2) and cron job (/etc/cron.daily/apache2) try and fail to invoke '/usr/sbin/htcacheclean'. I don't know if that module was included with apache2.2-bin or apache2.2-common at one time but it is in apache2-utils now and the location is '/usr/bin/htcacheclean'. Also, the init file cache path still references subdirectory 'mod_disk_cache': 'HTCACHECLEAN_PATH=/var/cache/apache2$DIR_SUFFIX/mod_disk_cache' which should be 'mod_cache_disk' to reflect the module rename: 'HTCACHECLEAN_PATH=/var/cache/apache2$DIR_SUFFIX/mod_cache_disk' -- Package-specific info: -- System Information: Debian Release: jessie/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 3.9-1-686-pae (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages apache2 depends on: ii apache2-bin 2.4.6-2 ii apache2-data 2.4.6-2 ii lsb-base 4.1+Debian12 ii mime-support 3.54 ii perl 5.14.2-21 ii procps 1:3.3.4-2 Versions of packages apache2 recommends: ii ssl-cert 1.0.32 Versions of packages apache2 suggests: ii apache2-doc 2.4.6-2 pn apache2-suexec-pristine | apache2-suexec-custom <none> ii apache2-utils 2.4.6-2 ii chromium [www-browser] 28.0.1500.95-3 ii epiphany-browser [www-browser] 3.4.2-2.1 ii iceweasel [www-browser] 10.0.12esr-1+nmu1 ii lynx-cur [www-browser] 2.8.8dev.12-2 ii w3m [www-browser] 0.5.3-8 Versions of packages apache2-bin depends on: ii libapr1 1.4.8-1 ii libaprutil1 1.5.2-1 ii libaprutil1-dbd-mysql 1.5.2-1 ii libaprutil1-ldap 1.5.2-1 ii libc6 2.17-7 ii libcap2 1:2.22-1.2 ii libldap-2.4-2 2.4.31-1+nmu2 ii liblua5.1-0 5.1.5-4 ii libpcre3 1:8.31-2 ii libssl1.0.0 1.0.1e-3 ii libxml2 2.9.1+dfsg1-2 ii perl 5.14.2-21 ii zlib1g 1:1.2.8.dfsg-1 Versions of packages apache2-bin suggests: ii apache2-doc 2.4.6-2 pn apache2-suexec-pristine | apache2-suexec-custom <none> ii chromium [www-browser] 28.0.1500.95-3 ii epiphany-browser [www-browser] 3.4.2-2.1 ii iceweasel [www-browser] 10.0.12esr-1+nmu1 ii lynx-cur [www-browser] 2.8.8dev.12-2 ii w3m [www-browser] 0.5.3-8 Versions of packages apache2 is related to: ii apache2 2.4.6-2 ii apache2-bin 2.4.6-2 -- Configuration Files: /etc/apache2/sites-available/000-default.conf changed: <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log vhost_combined </VirtualHost> /etc/cron.daily/apache2 changed: set -e set -u [ -e /usr/bin/htcacheclean ] || exit 0 [ -e /etc/default/apache2 ] || exit 0 HTCACHECLEAN_MODE=daemon HTCACHECLEAN_RUN=auto HTCACHECLEAN_SIZE=300M HTCACHECLEAN_PATH=/var/cache/apache2/mod_cache_disk HTCACHECLEAN_OPTIONS="" . /etc/default/apache2 [ "$HTCACHECLEAN_MODE" = "cron" ] || exit 0 [ "$HTCACHECLEAN_RUN" = "yes" ] || ( [ "$HTCACHECLEAN_RUN" = "auto" ] && \ [ -e /etc/apache2/mods-enabled/cache_disk.load ] ) || exit 0 /usr/sbin/htcacheclean ${HTCACHECLEAN_OPTIONS} \ -p${HTCACHECLEAN_PATH} \ -l${HTCACHECLEAN_SIZE} /etc/init.d/apache2 changed: DESC="web server" NAME=apache2 DAEMON=/usr/sbin/$NAME SCRIPTNAME="${0##*/}" SCRIPTNAME="${SCRIPTNAME##[KS][0-9][0-9]}" if [ -n "$APACHE_CONFDIR" ] ; then if [ "${APACHE_CONFDIR##/etc/apache2-}" != "${APACHE_CONFDIR}" ] ; then DIR_SUFFIX="${APACHE_CONFDIR##/etc/apache2-}" else DIR_SUFFIX= fi elif [ "${SCRIPTNAME##apache2-}" != "$SCRIPTNAME" ] ; then DIR_SUFFIX="-${SCRIPTNAME##apache2-}" APACHE_CONFDIR=/etc/apache2$DIR_SUFFIX else DIR_SUFFIX= APACHE_CONFDIR=/etc/apache2 fi if [ -z "$APACHE_ENVVARS" ] ; then APACHE_ENVVARS=$APACHE_CONFDIR/envvars fi export APACHE_CONFDIR APACHE_ENVVARS ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin" if [ "$APACHE_CONFDIR" != /etc/apache2 ] ; then ENV="$ENV APACHE_CONFDIR=$APACHE_CONFDIR" fi if [ "$APACHE_ENVVARS" != "$APACHE_CONFDIR/envvars" ] ; then ENV="$ENV APACHE_ENVVARS=$APACHE_ENVVARS" fi HTCACHECLEAN_RUN=auto HTCACHECLEAN_MODE=daemon HTCACHECLEAN_SIZE=300M HTCACHECLEAN_DAEMON_INTERVAL=120 HTCACHECLEAN_PATH=/var/cache/apache2$DIR_SUFFIX/mod_cache_disk HTCACHECLEAN_OPTIONS="" APACHE_HTTPD=$(. $APACHE_ENVVARS && echo $APACHE_HTTPD) if [ -z "$APACHE_HTTPD" ] ; then APACHE_HTTPD=/usr/sbin/apache2 fi if [ -f /etc/default/apache2$DIR_SUFFIX ] ; then . /etc/default/apache2$DIR_SUFFIX elif [ -f /etc/default/apache2 ] ; then . /etc/default/apache2 fi PIDFILE=$(. $APACHE_ENVVARS && echo $APACHE_PID_FILE) VERBOSE=no if [ -f /etc/default/rcS ]; then . /etc/default/rcS fi . /lib/lsb/init-functions APACHE2CTL="$ENV /usr/sbin/apache2ctl" HTCACHECLEAN="$ENV /usr/bin/htcacheclean" PIDFILE=$(. $APACHE_ENVVARS && echo $APACHE_PID_FILE) APACHE2_INIT_MESSAGE="" CONFTEST_OUTFILE= cleanup() { if [ -n "$CONFTEST_OUTFILE" ] ; then rm -f "$CONFTEST_OUTFILE" fi } trap cleanup 0 # "0" means "EXIT", but "EXIT" is not portable apache_conftest() { [ -z "$CONFTEST_OUTFILE" ] || rm -f "$CONFTEST_OUTFILE" CONFTEST_OUTFILE=$(mktemp) if ! $APACHE2CTL configtest > "$CONFTEST_OUTFILE" 2>&1 ; then return 1 else rm -f "$CONFTEST_OUTFILE" CONFTEST_OUTFILE= return 0 fi } clear_error_msg() { [ -z "$CONFTEST_OUTFILE" ] || rm -f "$CONFTEST_OUTFILE" CONFTEST_OUTFILE= APACHE2_INIT_MESSAGE= } print_error_msg() { [ -z "$APACHE2_INIT_MESSAGE" ] || log_warning_msg "$APACHE2_INIT_MESSAGE" if [ -n "$CONFTEST_OUTFILE" ] ; then echo "Output of config test was:" >&2 cat "$CONFTEST_OUTFILE" >&2 rm -f "$CONFTEST_OUTFILE" CONFTEST_OUTFILE= fi } apache_wait_start() { local STATUS=$1 local i=0 while : ; do PIDTMP=$(pidofproc -p $PIDFILE $DAEMON) if [ -n "${PIDTMP:-}" ] && kill -0 "${PIDTMP:-}" 2> /dev/null; then return $STATUS fi if [ $i = "20" ] ; then APACHE2_INIT_MESSAGE="The apache2$DIR_SUFFIX instance did not start within 20 seconds. Please read the log files to discover problems" return 2 fi [ "$VERBOSE" != no ] && log_progress_msg "." sleep 1 i=$(($i+1)) done } apache_wait_stop() { local STATUS=$1 PIDTMP=$(pidofproc -p $PIDFILE $DAEMON) if [ -n "${PIDTMP:-}" ] && kill -0 "${PIDTMP:-}" 2> /dev/null; then local i=0 while kill -0 "${PIDTMP:-}" 2> /dev/null; do if [ $i = '60' ]; then break STATUS=2 fi [ "$VERBOSE" != no ] && log_progress_msg "." sleep 1 i=$(($i+1)) done return $STATUS else return $STATUS fi } do_start() { # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started if pidofproc -p $PIDFILE "$DAEMON" > /dev/null 2>&1 ; then return 1 fi if apache_conftest ; then $APACHE2CTL start apache_wait_start $? return $? else APACHE2_INIT_MESSAGE="The apache2$DIR_SUFFIX configtest failed." return 2 fi } do_stop() { # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred # either "stop" or "graceful-stop" local STOP=$1 # can't use pidofproc from LSB here local AP_RET=0 if pidof $DAEMON > /dev/null 2>&1 ; then if [ -e $PIDFILE ] && pidof $DAEMON | tr ' ' '\n' | grep -w $(cat $PIDFILE) > /dev/null 2>&1 ; then AP_RET=2 else AP_RET=1 fi else AP_RET=0 fi # AP_RET is: # 0 if Apache (whichever) is not running # 1 if Apache (whichever) is running # 2 if Apache from the PIDFILE is running if [ $AP_RET = 0 ] ; then return 1 fi if [ $AP_RET = 2 ] && apache_conftest ; then $APACHE2CTL $STOP > /dev/null 2>&1 apache_wait_stop $? return $? else if [ $AP_RET = 2 ]; then clear_error_msg APACHE2_INIT_MESSAGE="The apache2$DIR_SUFFIX configtest failed, so we are trying to kill it manually. This is almost certainly suboptimal, so please make sure your system is working as you'd expect now!" killproc -p $PIDFILE $DAEMON apache_wait_stop $? return $? elif [ $AP_RET = 1 ] ; then APACHE2_INIT_MESSAGE="There are processes named 'apache2' running which do not match your pid file which are left untouched in the name of safety, Please review the situation by hand". return 2 fi fi } do_reload() { if apache_conftest; then if ! pidofproc -p $PIDFILE "$DAEMON" > /dev/null 2>&1 ; then APACHE2_INIT_MESSAGE="Apache2 is not running" return 2 fi $APACHE2CTL graceful > /dev/null 2>&1 return $? else APACHE2_INIT_MESSAGE="The apache2$DIR_SUFFIX configtest failed. Not doing anything." return 2 fi } check_htcacheclean() { [ "$HTCACHECLEAN_MODE" = "daemon" ] || return 1 [ "$HTCACHECLEAN_RUN" = "yes" ] && return 0 MODSDIR=$(. $APACHE_ENVVARS && echo $APACHE_MODS_ENABLED) [ "$HTCACHECLEAN_RUN" = "auto" \ -a -e ${MODSDIR:-$APACHE_CONFDIR/mods-enabled}/cache_disk.load ] && \ return 0 return 1 } start_htcacheclean() { $HTCACHECLEAN $HTCACHECLEAN_OPTIONS -d$HTCACHECLEAN_DAEMON_INTERVAL \ -i -p$HTCACHECLEAN_PATH -l$HTCACHECLEAN_SIZE } stop_htcacheclean() { pkill -P 1 -f "htcacheclean.* -p$HTCACHECLEAN_PATH " 2> /dev/null || return 1 } [ -x $APACHE_HTTPD ] || exit 0 if [ ! -x $APACHE_HTTPD ] ; then echo "No apache MPM package installed" exit 0 fi if [ -z "$PIDFILE" ] ; then echo ERROR: APACHE_PID_FILE needs to be defined in $APACHE_ENVVARS >&2 exit 2 fi if check_htcacheclean ; then if [ ! -d "$HTCACHECLEAN_PATH" ] ; then echo "htcacheclean is configured, but directory $HTCACHECLEAN_PATH does not exist!" >&2 exit 2 fi fi case "$1" in start) log_daemon_msg "Starting $DESC" "$NAME" do_start RET_STATUS=$? case "$RET_STATUS" in 0|1) log_success_msg [ "$VERBOSE" != no ] && [ $RET_STATUS = 1 ] && log_warning_msg "Server was already running" if check_htcacheclean ; then [ "$VERBOSE" != no ] && log_daemon_msg "Starting HTTP cache cleaning daemon" "htcacheclean" start_htcacheclean [ "$VERBOSE" != no ] && log_end_msg $? fi ;; 2) log_failure_msg print_error_msg exit 1 ;; esac ;; stop|graceful-stop) log_daemon_msg "Stopping $DESC" "$NAME" do_stop "$1" RET_STATUS=$? case "$RET_STATUS" in 0|1) log_success_msg [ "$VERBOSE" != no ] && [ $RET_STATUS = 1 ] && log_warning_msg "Server was not running" ;; 2) log_failure_msg print_error_msg exit 1 ;; esac print_error_msg if check_htcacheclean ; then [ "$VERBOSE" != no ] && log_daemon_msg "Stopping HTTP cache cleaning daemon" "htcacheclean" stop_htcacheclean [ "$VERBOSE" != no ] && log_end_msg $? fi ;; status) status_of_proc -p $PIDFILE "apache2" "$NAME" exit $? ;; reload|force-reload|graceful) log_daemon_msg "Reloading $DESC" "$NAME" do_reload RET_STATUS=$? case "$RET_STATUS" in 0|1) log_success_msg [ "$VERBOSE" != no ] && [ $RET_STATUS = 1 ] && log_warning_msg "Server was already running" ;; 2) log_failure_msg print_error_msg exit 1 ;; esac print_error_msg ;; restart) log_daemon_msg "Restarting $DESC" "$NAME" do_stop stop case "$?" in 0|1) do_start case "$?" in 0) log_end_msg 0 ;; 1|*) log_end_msg 1 # Old process is still or failed to running print_error_msg exit 1 ;; esac ;; *) # Failed to stop log_end_msg 1 print_error_msg exit 1 ;; esac ;; start-htcacheclean) log_daemon_msg "Starting htcacheclean" start_htcachelean log_end_msg $? exit $? ;; stop-htcacheclean) log_daemon_msg "Stopping htcacheclean" stop_htcacheclean log_end_msg $? exit $? ;; *) echo "Usage: $SCRIPTNAME {start|stop|graceful-stop|restart|reload|force-reload|start-htcacheclean|stop-htcacheclean}" >&2 exit 3 ;; esac exit 0 -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org