Ich habe vor ein paar Tagen meinen Linux Server von Debian 10 auf Debian 11 hochgezogen, was im Grunde gut geklappt hat, nur Nextcloud 24 reagierte etwas zickig. Erst wollte WebDAV nicht funktionieren (aber das ist eine andere Geschichte), dann moserte es bei der Überprüfung immer mit dieser Fehlermeldung rum:
Ich folgte dann dem Link zur Dokumentation, erstellte die .htaccess Datei im Document Root, vergab die entsprechenden Owner und Rechte, startete den Apache neu und es passierte, nichts.:-/
Was man so las, war ich nicht der Einzige mit dem Problem, aber eine wirkliche Lösung fand ich auch nicht, alle versuchten es über die .htaccess zu regeln, was aber irgendwie nicht funktioniert.
Eben wurde ich dann im Nextcloud Forum fündig, ein Hinweis auf diese Seite https://beamtic.com/webfinger-and-nodeinfo-nextcloud
Dort schrieb jemand, daß er die Redirects nicht in das .htaccess File geschrieben hat, sondern direkt in die Serverdirektive für Nextcloud
---------------------
Nextcloud stuff below
---------------------
Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav
Redirect 301 /.well-known/caldav /nextcloud/remote.php/dav
Redirect 301 /.well-known/webfinger /nextcloud/index.php/.well-known/webfinger
Redirect 301 /.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo
Und, oh Wunder, das funktioniert!
Hier mal meine vollständige /etc/apache2/sites-enabled/001-nextcloud.conf damit funktionert auch caldav/carddav wieder, an WebDAV muss ich noch ein wenig forschen.
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName server.domain.de
DocumentRoot /var/www
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/nextcloud/>
Options FollowSymLinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
</Directory>
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@example.com
ServerName server.domain.com
DocumentRoot /var/www
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLCertificateFile /etc/letsencrypt/live/server.domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/server.domain.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
<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>
# ---------------------
# Nextcloud stuff below
# ---------------------
Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav
Redirect 301 /.well-known/caldav /nextcloud/remote.php/dav
Redirect 301 /.well-known/webfinger /nextcloud/index.php/.well-known/webfinger
Redirect 301 /.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo
</VirtualHost>
</IfModule>
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</IfModule>
Und hier das erfreuliche Ergebnis:
Das Ganze hat mich doch einiges an Nerven und Haaren gekostet, zumindest die Haare kann man ja durch eine Perücke ersetzen, aber die Nerven…;)
Nachtrag, WebDAV funktioniert auch, das Problem hing wohl auch mit dem fehlenden bzw. nicht funktionierenden redirect zusammen.