Apache startet nach System Reboot nicht

Apache, Lighttpd, nginx, Cherokee
User avatar
cpedv
Posts: 15
Joined: 2008-12-25 15:56
Location: Köln

Apache startet nach System Reboot nicht

Post by cpedv » 2008-12-25 16:18

Hallo freue mich hier Registriert zu haben, kenne das Forum schon länger und finde es ganz toll.

Seit zwei Tage habe ich ein Problem, wenn ich ein Reboot des ganzen System mache wird der Apache nicht mit gestartet, ich muss Ihn dann immer Manuell starten.

Manuell habe ich keine Probleme, hier Funktioniert alles ohne Fehlermeldung.

Ich benutze neben der Shell (Putty) auch Webmin und hier kann ich unter System Programme start/stop auch ohne Probleme starten und stoppen, es seht auch das "Ja" für die init.d Datei., dass das Startscript beim Systemreboot mit geladen werden soll.

In den Error Logs des Apachen kann ich nur das finden:

Code: Select all

[Thu Dec 25 13:50:21 2008] [notice] caught SIGTERM, shutting down
[Thu Dec 25 13:52:51 2008] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Thu Dec 25 13:52:51 2008] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Thu Dec 25 13:52:51 2008] [warn] RSA server certificate CommonName (CN) `confixx' does NOT match server name!?
[Thu Dec 25 13:52:51 2008] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Thu Dec 25 13:52:51 2008] [warn] RSA server certificate CommonName (CN) `confixx' does NOT match server name!?
[Thu Dec 25 13:52:51 2008] [warn] Init: SSL server IP/port conflict: 93.***.192.88:443 (/etc/apache2/confixx_mhost.conf:129) vs. *.*****.fastw***rver.de:443 (/etc/apache2/confixx_mhost.conf:176)
[Thu Dec 25 13:52:51 2008] [warn] Init: You should not use name-based virtual hosts in conjunction with SSL!!
[Thu Dec 25 13:52:51 2008] [notice] suEXEC mechanism enabled (wrapper: /usr/lib/apache2/suexec)
[Thu Dec 25 13:52:51 2008] [notice] ModSecurity for Apache/2.5.7 (http://www.modsecurity.org/) configured.
[Thu Dec 25 13:52:51 2008] [notice] Original server signature: Apache/2.2.9 (Debian) mod_ssl/2.2.9 OpenSSL/0.9.8g
[Thu Dec 25 13:52:52 2008] [notice] mod_python: Creating 8 session mutexes based on 150 max processes and 0 max threads.
[Thu Dec 25 13:52:52 2008] [notice] mod_python: using mutex_directory /tmp
[Thu Dec 25 13:52:53 2008] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Thu Dec 25 13:52:53 2008] [warn] RSA server certificate CommonName (CN) `confixx' does NOT match server name!?
[Thu Dec 25 13:52:53 2008] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Thu Dec 25 13:52:53 2008] [warn] RSA server certificate CommonName (CN) `confixx' does NOT match server name!?
[Thu Dec 25 13:52:53 2008] [warn] Init: SSL server IP/port conflict: 93.***.192.88:443 (/etc/apache2/confixx_mhost.conf:129) vs. *.*****.fastw***rver.de:443 (/etc/apache2/confixx_mhost.conf:176)
[Thu Dec 25 13:52:53 2008] [warn] Init: You should not use name-based virtual hosts in conjunction with SSL!!
[Thu Dec 25 13:52:53 2008] [alert] (EAI 5)No address associated with hostname: mod_unique_id: unable to find IPv4 address of "*.*****.fastw***rver.de"
Configuration Failed


Mein System ist Debain Lenny 5.0 mit Confixx 3.3.4 und 6GB Ram / Quadro Core Prozessor.

Hoffe Ihr könnt mir dabei helfen, das ist zwar kein schwerwiegender Fehler, aber wenn das System mal einen Absturz oder der gleichen haben sollte wird der Apache ja nicht mit gestartet.

gruss Gero
Last edited by cpedv on 2008-12-25 16:46, edited 1 time in total.

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: Apache startet nach System Reboot nicht

Post by daemotron » 2008-12-25 16:31

Den Ärger mit mod_unique_id kenne ich; bei mir führt das allerdings zur Totalverweigerung des Indianers. Lösung: Hostname und IP-Adresse in die /etc/hosts eintragen, schon ist an der Baustelle erst mal Ruhe.

Ansonsten: Sind die entsprechenden Symlinks auf das Apache-Startskript für Runlevel 3+ gesetzt? (bin nicht so der Debian-Crack; müsste aber irgendwo unter /etc/init* oder /etc/rc* sein).

