Debian 12, Nextcloud, Apache und .well-known-Verzeichnisse

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
HansGraefe
Beiträge: 47
Registriert: 06.05.2022 15:04:32

Debian 12, Nextcloud, Apache und .well-known-Verzeichnisse

Beitrag von HansGraefe » 21.01.2024 16:16:42

Hallo,

ich habe schon zich Seiten dazu gelesen und umgesetzt, ich bekomme die Meldungen
Dein Webserver ist nicht richtig konfiguriert, um "/.well-known/webfinger" aufzulösen. Weitere Informationen hierzu findest du in unserer Dokumentation ↗.
Dein Webserver ist nicht richtig konfiguriert, um "/.well-known/nodeinfo" aufzulösen. Weitere Informationen hierzu findest du in unserer Dokumentation ↗.
Dein Webserver ist nicht richtig konfiguriert, um "/.well-known/caldav" aufzulösen. Weitere Informationen hierzu findest du in unserer Dokumentation ↗.
Dein Webserver ist nicht richtig konfiguriert, um "/.well-known/carddav" aufzulösen. Weitere Informationen hierzu findest du in unserer Dokumentation ↗.
Einfach nicht weg. Ich habe ein quasi frisch installiertes Debian 12 mit Apache2, Php und Mariadb, alles aus dem Debian-Repo.
Nach /var/www/nextcloud/ habe ich Nextcloud installiert. Erschwerend kommt hinzu, dass die Installation hinter einem Reverse Proxy hängt, aber Nextcloud 27.1.5 ist über SSL (Lets Enrcypt) erreichbar, alles läuft prima bis auf diese 4 Warnungen, die ich so gern wegbekommen würde.

Ich habe nur eine config in /etc/apache2/sites-enabled/ liegen, die nextcloud.conf mit dem Inhalt:

Code: Alles auswählen

<VirtualHost *>
  DocumentRoot /var/www/nextcloud/
  ServerName  cloud.example.org

  <Directory /var/www/nextcloud/>
        Require all granted
        AllowOverride All
        #Options FollowSymLinks MultiViews
        Options All
        Header always set Strict-Transport-Security "max-age=15552000"

#Redirect 301 /.well-known/carddav /remote.php/dav
#Redirect 301 /.well-known/caldav /remote.php/dav
#Redirect 301 /.well-known/webfinger /index.php/.well-known/webfinger
#Redirect 301 /.well-known/nodeinfo /index.php/.well-known/nodeinfo

#    <IfModule mod_headers.c>
#        Redirect 301 /.well-known/carddav /cloud/remote.php/dav
#        Redirect 301 /.well-known/caldav /cloud/remote.php/dav
#        Redirect 301 /.well-known/webfinger /cloud/index.php/.well-known/webfinger
#        Redirect 301 /.well-known/nodeinfo /cloud/index.php/.well-known/nodeinfo
#    </IfModule>


  </Directory>
</VirtualHost>

Die zwei Blöcke sind ausgeklammert, weil sie keine Wirkung zeigen. Dadurch, dass ich Nextcloud ins DocumentRoot installiert habe, müsste die .htaccess in /var/www/nextcloud/ greifen. Wenn ich die umbenenne kommen auch Fehler, die wird also berücksichtigt. Bei einer anderen Nextcloud-Installation, die ebenfalls im DocumentRoot liegt (also auch von der URL her kein Unterverzeichnis wie example.org/nextcloud/ hat), lief das auf anhieb mit der .htaccess. Was vielleicht wichtig von der config.php ist:
'datadirectory' => '/var/www/nextcloud/data',
'overwrite.cli.url' => 'https://cloud.example.org',
'htaccess.RewriteBase' => '/',
Irgendwas muss ich übersehen. Wobei die bisherigen Installationen alle von Deb 10 auf 11 auf 12 geupdatet wurden und das jetzt ein neues Debian 12 ist, einen anderen Unterschied finde ich gerade nicht.
Hat jemand eine Idee, was ich hier übersehe?

Links:
https://docs.nextcloud.com/server/27/ad ... -discovery
https://grossmaggul.de/nextcloud-dav-re ... inrichten/
https://www.foxy.wiki/deutsch/linux/nex ... d-nodeinfo

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: Debian 12, Nextcloud, Apache und .well-known-Verzeichnisse

Beitrag von MSfree » 21.01.2024 17:13:44

