Apache2 error.log

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Also jedesmal muss ich mkdir /var/log/apache/ erstellen damit Apache2 die error.log erstellt, beim reboot ist alles wieder weg ...

    [....] Restarting web server: apache2(2)No such file or directory: apache2: could not open error log file /var/log/apache/error.log.
    Unable to open logs
    Action 'start' failed.
    The Apache error log may have more information.
    failed!


    Hat jemand ne Ahnung ...

    Einmal editiert, zuletzt von Heiko12627 (6. April 2013 um 12:02)

  • Hallo Heiko12627,

    Warum erstellst du das Verzeichnis "/var/log/Apache2" wenn die Logdateien normalerweise unter "/var/log/apache2" liegen? Nur ein Tippfehler?
    Laut der Fehlermeldung werden die Logdateien bei dir unter "/var/log/apache" abgelegt. Hast du hier eine Änderung an der Konfiguration vorgenommen?
    Nichtsdestotrotz sollte das Verzeichnis nach einem Neustart noch vorhanden sein. Hast du nach dem mkdir auch die Zugriffsrechte überprüft und gegebenenfalls geändert?

    Gruß Georg

  • Hallo Heiko12627,

    geht es jetzt in diesem Thread so weiter wie in deinem anderen Thread?
    Liest du immer nur den ersten Satz und schreibst dann auch nur einen Satz zurück? Wenn dem so ist, kommt sicher gleich als Antwort "ja".

    Wenn du einen Schreibfehler gemacht hast, dann korrigier diesen bitte oder poste nochmals die richtigen Befehle/Fehlermeldungen.
    Des Weiteren solltest du dir angewöhnen Antworten auf deine Fragen komplett zu lesen und auch so weit es möglich ist die darin enthaltenen Fragen vollständig zu beantworten. Wenn Du auf eine Frage keine Antwort hast, dann kannst du nachfragen wie man die Antwort herausbekommen kann.

    Gruß Georg

  • Hallo Heiko12627,

    welches Betriebssystem verwendest du?

    Bei Raspbian sollte es hier keine Probleme geben weil /var/log direkt auf der SD-Karte liegt und somit bei einem Neustart nicht gelöscht wird. Bei einem anderen Betriebssystem könnte es durchaus sein, dass /var/log in einer Ramdisk abgelegt ist und somit bei jedem Neustart gelöscht wird.

    Gruß Georg

  • Hallo Heiko12627,

    Vorsicht! Raspbmc ist nicht gleich Raspbian.
    Bei Raspbmc wurden bereits einige Änderungen am System durchgeführt welche für XBMC nötig sind aber das Arbeiten mit anderen Diensten erschweren. Das merkt man schnell wenn man ein anderes Paket installieren will und sich dabei das System zerschießt.

    Ich habe mir das ganze mal angeschaut und musste feststellen, dass /var/log bei Raspbmc nur ein Symlink auf /tmp ist.

    Code
    pi@raspbmc:~$ ls -la /var/log
    lrwxrwxrwx 1 root root 4 Jan  1  1970 /var/log -> /tmp

    Das Verzeichnis /tmp ist ein Verzeichnis welches zwar auf der SD-Karte liegt, aber bei jedem Neustart gelöscht wird. Scheinbar wollte sich das Raspbmc Team nicht die Arbeit machen Logrotate einzurichten damit die Logdateien nicht die SD-Karte zumüllen und haben stattdessen alle Logdateien im /tmp Verzeichnis abgelegt. Meiner Meinung nach der falsche Weg. Vor allem ist Logrotate bereits installiert und müsste nur noch angepasst werden.

    Eine Quick-and-Dirty Lösung für dich wäre den Symlink /var/log zu löschen und ein gleichnamiges Verzeichnis zu erstellen. Damit werden dann alle Logdateien auf der SD-Karte gespeichert und bei einem Neustart nicht gelöscht. Je nachdem wie schnell die Dateien anwachsen müsstest du diese entweder manuell oder mit Logrotate regelmäßig löschen.

    Gruß Georg

  • Hallo Heiko12627,

    also langsam ist mir Raspbmc sowas von unsympatisch. Wie kann man ein Linux-System so überflüssig verbiegen.

    Ich habe mir das ganze jetzt angesehen und eine bzw. mehrere Lösungen gefunden. Meinen Vorschlag von oben kannst du vergessen weil nach einem Neustart das erstellte Verzeichnis auch weg ist und wieder ein neuer Symlink erstellt wurde. Die Ursache dafür habe ich nach einigem Suchen auch in der /etc/init/rsyslog.conf gefunden. Hier finden sich die folgenden Zeilen.

    Diese sorgen dafür, dass ein bestehendes Verzeichnis /var/log gelöscht wird und stattdessen ein Symlink auf /tmp erstellt wird. Es gibt jetzt drei Möglichkeiten wie du weitermachen kannst.


    1) Du änderst die /etc/init/rsyslog.conf entsprechend ab damit kein Symlink mehr auf /tmp erstellt wird. Ob das aber auch nach einem Update von Raspbmc noch funktioniert kann ich dir nicht versprechen.


    2) Du lässt Apache beim Starten das Verzeichnis anlegen. Das denke ich ist die sinnvollste Lösung. Dazu musst du das Init-Skript anpassen.

    Code
    sudo nano /etc/init.d/apache2

    Hier findest du diesen Abschnitt.

    Code
    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

    Nach diesem Abschnitt fügst du zusätzlich den folgenden Abschnitt ein und speicherst die Änderungen.

    Code
    APACHE_LOGDIR=$(. $APACHE_ENVVARS && echo $APACHE_LOG_DIR)
    if [ ! -d $APACHE_LOGDIR ] ; then
            mkdir -p $APACHE_LOGDIR
            chown $(. $APACHE_ENVVARS && echo $APACHE_RUN_USER):$(. $APACHE_ENVVARS && echo $APACHE_RUN_GROUP) $APACHE_LOGDIR
    fi

    Jetzt noch einen Neustart und Apache sollte starten.

    Code
    sudo shutdown -r now


    3) Du passt den Apache an, damit dieser nicht mehr in das Verzeichnis /var/log/apache schreibt sondern direkt nach /var/log. Das war mein erster Ansatz aber den Weg über das Init-Skript finde ich persönlich besser.

    Öffne dazu die Datei /etc/apache2/envvars mit einem Editor.

    Code
    sudo nano /etc/apache2/envvars

    Such hier nach der folgenden Zeile.

    Code
    export APACHE_LOG_DIR=/var/log/apache2$SUFFIX

    Ändere diese wie folgt ab und speichere die Datei.

    Code
    export APACHE_LOG_DIR=/var/log

    Jetzt noch einen Neustart und Apache sollte starten.

    Code
    sudo shutdown -r now

    So, für heute reicht es mir mit Raspbmc.

    Gruß Georg

Jetzt mitmachen!

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