Apache startet nicht korrekt

  • Hallo,
    beim booten meines Raspberry startet ein Apache Webserver. Wenn ich versuche, eine lokale Seite aufzurufen kommt die Meldung "404 Not Found".
    Sobald ich ein "sudo /etc/init.d/apache2 restart" ausführe ist die lokalen Seite erreichbar.

    Interessanterweise zeigt "sudo /etc/init.d/apache2 status" vor dem Restart eine Fehlermeldung
    "..... apache2 .... Could not resolve hostname meine_seite -- ignoring!"
    nach dem Restart ist die Fehlermeldung weg.

    Die Kommandos "systemctl start apache2", "systemctl enable apache2" und "systemctl daemon-reload" beseitigen das Problem nicht.

    Kann es sein, dass der Apache2 startet, bevor die Namensauflösung aus /etc/hosts abgeschlossen ist?
    Falls ja, wie kann ich mit systemctl erzwingen, dass apache2 erst danach startet?

    Grüße
    radius

  • Moin Radius,
    das kann man recht einfach testen.

    Ruf bitte

    Code
    sudo raspi-config

    auf.
    Dort gibt es einen Punkt Boot Options. Da den Punkt Wait for Network at Boot und dann JA.

    Reboot und testen. Wenn nicht, dann rückgängig machen.

    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.


  • Ruf bitte

    Code
    sudo raspi-config

    auf.
    Dort gibt es einen Punkt Boot Options. Da den Punkt Wait for Network at Boot und dann JA.


    Hallo Bernd,

    Funktioniert.
    Ist ein super Tipp, und so schnell. Ich war skeptisch, dass sich jemand auf Themen zu Systemd meldet.

    Weißt du ob das bei Debian analog funktioniert? Oder ist das Raspian spezifisch?

    Grüße
    radius

    Einmal editiert, zuletzt von Radius (10. November 2016 um 12:19)

  • Moin Radius,
    hat mich gefreut das ich helfen konnte.
    Ich seh nicht ein das ich helfen soll indem ich ein systemd- eintrag schreibe, solange die von Raspbian das in der raspi-config drin haben.
    Ich weiss das es mit systemd besser ist, aber.... Siehe oben.

    Ich kann dir nicht sagen, ob es bei Debian auch so ist. Habe hier was anderes.

    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Hallo Bernd,


    Ich seh nicht ein das ich helfen soll indem ich ein systemd- eintrag schreibe,


    Das erwarte ich auch nicht. Aber Hilfe zur Selbsthilfe geben ist schon Klasse. Wie eben der Hinweis auf das raspi-config.

    Ich weiss das es mit systemd besser ist, aber.... Siehe oben.


    Für mich ist das bloß eine Vermutung, weil es mir bisher nicht gelungen ist eine Beschreibung der service Dateien zu finden.
    Ich habe lediglich englische Beschreibungen der Kommandos zum systemd gefunden. Immerhin ein Anfang :)

    Grüße
    Radius


  • Weißt du ob das bei Debian analog funktioniert?

    Ich denke das sollte mit debian auch funktionieren, wenn man (systemd? bzw.) dhcpcd nutzt und in die dhcpcd.conf, den Eintrag:

    Code
    waitip


    macht.

    ... denn:

    Spoiler anzeigen


    waitip [4 | 6]
    Wait for an address to be assigned before forking to the background. 4 means wait for an IPv4 address to be assigned. 6
    means wait for an IPv6 address to be assigned. If no argument is given, dhcpcd.conf will wait for any address protocol to
    be assigned. It is possible to wait for more than one address protocol and dhcpcd.conf will only fork to the background
    when all waiting conditions are satisfied.


    ... Auszug aus dem Script:

    Spoiler anzeigen


    get_boot_wait() {
    if test -e /etc/systemd/system/dhcpcd.service.d/wait.conf; then
    echo 0
    else
    echo 1
    fi
    }

    do_boot_wait() {
    get_init_sys
    if [ $SYSTEMD -eq 0 ]; then
    whiptail --msgbox "This option can only be selected when using systemd" 20 60 2
    return 1
    fi

    DEFAULT=--defaultno
    if [ $(get_boot_wait) -eq 0 ]; then
    DEFAULT=
    fi
    if [ "$INTERACTIVE" = True ]; then
    whiptail --yesno "Would you like boot to wait until a network connection is established?" $DEFAULT 20 60 2
    RET=$?
    else
    RET=$1
    fi
    if [ $RET -eq 0 ]; then
    mkdir -p /etc/systemd/system/dhcpcd.service.d/
    cat > /etc/systemd/system/dhcpcd.service.d/wait.conf << EOF
    [Service]
    ExecStart=
    ExecStart=/sbin/dhcpcd -q -w
    EOF
    STATUS=enabled
    elif [ $RET -eq 1 ]; then
    rm -f /etc/systemd/system/dhcpcd.service.d/wait.conf
    STATUS=disabled
    else
    return $RET
    fi
    if [ "$INTERACTIVE" = True ]; then
    whiptail --msgbox "Waiting for network on boot is $STATUS" 20 60 1
    fi
    }

    EDIT:

    BTW: ... systemd, hier evtl. nur wegen dem Script, denn siehe z. B. auf deinem PI, die Ausgabe von:

    Code
    systemd-delta --type=extended

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (11. November 2016 um 20:53)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!