Webserver Probleme

  • Hi,

    ich habe ein paar Probleme mit meinem Pi bzw. der darauf installierten Software.

    Auf dem Pi läuft piHole, Unbound, und Nextcloud. Außerdem habe ich die PHP version 8.0 drauf.

    Das Problem ist, dass einer der Prozesse (Apache2 oder Lighttpd) nicht starten will. Möchte ich den einen starten muss ich zuvor den anderen beenden, beide gleichzeitig funktioniert nicht. Ohne lighttpd sieht das Webinferface von Pihole und Nextcloud.



    Nextcloud zeigt zudem folgende Fehler an:

    • Die PHP-Speichergrenze liegt unterhalb des empfohlenen Wertes von 512MB.
    • Ihr Datenverzeichnis und Ihre Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, Ihren Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass Sie es aus dem Document-Root-Verzeichnis des Webservers herausverschieben.

    Jedoch habe ich bereits das MemoryLimit in der php.int in etc/php/php8.0/apache2 auf 2048M gesetzt. Und ich habe auch folgenden Code zur apache2.conf hinzugefügt:


    <Directory /var/www/nextcloud/>

    Options +FollowSymlinks

    AllowOverride All
    </Directory>



    Das Pihole macht auch Probleme. Änder ich die Einstellungen kommt folgende Fehlermeldung, die Einstellungen werden aber übernommen:

    There was a problem applying your settings.
    Debugging information:
    PHP error (2): Undefined array key "v6_2" in /var/www/html/admin/scripts/pi-hole/php/savesettings.php:212


    Ich hoffe ihr könnt mir helfen.

  • Go to Best Answer
    • Best Answer

    Die PHP-Speichergrenze liegt unterhalb des empfohlenen Wertes von 512MB.


    Jedoch habe ich bereits das MemoryLimit in der php.int in etc/php/php8.0/apache2 auf 2048M gesetzt.


    Ihr Datenverzeichnis und Ihre Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, Ihren Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass Sie es aus dem Document-Root-Verzeichnis des Webservers herausverschieben.

    Die Meldung kommt daher, das das Datenverzeichnis im Webroot unter var/www/nextcloud liegt.


    Das Datenverzeichnis verschieben und den Pfad in der php.config von Nextcloud ändern.




    //EDIT

    zu lighttpd und apache hat hyle dir ja schon die entsprechende Lösung gezeigt

  • hyle

    Ja jetzt laufen beide Prozesse. Aber die Webinterfaces benutzen Lighttpd nicht mehr, also habe ich Apache2 auf Port 88 gesetzt.


    Franjo G

    Die erste Sache hat nicht ganz funktioniert. Ich denke das Nextcloud mit Lighttpd arbeitet, wenn das möglich ist. Wenn ich Apache2 beende kann ich trotzdem auf das Webinterface zugreifen, wenn ich jedoch lighttpd beende nicht mehr.

  • Wenn ich Apache2 beende kann ich trotzdem auf das Webinterface zugreifen, wenn ich jedoch lighttpd beende nicht mehr.

    Das ist aber nicht normal.


    Hast du php 8.0 nachträglich installiert? Wenn ja, wie und warum? Mit apt-get oder apt install ist das unter Buster nämlich nicht verfügbar.

  • Franjo G


    Also Lighttpd war wegen PiHole schon oben.


    Zuerst habe ich PHP8 installiert:

    sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common

    echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list

    wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -

    sudo apt install php8.0


    Dann noch ein paar Module, Apache2, MySQL und die SVG Unterstützung:

    apt install apache2 libapache2-mod-php mariadb-server php-xml php-cli php-cgi php-mysql php-mbstring php-gd php-curl php-zip php-intl php-bcmath php-gmp php-imagick

    apt-get install libmagickcore-6.q16-6-extra



    Dann MySQL:

    mysql_secure_installation

    mysql -u root -p

    CREATE DATABASE nextcloud;

    CREATE USER 'jonathan'@'localhost' IDENTIFIED BY 'jonathan2601';

    GRANT ALL ON nextcloud.* TO 'jonathan'@'localhost';

    FLUSH PRIVILEGES;





    Und zum Schluss Nextcloud:

    wget https://download.nextcloud.com…ases/nextcloud-22.2.0.zip

    unzip nextcloud-22.2.0.zip

    cp -r root/nextcloud var/www/html

    chown -R www-data:www-data /var/www/html/nextcloud






    Ich habs auch schon in einer VM probiert, da kommen diese Fehler nicht auf. Die VM läuft mit Debian 11, PHP8 und Apache2.
    Dort liegt Nextcloud direkt im html Verzeichnis und SSl ist aktiviert.

    Da nur Apache2 installiert ist läuft Nextcloud auch mit Apache2.

    Dort tritt jedoch das Problem "Some files have not passed the integrity check" auf. Dieses Problem betrifft nur Dateien aus /nextcloud/apps und /nextcloud/themes.

  • rJonathan Ich verstehe Deine Aussagen nicht wirklich. Welches Webinterface meinst Du an welcher Stelle? (Auch auf Deine Antwort an Franjo G bezogen)


    Btw. Wenn Du einen anderen Port als den default 80 verwendest. dann muss der beim Aufruf (im Browser) mit angegeben werden.

    Für Pi-hole (Lighttpd) also in etwa so: http://<IP_des_RPi>:88/admin oder http://pi-hole:88/admin

  • hyle

    ich meine die Website von Pi-Hole bzw. Nextcloud. Kann ich denn auch den Dienst z.B. Pihole sagen dass er immer auf den Port 88 zugreifen soll? Damit man dass nicht immer mit angeben muss.

  • Das ist klar, aber kann ich dem Dienst an sich nicht sagen dass er immer Port 88 benutzt?

    Das macht der ja, aber Dein Browser will den Port sehen, weil der nur den Standardport vermutet anfordert.


    Eigentlich müsste es auch ohne Lighttpd funktionieren. Wenn Du den Lighttpd stoppst und den Port des Apache2 wieder auf 80 setzt, dann sollte das Pi-hole Web-IF auch über den Apache erreichbar sein. Allerdings weiß ich nicht genau, bzw. müsste ich erstmal nachlesen, wie die Document-Root für Nextcloud eingestellt ist oder / und ob dafür ein Alias erstellt wurde.


    //Edit: Nö sieht nicht so aus. Das Verzeichis nextcloud liegt direkt in /var/www/html/, sollte also Pi-hole nicht in die Quere kommen.