User avatar
cpedv
Posts: 15
Joined: 2008-12-25 15:56
Location: Köln

Re: Apache startet nach System Reboot nicht

Post by cpedv » 2008-12-25 16:43

Danke für die schnelle Antwort. :-D

Lösung: Hostname und IP-Adresse in die /etc/hosts eintragen, schon ist an der Baustelle erst mal Ruhe.

Darin habe ich 127.0.0.1 localhost vorhanden.

Gut das werde ich machen und die Server Domain inkl. ip mal eintragen.

Ich habe auch noch 5 Doamins am laufen, müssen diese auch eingetragen werden, das hatte ich schonmal, aber dann gab es ein error in der Logdatei.

An den Runlevel habe ich auch schon gedacht, bin aber bisher da nicht weiter gekommen, das ist der Eintrage des apache init.d

Code: Select all

#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          apache2
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/stop apache2 web server
### END INIT INFO
#
# 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.
HTCACHECLEAN_RUN=auto
HTCACHECLEAN_MODE=daemon
HTCACHECLEAN_SIZE=300M
HTCACHECLEAN_DAEMON_INTERVAL=120
HTCACHECLEAN_PATH=/var/cache/apache2/mod_disk_cache
HTCACHECLEAN_OPTIONS=""

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

APACHE2CTL="$ENV /usr/sbin/apache2ctl"
HTCACHECLEAN="$ENV /usr/sbin/htcacheclean"

PIDFILE=`. /etc/apache2/envvars ; echo $APACHE_PID_FILE`
if [ -z "$PIDFILE" ] ; then
   echo ERROR: APACHE_PID_FILE needs to be defined in /etc/apache2/envvars >&2
   exit 2
fi


check_htcacheclean() {
   [ "$HTCACHECLEAN_MODE" = "daemon" ] || return 1

   [ "$HTCACHECLEAN_RUN"  = "yes"    ] && return 0

   [ "$HTCACHECLEAN_RUN"  = "auto"
     -a -e /etc/apache2/mods-enabled/disk_cache.load ] && return 0
   
   return 1
}

start_htcacheclean() {
   $HTCACHECLEAN $HTCACHECLEAN_OPTIONS -d$HTCACHECLEAN_DAEMON_INTERVAL
         -i -p$HTCACHECLEAN_PATH -l$HTCACHECLEAN_SIZE
            
}

stop_htcacheclean() {
   killall htcacheclean 2> /dev/null || echo ...not running
}

pidof_apache() {
    # if pidof is null for some reasons the script exits automagically
    # classified as good/unknown feature
    PIDS=`pidof apache2` || true

    [ -e $PIDFILE ] && PIDS2=`cat $PIDFILE`
   
    # if there is a pid we need to verify that belongs to apache2
    # for real
    for i in $PIDS; do
       if [ "$i" = "$PIDS2" ]; then
            # in this case the pid stored in the
            # pidfile matches one of the pidof apache
            # so a simple kill will make it
            echo $i
            return 0
        fi
    done
    return 1
}

apache_stop() {
   if `$APACHE2CTL configtest > /dev/null 2>&1`; then
      # if the config is ok than we just stop normaly
                $APACHE2CTL stop 2>&1 | grep -v 'not running' >&2 || true
   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
         log_warning_msg "We failed to correctly shutdown apache, so we're now killing all running apache processes. This is almost certainly suboptimal, so please make sure your system is working as you'd expect now!"
                        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_wait_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 = '60' ]; then
                 break;
               else
                 if [ $i = '0' ]; then
                         echo -n " ... waiting "
                 else
                               echo -n "."
                  fi
                 i=$(($i+1))
                 sleep 1
                 fi
       done
   fi
}

