• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Gelöst Nextcloud erlaubt keinen Zugriff aus dem Netz

P6CNAT

Advanced Hacker
Hallo,

Nextcloud funktioniert lokal aber ich kann nicht von ausserhalb des PC zugreifen. Das liegt angeblich an einem Konfigurationsfeher der mit dieser Fehlermeldung beschrieben wird.
Ihr Webserver ist nicht richtig konfiguriert um "/.well-known/caldav" aufzulösen
Ich habe die verlinkte Doku gelesen und die Konfiguration entsprechend geprüft.
Hier die Resultate:
Code:
# pwd
/srv/www/htdocs/nextcloud
# ls -la .htaccess
-rw-r--r-- 1 root root 3127 21. Sep 11:01 .htaccess
# cat .htaccess
:
:
<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 ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
</IfModule>
:

# cd /etc/apache2
# ls -l | grep conf.d
drwxr-xr-x 2 root root  4096 22. Sep 20:58 conf.d
# cd conf.d
# ls -l
insgesamt 32
-rw-r--r-- 1 root root   819 22. Mai 12:18 mod_perl.conf
-rw-r--r-- 1 root root   425 24. Aug 09:21 mod_php8.conf
-rw-r--r-- 1 root root 10766 13. Feb 2023  mod_security2.conf
-rw-r--r-- 1 root root  1283 22. Mai 13:12 nextcloud.conf
-rw-r--r-- 1 root root  2325 22. Mai 13:04 phpMyAdmin.conf
-rw-r--r-- 1 root root   557 22. Mai 13:04 phpMyAdmin.inc

# tail nextcloud.conf
<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule ^/\.well-known/host-meta /nextcloud/public.php?service=host-meta [QSA,L]
  RewriteRule ^/\.well-known/host-meta\.json /nextcloud/public.php?service=host-meta-json [QSA,L]
  RewriteRule ^/\.well-known/nodeinfo /nextcloud/public.php?service=nodeinfo [QSA,L]
  RewriteRule ^/\.well-known/webfinger /nextcloud/public.php?service=webfinger [QSA,L]
  RewriteRule ^/\.well-known/carddav /nextcloud/remote.php/dav/ [R=301,L]
  RewriteRule ^/\.well-known/caldav /nextcloud/remote.php/dav/ [R=301,L]
</IfModule>
Die in der Doku beschriebene Ursache, dass RewriteRule fehlen würden ist bei mir nicht erfüllt. Die waren von Beginn der Installation in .htaccess und nextcloud.conf eingetragen.

Die Versiondaten von Nextcloud und Mariadb
Code:
Version: 8.0.30
Speicherlimit: 536,9 MB
Maximale Ausführungszeit: 3600
Maximale Größe zum Hochladen: 2,1 MB
Erweiterungen: Core, date, libxml, pcre, filter, hash, json, Reflection, SPL, session, SimpleXML, standard, xml, apache2handler, mysqlnd, apcu, bcmath, bz2, calendar, ctype, curl, dom, mbstring, fileinfo, ftp, gd, gettext, gmp, iconv, imagick, intl, ldap, exif, mysqli, openssl, pcntl, PDO, pdo_mysql, pdo_sqlite, zlib, posix, sqlite3, tokenizer, xmlreader, xmlwriter, zip, Phar

    Art:                            mysql                   
     Version:                            10.6.14

Auf meinem alten PC (der läuft noch und nextcloud funktioniert) ist nextcloud praktisch identisch konfiguriert, bloß die Softwareversionen sind älter.
Also die gleiche Dateien mit fast dem gleichen Inhalt und gleiche Zugriffsrechte.

Was könnte noch der Auslöser sein?
Die Suche im Internet läuft im Kreis und endet immer bei den RewriteRules

Grüße
Georg
 

spoensche

Moderator
Teammitglied
Ist der DocumentRoot /srv/www/htdocs/nextcloud?

Wenn ja, dann sind folgende RewriteRules die Ursache:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^/\.well-known/host-meta /nextcloud/public.php?service=host-meta [QSA,L]
RewriteRule ^/\.well-known/host-meta\.json /nextcloud/public.php?service=host-meta-json [QSA,L]
RewriteRule ^/\.well-known/nodeinfo /nextcloud/public.php?service=nodeinfo [QSA,L]
RewriteRule ^/\.well-known/webfinger /nextcloud/public.php?service=webfinger [QSA,L]
RewriteRule ^/\.well-known/carddav /nextcloud/remote.php/dav/ [R=301,L]
RewriteRule ^/\.well-known/caldav /nextcloud/remote.php/dav/ [R=301,L]
</IfModule>
Die RewriteRules passen, wenn der DocumentRoot /srv/www/htdocs ist. Ist der DocumentRoot /srv/www/htdocs/nextcloud, dann passen sie nicht.
 
OP
P6CNAT

P6CNAT

Advanced Hacker
Guten Morgen spoensche

in der ersten Zeile der nextcloud.conf steht ein Alias der auf das richtige Verzeichnis zeigt. Hier die vollständige Datei vom neuen Rechner:

Code:
Alias /nextcloud "/srv/www/htdocs/nextcloud/"
<Directory "/srv/www/htdocs/nextcloud">
    Options +FollowSymLinks
    AllowOverride All

    <IfModule mod_dav.c>
      Dav off
    </IfModule>

    <IfModule mod_headers.c>
      Header always set Referrer-Policy no-referrer
      Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
    </IfModule>

    SetEnv HOME /srv/www/htdocs/nextcloud
    SetEnv HTTP_HOME /srv/www/htdocs/nextcloud
</Directory>

<Directory "/srv/www/htdocs/nextcloud/data/">
  # just in case if .htaccess gets disabled
  Require all denied
</Directory>

Redirect 301 /ocm-provider/ /nextcloud/ocm-provider/
Redirect 301 /ocs-provider/ /nextcloud/ocs-provider/

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule ^/\.well-known/host-meta /nextcloud/public.php?service=host-meta [QSA,L]
  RewriteRule ^/\.well-known/host-meta\.json /nextcloud/public.php?service=host-meta-json [QSA,L]
  RewriteRule ^/\.well-known/nodeinfo /nextcloud/public.php?service=nodeinfo [QSA,L]
  RewriteRule ^/\.well-known/webfinger /nextcloud/public.php?service=webfinger [QSA,L]
  RewriteRule ^/\.well-known/carddav /nextcloud/remote.php/dav/ [R=301,L]
  RewriteRule ^/\.well-known/caldav /nextcloud/remote.php/dav/ [R=301,L]
</IfModule>
ich habe die nextcloud.conf vom alten Rechner mit der neuen verglichen. Hier das Resultat:
Code:
# diff nextcloud.conf nextcloud.conf_alter_PC
31d30
<   RewriteRule ^/\.well-known/nodeinfo /nextcloud/public.php?service=nodeinfo [QSA,L]
Die Datei auf dem neuen Rechner enthält zusätzlich einen RewriteRule auf nodeinfo, ansonsten ist sie gleich.

Die jeweilige .htaccess Datei haben größere Unterschiede. Leider ist mir der Syntax ein Rätsel. Ich hänge beide Dateien an.

Grüße
Georg
 

Anhänge

  • htaccess_alter_PC.txt
    3 KB · Aufrufe: 2
  • htaccess_alter_PC.txt
    3 KB · Aufrufe: 1
OP
P6CNAT

P6CNAT

Advanced Hacker
Hallo,
welches ist das aktuellste nextcloud Paket ist das jemand ohne Probleme installiert hat? Interessiert mich brennend.
Und wie wurde das Paket installiert?

Ich habe eine Menge merkwürdiger Probleme mit offiziellen Paketen:

Das Paket 24.0.8-bp155.1.6-noarch von OpenSuse akzeptiert kein Passwort

