Zum Inhalt springen

Nextcloud – DAV redirect einrichten

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:

Fehlermeldung Nextcloud

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:

Funktionstest bestanden

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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert