Apache startet nicht automatisch - Ubuntu 12.04

  • Hi,


    ich habe das Problem das nach einem reboot der Apache nicht von selbst startet.
    Wenn der Startvorgang aber abgeschlossen ist und ich dann manuel per:


    Code
    /etc/init.d/apache2 start


    den Apache starte laeuft dieser ohne Probleme bzw. Fehlermeldungen.


    In folgendem Logfile /var/log/boot.log finde ich nach dem Start nur die Fehlermeldung:


    Code
    (99)Cannot assign requested address: make_sock: could not bind to address [2001:1608:10:xx::xxx]:443
    no listening sockets available, shutting down
    Unable to open logs
    Action 'start' failed.
    The Apache error log may have more information.


    Unter /var/log/apache2/error.log finde ich leider keine weiteren Informationen, beachte den Hinweis im Log

    Code
    Unable to open logs


    Ich nutze Ubuntu 12.04.2 LTS 64Bit mit dem aktuellen LiveConfig Stable Release 1.6.1 (r2142)


    Auf dem Server ist eine IPv4 Adresse und eine IPv6 Adresse konfiguriert.


    Es handelt sich hierbei um eine Basic Lizenz von LiveConfig, es ist bisher auch nur ein Hosting inkl. SSL (SNI) eingerichtet.


    Gruss nocarrier

  • Ich würde dieses Thema gerne ausgraben, weil ich selbiges auf einem Debian 7 habe.
    Bei mir ist nur der Unterschied, dass dieser Fehler nur direkt beim Booten auftritt.


    Auszug aus syslog


    Nach dem Bootvorgang kann ich Apache 2 normal starten. Doch dann habe ich ein anderes Problem (kommt im extra Thread)

  • Entschuldigung für die späte Antwort. Hatte noch ein paar Projekte zu erledigen.


    Die Informationen der ports.conf scheinen ausgelagert worden zu sein:


    hier die /etc/apache2/sites-available/default

  • Code
    /etc/init.d/apache2 start


    Code
    (99)Cannot assign requested address: make_sock: could not bind to address [2001:1608:10:xx::xxx]:443
    no listening sockets available, shutting down



    Ich sag einfach mal, was ich denke ..... hier werden keine Grundkurse für Serveradmin´s und solche, die es werden wollen, angeboten.
    Daher gab es sicher auch noch keine Antwort dazu.
    Die Fehlermeldung sagt doch schon aus, was ned stimmt.

  • Indem falle wäre nun eine Lösung des Entwicklers nötig damit er dies ggfl. raus nimmt oder korrigiert...


    du könntest jetzt manuell die /etc/apache2/sites-available/default Editieren und die Einträge entsprechend entfernen. Danach wäre dann auch ein starten des Apache wieder möglich... Jedoch nur solange bis LiveConfig die Datei wieder neu erstellt..

  • Joar wie ich vermutet hab..


    Listen [2a01:4f8:191:8483::2]:443
    NameVirtualHost [2a01:4f8:191:8483::2]:443


    das is indem Falle der Fehler.. :)


    Was soll daran der Fehler sein?


    Wenn ich das Bootprotokoll richtig lese, kann Apache2 um 02:47:40 nicht an die IP-Adresse 2a01:4f8:191:8483::2 binden, während NTP etwa vier Sekunden später um 02:47:44 an dieser Adresse einen UDP-Port aufmachen kann.
    Das deutet auf ein bekanntes Problem mit einer "ungünstigen" (=schlechten) Serverkonfiguration hin: die ersten Dienste werden gestartet bevor die IP-Adressen fertig konfiguriert sind.


    In diesem Fall lautet die Frage also: wie wird die o.g. IPv6-Adresse auf dem Server konfiguriert? Statisch, per Router-Advertisement oder gar per DHCPv6?
    Andere, seltenere Möglichkeit ist, dass das IPv6-Kernelmodul erst relativ spät geladen wird; in diesem Fall nehmen Sie "ipv6" in die /etc/modules auf und aktualisieren das Boot-Image (update-initramfs).


    Viele Grüße


    -Klaus Keppler

  • wir beobachten auch das Phänomen (Debian 7), dass Apache nicht beim Boot hochkommt aber manuell problemlos startbar ist.
    Konfiguriert sind die IPv6-Adressen via /etc/network/interfaces "iface eth0 inet6 static".
    Herrn Kepplers Vorschlag, ipv6 in die modules aufzunehmen, werde ich demnächst testen.

  • Ich habe eben mal auf einer unserer Debian7-Server nachgesehen (via Xen 4, mit Standard-Debian-Kernel). ipv6 ist inzwischen statisch im Kernel enthalten, der Eintrag in /etc/modules würde also nichts (mehr) bringen.


    Prüfen Sie bitte, ob bei Ihnen evtl. IPv6 als Modul geladen wird (via lsmod). Ansonsten kann ich mir auch vorstellen, dass die IPv6-Autokonfiguration da eventuell Probleme macht. Hierzu am besten eine Datei /etc/sysctl.d/ipv6.conf einrichten und mittels "net.ipv6.conf.default.autoconf=0" etc. die Auto-Konfiguration (autoconf) und Router-Advertisements (accept_ra) deaktivieren.

  • Guten Abend,


    also: In /etc/sysctl.d/ habe ich eine default.conf und 99-hetzner.conf in denen in etwa ähnliche Sachen stehen:


    Nach dem Bootvorgang kommt da (wie in meinem ersten Beitrag das Problem beschrieben) diese Situation:

    Code
    root@BGstyleSrv01 ~ # /etc/init.d/apache2 status
    apache2.service - LSB: Start/stop apache2 web server
              Loaded: loaded (/etc/init.d/apache2)
              Active: failed (Result: exit-code) since Thu, 24 Apr 2014 20:12:53 +0200; 1min 0s ago
             Process: 1181 ExecStart=/etc/init.d/apache2 start (code=exited, status=1/FAILURE)
              CGroup: name=systemd:/system/apache2.service


    Wenn ich jetzt noch eine /etc/sysctl.ipv6.conf mit selbigen ipv6-Settings anlege, erscheint nach dem Boot folgendes:


    Via lsmod wird es nicht geladen:


    In /etc/network/interfaces wird es ebenfalls statisch geladen.


    Beste Grüße,
    Florian Scholz

  • Guten Abend,
    jepp, über einen eigenen iface-Eintrag:
    /etc/network/interfaces


    Beste Grüße,
    Florian Scholz

  • Hallihallo,


    mit der vertauschten Reihenfolge sieht das jetzt so aus:


    und gibt nach dem Reboot folgendes aus:


    allerdings scheine ich jetzt auch probleme mit allerhand andrem Zeug zu haben:


    Werde die Reihenfolge wieder zurückstellen jetzt.


    Beste Grüße,
    Florian Scholz

  • Offenbar muss der Netzwerktreiber erst eine Firmware laden und braucht dann eine knappe Sekunde, bis die Leitung "oben" ist.


    Nehmen Sie testweise mal den Befehl "pre-up sleep 3" in die /etc/network/interfaces mit auf:

    Code
    iface eth0 inet6 static
      address 2a01:4f8:191:8483::2
      netmask 64
      gateway fe80::1
      [B]pre-up sleep 3[/B]


    Damit sollte der Server 3 Sekunden warten bevor er das Netzwerkinterface konfiguriert (und somit auch bevor er dem systemd signalisiert, dass die Interfaces fertig konfiguriert sind).

  • Offenbar muss der Netzwerktreiber erst eine Firmware laden und braucht dann eine knappe Sekunde, bis die Leitung "oben" ist.


    Nehmen Sie testweise mal den Befehl "pre-up sleep 3" in die /etc/network/interfaces mit auf:

    Code
    iface eth0 inet6 static
      address 2a01:4f8:191:8483::2
      netmask 64
      gateway fe80::1
      [B]pre-up sleep 3[/B]


    Damit sollte der Server 3 Sekunden warten bevor er das Netzwerkinterface konfiguriert (und somit auch bevor er dem systemd signalisiert, dass die Interfaces fertig konfiguriert sind).


    Das hat das Problem für mich ersteinmal gelöst. Dankeschön. Ich werde es beobachten, aber denke, dass das jetzt so stabil laufen dürfte.


    Beste Grüße,
    Florian Scholz

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!