Das Paket https://download.nextcloud.com/server/releases/nextcloud-27.1.1.zip funktioniert lokal, aber nicht von außerhalb des PC (siehe oben).
Außerdem bemängelt es die Integrität von hunderten Dateien,
Code:
Technical information
=====================
The following list covers which files have failed the integrity check. Please read
the previous linked documentation to learn more about the errors and how to fix
them.

Results
=======
- core
    - EXTRA_FILE
        - core/Controller/SvgController.php
        - core/Command/App/CheckCode.php
        - core/Command/Security/ResetBruteforceAttempts.php
        - core/js/tests/specs/appsSpec.js
        - core/css/lostpassword/resetpassword.css
        - core/css/css-variables.scss
        - core/img/background.png
        - core/img/background.svg
        - core/doc/admin/_images/smtp-config-smtp.png
        - dist/accessibility-accessibility.js.map
        - dist/user_status-dashboard.js
        - dist/files_trashbin-files_trashbin.js.map
        - dist/files_trashbin-files_trashbin.js.LICENSE.txt
        - dist/accessibility-accessibilityoca.js
        - dist/user_status-dashboard.js.map
        - dist/accessibility-accessibilityoca.js.map
        - dist/files_trashbin-files_trashbin.js
        - dist/accessibility-accessibilityoca.js.LICENSE.txt
        - dist/accessibility-accessibility.js
        - lib/private/Dashboard/DashboardManager.php
        - lib/private/Updater/ChangesResult.php
        - lib/private/App/AppStore/Bundles/CoreBundle.php
        - lib/private/Http/Client/LocalAddressChecker.php
        - lib/private/Http/IpUtils.php
        - lib/private/Share/SearchResultSorter.php
        - lib/private/BackgroundJob/Legacy/RegularJob.php
        - lib/private/BackgroundJob/Legacy/QueuedJob.php
        - lib/private/Template/SCSSCacher.php
        - lib/private/Template/IconsCacher.php
        - lib/private/Repair/Owncloud/InstallCoreBundle.php
        - lib/private/legacy/OC_DB.php
        - lib/private/legacy/OC_DB_StatementWrapper.php
        - lib/private/Comments/EmojiHelper.php
        - lib/private/Files/ObjectStore/NoopScanner.php
        - lib/public/Dashboard/Service/IWidgetsService.php
        - lib/public/Dashboard/Service/IEventsService.php
        - lib/public/Dashboard/IDashboardWidget.php
        - lib/public/Dashboard/IDashboardManager.php
        - lib/public/Dashboard/Model/WidgetTemplate.php
        - lib/public/Dashboard/Model/IWidgetConfig.php
        - lib/public/Dashboard/Model/WidgetSetting.php
        - lib/public/Dashboard/Model/WidgetSetup.php
        - lib/public/Dashboard/Model/IWidgetRequest.php
        - lib/public/Dashboard/Exceptions/DashboardAppNotAvailableException.php
        - lib/public/BackgroundJob.php
        - lib/public/AppFramework/Db/Mapper.php
        - lib/public/App.php
        - lib/public/WorkflowEngine/IOperationCompat.php
        - lib/public/WorkflowEngine/IEntityCompat.php
        - 3rdparty/scssphp/scssphp/composer.json
        - 3rdparty/scssphp/scssphp/README.md
        - 3rdparty/scssphp/scssphp/phpcs.xml.dist
        - 3rdparty/guzzlehttp/promises/CHANGELOG.md
        - 3rdparty/guzzlehttp/promises/Makefile
        - 3rdparty/guzzlehttp/promises/composer.json
        - 3rdparty/guzzlehttp/promises/README.md
        - 3rdparty/guzzlehttp/uri-template/CHANGELOG.md
        - 3rdparty/guzzlehttp/uri-template/composer.json
        - 3rdparty/guzzlehttp/uri-template/README.md
        - 3rdparty/guzzlehttp/psr7/src/functions.php
        - 3rdparty/guzzlehttp/psr7/src/functions_include.php
        - 3rdparty/guzzlehttp/psr7/CHANGELOG.md
        - 3rdparty/guzzlehttp/psr7/composer.json
        - 3rdparty/guzzlehttp/psr7/README.md
        - 3rdparty/egulias/email-validator/composer.lock
        - 3rdparty/egulias/email-validator/composer.json