case $1 in
   start)
      log_daemon_msg "Starting web server" "apache2"
      if $APACHE2CTL start; then
         if check_htcacheclean ; then
            log_progress_msg htcacheclean
            start_htcacheclean || log_end_msg 1
         fi
                        log_end_msg 0
                else
                        log_end_msg 1
                fi
   ;;
   stop)
      if check_htcacheclean ; then
         log_daemon_msg "Stopping web server" "htcacheclean"
         stop_htcacheclean
         log_progress_msg "apache2"
      else
         log_daemon_msg "Stopping web server" "apache2"
      fi
      if apache_wait_stop; then
                        log_end_msg 0
                else
                        log_end_msg 1
                fi
   ;;
   reload | force-reload)
      if ! $APACHE2CTL configtest > /dev/null 2>&1; then
                    $APACHE2CTL configtest || true
                    log_end_msg 1
                    exit 1
                fi
                log_daemon_msg "Reloading web server config" "apache2"
      if pidof_apache > /dev/null ; then
                    if $APACHE2CTL graceful $2 ; then
                        log_end_msg 0
                    else
                        log_end_msg 1
                    fi
                fi
   ;;
   restart)
      if check_htcacheclean ; then
         log_daemon_msg "Restarting web server" "htcacheclean"
         stop_htcacheclean
         log_progress_msg apache2
      else
         log_daemon_msg "Restarting web server" "apache2"
      fi
      PID=$(pidof_apache) || true
      if ! apache_wait_stop; then
                        log_end_msg 1 || true
                fi
      if $APACHE2CTL start; then
         if check_htcacheclean ; then
            start_htcacheclean || log_end_msg 1
         fi
                        log_end_msg 0
                else
                        log_end_msg 1
                fi
   ;;
   start-htcacheclean)
      log_daemon_msg "Starting htcacheclean"
      start_htcacheclean || log_end_msg 1
      log_end_msg 0
   ;;
   stop-htcacheclean)
      log_daemon_msg "Stopping htcacheclean"
         stop_htcacheclean
         log_end_msg 0
   ;;
   status)
      PID=$(pidof_apache)
      if [ -n "$PID" ]; then
         log_success_msg "Apache is running (pid $PID)."
         exit 0
      else
         log_failure_msg "Apache is not running."
         exit 1
      fi
   ;;
   *)
      log_success_msg "Usage: /etc/init.d/apache2 {start|stop|restart|reload|force-reload|start-htcacheclean|stop-htcacheclean|status}"
      exit 1
   ;;
esac


Edit: Der mod_unique_id Fehler ist nun nach dem Eintrag der Server Domain weg.

gruss Gero

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: Apache startet nach System Reboot nicht

Post by Roger Wilco » 2008-12-25 18:11

-> http://www.debiananwenderhandbuch.de/init.html

Überprüfe mit rcconf oder update-rc.d, ob das Initskript im richtigen Runlevel eingetragen ist. Wenn das der Fall ist und du eine serielle Konsole für deinen Server hast, verfolge den Startvorgang deines Systems über diese.

User avatar
cpedv
Posts: 15
Joined: 2008-12-25 15:56
Location: Köln

Re: Apache startet nach System Reboot nicht

Post by cpedv » 2008-12-25 19:41

So ich danke hiermit allen die mir so schnell geholfen haben.

Der Link war Gold wert. :-D

So hatte damit herausgefunden das mein System im Runlevel 2 lief, war ja auch ok.

Mit rcconf war der Apache aktiviert.

Dann habe ich mir das file-rc installiert, wo man dann einfach die Runlevels in der /etc/runlevel.conf verwalten kann.

Also wird ein runlevel.conf angelegt.

das war meine alte runlevel.conf

Code: Select all