Über das Problem habe ich auch schonmal geärgert. In diesem Beitrag habe ich das Problem gelöst, in dem ich in /var/www/html eine Datei .htaccess angelegt habe. Allerdings ist der einzutragende Inhalt, den es in der Nextcloud Dokumentation gibt, schlicht falsch.

HansGraefe
Beiträge: 47
Registriert: 06.05.2022 15:04:32

Re: Debian 12, Nextcloud, Apache und .well-known-Verzeichnisse

Beitrag von HansGraefe » 21.01.2024 18:13:37

Danke für deine Antwort. Bei mir ist das einzige DocumentRoot /var/www/nextcloud/ und dort liegt die von Nextcloud mitgelieferte .htaccess Datei, die auch wirklich benutzt wird (verschiebe ich sie kommen Fehler).

Das:

Code: Alles auswählen

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule ^\.well-known/carddav /remote.php/dav [R=301,L]
  RewriteRule ^\.well-known/caldav /remote.php/dav [R=301,L]
  RewriteRule ^\.well-known/webfinger /index.php/.well-known/webfinger [R=301,L]
  RewriteRule ^\.well-known/nodeinfo /index.php/.well-known/nodeinfo [R=301,L]
</IfModule>
Habe ich auch schon in die /etc/apache2/sites-enabled/nextcloud.conf geschrieben, einmal in <VirtualHost *> und einmal in "<Directory /var/www/nextcloud/>" - es hat nichts geändert.

Das Kuriose ist ja, eigentlich müsste die .htaccess ausreichen weil es direkt im DocumentRoot liegt, tut es aber nicht ...

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: Debian 12, Nextcloud, Apache und .well-known-Verzeichnisse

Beitrag von MSfree » 21.01.2024 19:13:01

HansGraefe hat geschrieben: ↑ zum Beitrag ↑
21.01.2024 18:13:37
Danke für deine Antwort. Bei mir ist das einzige DocumentRoot /var/www/nextcloud/
Bei mir liegt nextcloud in /var/www/html, das ist halt das DocumentRoot von Apache. Wenn dein DocumentRoot nur /var/www ist, dann mußt du die .htaccess in /var/www anlegen.

Alle anderen Versuch, wie Rewrite-Regeln in /etc/apache/sites-... anzulegen, waren bei mir auch nicht von Erfolg gekrönt.
und dort liegt die von Nextcloud mitgelieferte .htaccess Datei
Die befindet sich bei mir unter /var/www/html/nextcloud.

uname
Beiträge: 12406
Registriert: 03.06.2008 09:33:02

Re: Debian 12, Nextcloud, Apache und .well-known-Verzeichnisse

Beitrag von uname » 21.01.2024 21:17:53

In dieser Anleitung gibt es keine entsprechende Konfiguration beim virtuellen Webserver. Komisch.

HansGraefe
Beiträge: 47
Registriert: 06.05.2022 15:04:32

Re: Debian 12, Nextcloud, Apache und .well-known-Verzeichnisse

Beitrag von HansGraefe » 27.01.2024 18:33:29

uname hat geschrieben: ↑ zum Beitrag ↑
21.01.2024 21:17:53
In dieser Anleitung gibt es keine entsprechende Konfiguration beim virtuellen Webserver. Komisch.
Ich habe jetzt eine komplett neue Debian 12 VM installiert und Nextcloud nach dieser Anleitung installiert. Jetzt habe ich immerhin nur noch:
Dein Webserver ist nicht richtig konfiguriert, um "/.well-known/caldav" aufzulösen. Weitere Informationen hierzu findest du in unserer Dokumentation ↗.
Dein Webserver ist nicht richtig konfiguriert, um "/.well-known/carddav" aufzulösen. Weitere Informationen hierzu findest du in unserer Dokumentation ↗.
Und das, ohne etwas extra dafür konfiguriert zu haben..
Habe deswegen ein:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^/\.well-known/carddav /remote.php/dav [R=301,L]
RewriteRule ^/\.well-known/caldav /remote.php/dav [R=301,L]
</IfModule>
in die Apache-Konfiguration gemacht, wieder ohne eine Wirkung. Komisch ist, dass die anderen zwei URL's von der .htaccess abgefangen werden und diese anderen zwei nicht.

Benutzeravatar
simmeone
Beiträge: 113
Registriert: 01.04.2005 14:38:08
Wohnort: localhost

Re: Debian 12, Nextcloud, Apache und .well-known-Verzeichnisse