:
:

diese Dateien sind im Paket gar nicht enthalten, also wieso werden die bemängelt?
Ich habe den Eindruck, dass der Qualitätssicherung einige Fehler entgangen sind.

Grüße
Georg
 

bmk

Member
Hallo,

zunächst: geht es um Probleme beim Zugriff per Browser oder über den Desktop-Client bzw. Andoid-Apps?

ich habe nextcloud als zip-Paket von der nextcloud-Hp heruntergeladen und unter /srv/www/htdocs/nextcloud installiert (das Datenverzeichnis separat).

Die apache-Konfiguration (etc/apache2/conf.d/nextcloud.conf) habe ich aus dem openSUSE-Repo geholt und ist bis auf das Datenverzeichnis gleich mit deinen Einstellungen.

Die Aktualisierungen erledige ich mit dem eingebauten Updater, das Update auf Vr. 27.1.1 lief ohne Fehler durch.
Die Installationsdateien liegen unter Daten/updater-...

Ich habe meinen Apache-Webserver für https konfiguriert, da manche Android-Apps nur per https funktionieren (da muss noch im Browser die Ausnahme für Seiten mit selbst signierten Zertifikaten gesetzt werden).

Ist die Firewall entspr. konfiguriert? (apache2 bzw. apache-ssl)?

Die Konfigurationsmeldungen zu caldav bekomme ich nicht (ich nutze nextcloud, um meinen thunderbird-Kalender mit der Android-App OneCalendar - Discover the best calendar app of 2023 zu synchronisieren.

Dafür bekomme ich Meldungen zu nodeinfo und webfinger, das brauche ich aber nicht.

Grüße bmk
 
OP
P6CNAT

P6CNAT

Advanced Hacker
Hallo bmk,

die Verbindung von Kontact mit nextcloud funktioniert, wenn beides auf demselben PC läuft.

Von meinem alten PC gehen kann ich weder den Browser noch Kontact mit dem neuen PC verbinden.
Auf dem Telefon verwende ich Fair-Email mit DAVx5 sowie Carnet. Beim alten PC problemlos, zum neuen PC bekomme ich keine Verbindung.

In der Firewall sind apache2, apache2-ssl, http und https in der Zone dmz freigeschaltet, analog zum alten PC.

Der Apache läuft (noch) nicht mit ssl, DAVx5 kommt auch ohne klar.

Nextcloud behauptet, dass die Version aktuell sei und bietet keinen Update an. Das steht allerdings im Widerspruch zum Integritätscheck.
 
Zuletzt bearbeitet:

bmk

Member
Hallo P6CNAT.

funktioniert der allgemeine Zugriff auf den HTTP-Server (z.B. index.html, phpinfo.php)?

Falls nicht, sieht das nach einem Netzwerkproblem aus.

 
OP
P6CNAT

P6CNAT

Advanced Hacker
Hallo,
der Zugriff funktioniert jetzt. Die Firewallfreischaltung war analog zum alten PC für die Zone "home" konfiguriert. Es musste aber "public" sein.
Die vielen Fehlermeldungen (siehe oben) werden aber weiter angezeigt. Ich muss mich wohl auf Überraschungen einstellen.
Ich versuche mal mein Netzwerk mit nmap auf Schwachstellen zu prüfen.

Bei openSUSE Software gibt es Community Entwickler, die bereits die Version 27.1.1 veröffentlicht haben. Vielleicht probiere ich mal so ein Paket aus.
 
Oben