Output_buffering must be disabled, .htacces funktioniert nicht

Hallo,

ich habe mir gerade zum ersten mal Nextcloud installiert und bekomme die (roten) Fehler output_buffering must be disable und .htaccess funktioniert nicht. Ich bin genau dieser Anleitung gefolgt:

Nextcloud 20.0.7 auf Debian 10.8.0 in Hyper-V auf Windows 10
Ich bin komplett neu sowohl in der Cloud Geschichte als auch in Linux und komme leider zu keiner Lösung. In der Videobeschreibung ist auch ein Link mit allen verwendeten Befehlen, vielleicht hilft das, aber ich verstehe ehrlich kaum etwas davon so richtig… Hoffe ihr könnt damit etwas anfangen.
Danke im Voraus, Jonas

Hallo Jonas

Stimmt die Apache Config wirklich 1:1 mit dem Video überein. Vorallem “AllowOverride All” in der Directory-Directive ist wichtig:

<VirtualHost *:80>
     ServerAdmin master@domain.com
     DocumentRoot /var/www/nextcloud/
     ServerName demo.domain.com
     ServerAlias www.demo.domain.com
 
     Alias /nextcloud "/var/www/nextcloud/"
 
     <Directory /var/www/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
          <IfModule mod_dav.c>
            Dav off
          </IfModule>
        SetEnv HOME /var/www/nextcloud
        SetEnv HTTP_HOME /var/www/nextcloud
     </Directory>
 
     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
 
</VirtualHost>

Hast du alle Apache-Module, die in der Anleitung genannt wurden aktiviert. Führe einfach nochmal alle aus zur Sicherheit aus… (jede Linie einzeln eigeben und mit Enter bestätigen)

a2enmod rewrite
a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime

Das bei 27:48 im Video ist imho Blödsinn. :wink: einfach mit: a2dissite 000-default.conf den Apache Deafult-Virtualhost deaktivieren, dann muss dort auch nichts angepasst werden.

Wichtig: Wenn du irgendwelche Änderungen gemacht hast Apache immer mit systemctl restart apache2 neustarten, damit die Änderungen wirksam werden.

1 Like

Hallo,

ich habe nachgeschaut, aber die config war identisch.
Die einzelnen Module bin ich nochmal durchgegangen, aber hab jedes mal “already enabled” zurückbekommen.

Den Default-Virtualhost habe ich deaktiviert und auch mal gegoogelt was ein Virtualhost ist :smiley:

Neugestartet hab ich dann mit systemctl restart apache2 und nicht wie im Video mit service apache2 restart (Unterschied?)
Obwohl ich ja kaum etwas geändert habe sind alle roten Fehler weg!
Vielen, vielen Dank für deine Antwort !

Gelbe und schwarze Fehler/Hinweise habe ich zwar noch ein paar vor mir, aber ich möchte mich ja auch genauer mit der Materie befassen, um die Befehle oder allgemein erstmal was apache, php und co. überhaupt sind/machen zu verstehen.

Einen schönen Abend wünsche ich noch

Ich glaube das Problem war, dass er die Config des Default-Virtualhost verwendet hat, anstatt die der nextcloud.conf. Ich nehme an du greifst via IP-Adresse auf die Nextcloud zu? Dann wird einfach die Config des ersten verfügbaren Virtualhost verwendet, der keine ServeName Directive beinhaltet. Wenn du mehrere Virtualhosts hast, musst du mit Severnamen arbeiten. server1.domain, server2.doimain usw…

Gelbe und schwarze Fehler/Hinweise habe ich zwar noch ein paar vor mir, aber ich möchte mich ja auch genauer mit der Materie befassen, um die Befehle oder allgemein erstmal was apache, php und co. überhaupt sind/machen zu verstehen.

Die gehen ziemlich sicher beide weg wenn du HTTPS aktivierst. Da gibts soviel ich weis auch Anleitungen auf Apfelcast. Solange du die Cloud aber nur intern und zu Testzwecken nutzt, sind die nicht weiter wild. Gute Idee btw. sich zuerst etwas grundsätzlicher damit zu befassen, bevor du “live” gehst. :+1:

Dir auch einen schönen Abend und weiterhin viel Spass. :slight_smile:

Das ist ein Ubuntu/Debian Ding um mit alten Scripts aus der pre SystemD-Zeit kompatibel zu bleiben. Macht schlussendlich das Gleiche.

klingt logisch… ja die Verschlüsselung steht dann als nächstes an :+1:

Danke, werde ich haben :smiley:

Kleines Update:

Nachdem ich Nextcloud auf Version 21 geupdated habe, habe ich auch PHP auf 8.0 (genau 8.0.3) aktualisiert. Danach erschien erneut der Fehler Output_Buffering must be disabled. Ich bin also diesen Beitrag nochmal durchgegangen, aber nichts hat geholfen (000-default.conf war ja bereits disabled und der Rest passte auch)

Daraufhin hab ich mal nach Output_Buffering in der php.ini gesucht und siehe da: Output_buffering = 4096 zu 0 geändert und der Fehler war behoben. (Gibt mehrere Suchergebnisse. Das auskommentierte ist es nicht!) Weiterhin hab ich genau diese Änderung als Anweisung in der Anleitung (admin_manual) unter “Uploading big files” gefunden. Meine max upload size beträgt 32G. Ich denke mal, dass die max_upload_size kleiner als der Wert fürs Buffering sein muss (hätte vermutet, dass große Dateien dann automatisch nicht gebuffert werden)

Vielleicht hilft das ja Jemandem.
Wünsche jedem weiterhin viel Spaß mit der eigenen Nextcloud