Beitrag von simmeone » 03.06.2024 11:51:41

Bei meiner Nextcloud Installation habe ich auch das Problem. Nachdem ich die Anleitung bei Nextcloud Doku befolgte, also diesen ganzen well-known-Kram in die .htaccess vom Nextcloud Verzeichnis, reinkopiert, waren die Warnung erst einmal weg. Das Problem ist aber, sobald man Nextcloud aktualisiert, wird auch die .htaccess Datei durch den Updater ersetzt und der ganze Spaß geht von vorne los. Das ist mir zu doof, also wollte ich das ganze über die Apache Konfiguration erschlagen, es gibt bei mir auch eine nextcloud.conf und egal wo ich das Zeug reinkopiere, Directory oder VirtualHost, die Warnungen bleiben einfach. Es gibt zwar bei Nextcloud noch den Hinweis, vor alle "^\" ein "/" zu setzen, wenn man das über Apache konfiguriert, aber es funktioniert einfach nicht. Vorerst habe ich es aufgegeben und wieder in die .htaccess eingetragen.
Gibt's noch Hinweise, wie man das richtig über die Apache Konfiguration macht?

uname
Beiträge: 12406
Registriert: 03.06.2008 09:33:02

Re: Debian 12, Nextcloud, Apache und .well-known-Verzeichnisse

Beitrag von uname » 03.06.2024 13:10:39

Leider scheint die gesamte Nextcloud-Community das Problem nicht zu verstehen. Hier wird über das Problem bei der aktuellen Nextcloud 29 wenn auch eher für nginx diskutiert.

Es wird z. B. zu einem / am Ende geraten:

Code: Alles auswählen

RewriteRule ^/\.well-known/carddav /remote.php/dav/ [R=301,L]
RewriteRule ^/\.well-known/caldav /remote.php/dav/ [R=301,L]
Oder zur Konfiguration der folgenden Parameter, da die Überprüfung mit Nextcloud 29 irgendwie darauf umgestellt wurde.

Code: Alles auswählen

"overwrite.cli.url": "https:\/\/nextcloud.mydomain.com",
'overwriteprotocol' => 'https',
Beides kann man ja mal ausprobieren. Ob es hilft, weiß ich nicht.

Benutzeravatar
whisper
Beiträge: 3379
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Debian 12, Nextcloud, Apache und .well-known-Verzeichnisse

Beitrag von whisper » 03.06.2024 15:07:28

Bei mir liegt nextcloud als subdomain in /nextcloud der domain

Code: Alles auswählen

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule ^/\.well-known/carddav /nextcloud/remote.php/dav [R=301,L]
  RewriteRule ^/\.well-known/caldav /nextcloud/remote.php/dav [R=301,L]
  RewriteRule ^/\.well-known/webfinger /nextcloud/index.php/.well-known/webfinger [R=301,L]
  RewriteRule ^/\.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo [R=301,L]
</IfModule>
Benutze ispconfig, Apache ; Bookworm. meine Einträge funktionieren.
Hilft jetzt womöglich nicht weiter, oder doch?

Code: Alles auswählen

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP_USER_AGENT} DavClnt
  RewriteRule ^$ /remote.php/webdav/ [L,R=302]
  RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
  RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
  RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
  RewriteRule ^remote/(.*) remote.php [QSA,L]
  RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
  RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
  RewriteRule ^ocm-provider/?$ index.php [QSA,L]
  RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
</IfModule>
Das ist in der .htaccess
War mir gar nicht bewusst.
Zuletzt geändert von whisper am 03.06.2024 15:27:34, insgesamt 1-mal geändert.
Alter ist übrigens keine Ausrede, nur Erfahrung, die sich stapelt. 😉

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: Debian 12, Nextcloud, Apache und .well-known-Verzeichnisse

Beitrag von MSfree » 03.06.2024 15:25:40

whisper hat geschrieben: ↑ zum Beitrag ↑
03.06.2024 15:07:28
Bei mir liegt nextcloud als subdomain in /nextcloud der domain
Mag sein, das es darum bei dir funktioniert. Bei mir mußte ich

Code: Alles auswählen

  RewriteRule ^\.well-known...
statt deines

Code: Alles auswählen

  RewriteRule ^/\.well-known
Der kleine, leicht zu übersehende aber feine Unterschied liegt im ^\. statt ^/\., ich mußte den ersten Slash weglassen.

Antworten