# This file was automatically generated by /usr/share/file-rc/rclink2file.sh.
# You can use your favourite editor or update-rc.d(8) to modify it.
# Read runlevel.conf(5) man page for more information about this file.
#
# Format:
# <sort> <off-> <on-levels>     <command>
01   -   S      /etc/init.d/glibc.sh
02   -   S      /etc/init.d/hostname.sh
02   -   S      /etc/init.d/mountkernfs.sh
03   -   S      /etc/init.d/udev
04   -   S      /etc/init.d/mountdevsubfs.sh
05   -   1      /etc/init.d/single
05   -   S      /etc/init.d/bootlogd
05   -   S      /etc/init.d/keymap.sh
08   -   S      /etc/init.d/hwclockfirst.sh
09   0,1,6   -      /etc/init.d/apache2
10   -   2,3,4,5      /etc/init.d/rsyslog
10   -   S      /etc/init.d/checkroot.sh
11   0,1,6   -      /etc/init.d/anacron
11   0,1,6   -      /etc/init.d/atd
11   1   -      /etc/init.d/cron
11   -   S      /etc/init.d/hwclock.sh
12   -   2,3,4,5      /etc/init.d/dbus
12   -   S      /etc/init.d/mtab.sh
15   -   2,3,4,5      /etc/init.d/bind9
16   0,1,6   -      /etc/init.d/avahi-daemon
16   1   -      /etc/init.d/hal
16   -   2,3,4,5      /etc/init.d/ssh
17   -   2,3,4,5      /etc/init.d/mysql-ndb-mgm
18   -   2,3,4,5      /etc/init.d/mysql-ndb
18   -   S      /etc/init.d/ifupdown-clean
19   -   2,3,4,5      /etc/init.d/amavis
19   -   2,3,4,5      /etc/init.d/mysql
19   -   2,3,4,5      /etc/init.d/policyd-weight
19   -   2,3,4,5      /etc/init.d/spamassassin
20   0,1,6   2,3,4,5      /etc/init.d/citadel
20   0,1,6   2,3,4,5      /etc/init.d/clamav-daemon
20   0,1,6   2,3,4,5      /etc/init.d/clamav-freshclam
20   0,1,6   2,3,4,5      /etc/init.d/courier-authdaemon
20   0,1,6   2,3,4,5      /etc/init.d/courier-imap
20   0,1,6   2,3,4,5      /etc/init.d/courier-imap-ssl
20   0,1,6   2,3,4,5      /etc/init.d/courier-pop
20   0,1,6   2,3,4,5      /etc/init.d/courier-pop-ssl
20   0,1,6   2,3,4,5      /etc/init.d/cyrus2.2
20   0,1,6   2,3,4,5      /etc/init.d/denyhosts
20   0,1,6   2,3,4,5      /etc/init.d/gpm
20   0,1,6   2,3,4,5      /etc/init.d/lprng
20   0,1,6   2,3,4,5      /etc/init.d/nas
20   0,1,6   2,3,4,5      /etc/init.d/nfs-common
20   0,1,6   2,3,4,5      /etc/init.d/openntpd
20   0,1,6   2,3,4,5      /etc/init.d/postfix
20   0,1,6   2,3,4,5      /etc/init.d/rng-tools
20   0,1,6   2,3,4,5      /etc/init.d/rsync
20   0,1,6   2,3,4,5      /etc/init.d/saslauthd
20   0,1,6   2,3,4,5      /etc/init.d/vsftpd
20   -   0,6      /etc/init.d/sendsigs
20   -   S      /etc/init.d/module-init-tools
21   0,1,6   2,3,4,5      /etc/init.d/dspam
21   0,1,6   2,3,4,5      /etc/init.d/fam
21   0,1,6   -      /etc/init.d/amavis
21   0,1,6   -      /etc/init.d/mysql
21   0,1,6   -      /etc/init.d/policyd-weight
21   0,1,6   -      /etc/init.d/spamassassin
21   -   2,3,4,5      /etc/init.d/quotarpc
22   0,1,6   -      /etc/init.d/mysql-ndb
23   0,1,6   2,3,4,5      /etc/init.d/ntp
23   0,1,6   -      /etc/init.d/mysql-ndb-mgm
24   -   2,3,4,5      /etc/init.d/avahi-daemon
24   -   2,3,4,5      /etc/init.d/hal
25   0,1,6   2,3,4,5      /etc/init.d/mdadm
25   0,6   -      /etc/init.d/hwclock.sh
25   -   S      /etc/init.d/mdadm-raid
30   -   0,6      /etc/init.d/urandom
30   -   1      /etc/init.d/killprocs
30   -   S      /etc/init.d/checkfs.sh
30   -   S      /etc/init.d/procps
31   -   0,6      /etc/init.d/umountnfs.sh
32   -   0,6      /etc/init.d/portmap
35   -   0,6      /etc/init.d/networking
35   -   S      /etc/init.d/mountall.sh
35   -   S      /etc/init.d/quota
36   -   0,6      /etc/init.d/ifupdown
36   -   S      /etc/init.d/mountall-bootclean.sh
36   -   S      /etc/init.d/udev-mtab
37   -   S      /etc/init.d/mountoverflowtmp
39   -   S      /etc/init.d/ifupdown
40   -   0,6      /etc/init.d/umountfs
40   -   S      /etc/init.d/networking
40   -   S      /etc/init.d/uruk
43   -   S      /etc/init.d/portmap
44   -   S      /etc/init.d/nfs-common
45   -   S      /etc/init.d/mountnfs.sh
46   -   S      /etc/init.d/mountnfs-bootclean.sh
48   -   S      /etc/init.d/console-screen.sh
55   -   S      /etc/init.d/bootmisc.sh
55   -   S      /etc/init.d/urandom
60   -   0,6      /etc/init.d/mdadm-raid
60   -   0,6      /etc/init.d/umountroot
63   0,6   -      /etc/init.d/mountoverflowtmp
70   -   S      /etc/init.d/x11-common
75   -   S      /etc/init.d/sudo
79   0,1,6   -      /etc/init.d/quotarpc
81   1   -      /etc/init.d/portmap
84   1   -      /etc/init.d/ssh
85   0,1,6   -      /etc/init.d/bind9
85   0,6   -      /etc/init.d/quota
88   1   -      /etc/init.d/dbus
89   0,1,2,3,4,5,6   -      /etc/init.d/resolvconf
89   0,6   -      /etc/init.d/uruk
89   -   2,3,4,5      /etc/init.d/anacron
89   -   2,3,4,5      /etc/init.d/atd
89   -   2,3,4,5      /etc/init.d/cron
90   0,1,6   -      /etc/init.d/rsyslog
90   -   0      /etc/init.d/halt
90   -   2,3,4,5      /etc/init.d/binfmt-support
90   -   6      /etc/init.d/reboot
99   0,1,6   2,3,4,5      /etc/init.d/fail2ban
99   -   2,3,4,5      /etc/init.d/rc.local
99   -   2,3,4,5      /etc/init.d/rmnologin
99   -   2,3,4,5      /etc/init.d/stop-bootlogd
99   -   2,3,5      /etc/init.d/apache2
99   -   2,3,5      /etc/init.d/ts
99   -   2,3,5      /etc/init.d/webmin
99   -   S      /etc/init.d/stop-bootlogd-single
# THE LAST LINE IS NEVER READ!

Wie man sehen kann war in der Original Datei kein Runlevel beim Apachen aktiv.

Da habe ich einfach das 2,3,4,5 eingefügt und nun lässt sich der Apache nach einem Reboot wieder mit starten.
Den Rest habe ich erstmal im Originalem behalten.

Zu bedenken ist aber das mit der Installation des file-rc das System-V-Init-Skript (rc)deinstalliert wird, da keine zwei Startscrips bestehen bleiben dürfen, danach geht das rcconf nicht mehr, genau so wenig das (System-Start und -Stop) im Webmin.

Danke.

gruss Gero

Edit:

Heute Abend bekam ich von einem guten Freund der sich auch sehr gut mit Server auskennt diese Nachricht:

Das ist zwar eine Lösung, aber nicht im Sinne des Erfinders, weil es wieder jedem Standard widerspricht und es Seiteneffekt mit anderen Programmen haben könnte. Das eigentliche Problem, warum ist Apache nicht mehr gestartet, ist damit nicht beantwortet.


Deshalb habe ich wieder was anderes gemacht, denn er hat Recht, ich weiss nicht wie sich das file-rc in Zukunft mit neuen Installationen verhält/verträgt.

Mit dem file-rc den hatte ich ja den Fehler gefunden und behoben, jetzt habe ich einfach wieder das sysv-rc installiert und natürlich auch das rcconf.

Entweder hat er die Konfiguration wie beim ersten mal übernommen oder neu geschrieben, zumindest startet das Apache jetzt auch beim Reboot des System.

Klar das war jetzt nicht die feine Englische Art, aber habe trotzdem das Ergebnis erhalten. :-D
Jetzt ist alles wieder Perfekt.

Ich werde mich mir aber diese Sache in nächster Zeit näher ansehen, damit ich beim nächsten mal den Fehler auf normalem Weg beheben kann.

EdRoxter
Posts: 483
Joined: 2006-01-06 03:23
Location: Neben Bonn

Re: Apache startet nach System Reboot nicht

Post by EdRoxter » 2008-12-26 13:22

Default-Runlevel in Debian ist 2 und wie bei jeder anderen mir bekannten Distri müsstest du also zum Starten des Apachen einen Symlink in /etc/rc2.d anlegen, der etwa S50apache2 heißt und auf /etc/init.d/apache2 zeigt.

Das macht apt aber auch völlig automatisch! Ein
aptitude reinstall apache2

hätte es also auch tun sollen.

User avatar
cpedv
Posts: 15
Joined: 2008-12-25 15:56
Location: Köln

Re: Apache startet nach System Reboot nicht

Post by cpedv » 2008-12-26 13:48

Den Symlink in /etc/rc2.d hatte ich mir auch vorher angeschaut und da war auch ein S99apache vorhanden mit rcconf war der Apache auch für den Autostart mit dabei.

Mit dem aptitude reinstall apache2 bin ich etwas Vorsichtig, da ich mir schon mal mit deinstallieren und neu installieren den Apache unbrauchbar gemacht habe.

Der Apache selber war ja nicht fehlerhaft.

Ist auch Egal, mit dem file-rc wurde die Konfiguration mit dem Fehler übernommen, das ich sehr schnell fand und korrigieren konnte und nach der wieder Installation wurde die korrekte Konfiguration wieder komplett übernommen.

gruss Gero