htaccess-Datei funktioniert nicht

Der Directory Block sollte vielleicht innerhalb der Virtual Host config stehen?

1 Like

Ich habe das mal etwas umgestellt


Plus habe ich die SSL Konfiguration in den zweiten VirtualHost verschoben und im ersten einen Redirect auf HTTPS gesetzt. Ich hoffe das hilft dir weiter


<VirtualHost *:80>
    ServerAdmin emailadresse@email.org
    ServerName cloud.domain.yt
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    Redirect permanent / https://cloud.domain.yt/
</VirtualHost>
<VirtualHost *:443> 
  ServerName cloud.domain.yt
  DocumentRoot /var/www/cloud.domain.yt

  <Directory /var/www/cloud.domain.yt/>
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews

  <IfModule mod_dav.c>
      Dav off
    </IfModule>
  </Directory>
  
  SetEnv HOME /var/www/cloud.domain.yt
  SetEnv HTTP_HOME /var/www/cloud.domain.yt
  
  SSLEngine on
  SSLCertificateFile /root/cloudflare/domain.yt.pem
  SSLCertificateKeyFile /root/cloudflare/domain.yt.key

  <IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
  </IfModule>

  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Die Fehlermeldung:

Ihr Datenverzeichnis und Ihre Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, Ihren Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass Sie es aus dem Document-Root-Verzeichnis des Webservers herausverschieben.

kommt auch wenn eine dieser (aber nicht nur) 3 Einstellungen in der config.php im Nextcloud/config Verzeichnis fehlerhaft ist:

  1. Trusted Domains

‘trusted_domains’ =>
array (
0 => ‘https://cloud.example.com’
),

Ein veralteter oder falscher Eintrag und die Fehlermeldung kommt.
Hier habe ich in meiner config.php nur die echte Domain drin mit https vorne dran.
Beim hinzufĂŒgen von Zahlen-IPs wie 192.168.0.1 oder so hatte ich nur Probleme.
Ich empfehle hier daher nur Domains einzutragen.

  1. Trusted Proxies

‘trusted_proxies’ =>
array (
0 => ‘192.168.0.1’
),

Ein veralteter oder falscher Eintrag und die Fehlermeldung kommt.
Hier habe ich in meiner config.php nur die echte Zahlen-IP drin.
Beim hinzufĂŒgen von Domainnamen wie https://cloud.example.com oder so hatte ich nur Probleme.
Ich empfehle hier daher nur Zahlen-IPs einzutragen.

  1. overwrite.cli.url

‘overwrite.cli.url’ => ‘https://cloud.example.com’,

Ein veralteter oder falscher Eintrag und die Fehlermeldung kommt.

Am besten mit diesen 3 Parametern bekannt machen, da diese die oben genannte Fehlermeldung ebenfalls auslösen können.

Danke, ich bin deiner Anleitung gefolgt, das Problem besteht unter Nextcloud 29 trotzdem.

Wenn ich unter trusted_domains meine Domain mit https:// eintrage erhalte ich eine Fehlermeldung beim Laden der Nextloud Webseite, dass ich die Webseite hinzufĂŒgen soll zu trusted domains. Sobald ich das https:// entferne funktioniert die Nextcloud wieder.

Ich hatte das Problem mal in einer Betaversion, bin aber leider nicht ganz sicher was es verursacht hat, respektive was den Ausschlag gegeben hat, dass es nun nicht mehr auftritt. Ich bin aber ziemlich sicher, dass das Problem nicht alleine mit der config.php gelöst werden kann, bzw. dass die Kombination aus Webserver Config und config.php entscheidend ist.

Das ist korrekt. Unter den trusted Domains sollten nur FQDNs, Domains oder allenfalls IP Adressen eingetragen werden.

Falls du https ezwingst, respektive http nach https “rewritest/redirectest” in der Webserverconfig, kannst du folgende Zeile zur config.php inzufĂŒgen:

'overwriteprotocol' => 'https',

Aber vielleicht magst du ja mal deine Webserverconfig und die config.php posten, ansonsten artet das hier in ein Ratespiel aus. :wink:

Ich hÀnge mich hier mal mit ran - habe eben auf Nextcloud Hub 8 (v29.0.0) geupdated und habe nun auch diesen Fehler drin stehen:

  • Ihr Datenverzeichnis und Ihre Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, Ihren Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass Sie es aus dem Document-Root-Verzeichnis des Webservers herausverschieben.

Auszug aus meiner config.php

$CONFIG = array (
  'passwordsalt' => 'geheim',
  'secret' => 'geheim',
  'trusted_domains' =>
  array (
    0 => 'localhost',
    2 => 'cloud.meine-domain.de',
  ),
  'datadirectory' => '/home/meine-domain/web/cloud.meine-domain.de/public_html/data',
  'dbtype' => 'mysql',
  'version' => '29.0.0.19',
  'overwriteprotocol' => 'https',
  // hier war zuerst 'overwrite.cli.url' => 'http://localhost',
  'overwrite.cli.url' => 'https://cloud.meine-domain.de',
  ...
  'maintenance_window_start' => 1,
  'default_phone_region' => 'DE',
  'theme' => '',
  'loglevel' => 2,
  'trashbin_retention_obligation' => 'auto, 7',
);

1 Like

Bei mir war es eine IP in den trusted_domains.
@ Isaac Dein trusted_domains array ist nicht richtig nummeriert.

Habe die “2” zu “1” geĂ€ndert - Ă€ndert aber nichts an der .htaccess Meldung.

Bei mir war es eine IP in den trusted_domains.

Passen meine EintrÀge hier oder sollte anstatt der Domain die IP rein?

Ich konnte das in NC 29 mit Wildcards * lösen.

1 Like

Kannst du zum testen bei dir ‘trusted_domains’ den Eintrag localhost entfernen und nur deine Webseite drinstehen lassen. Also:
‘trusted_domains’ =>
array (
0 => ‘cloud.meine-domain.de’
),
oder mal mit Widcards probieren
‘trusted_domains’ =>
array (
0 => ‘*cloud.meine-domain.de’
),
oder mal mit https://
‘trusted_domains’ =>
array (
0 => ‘https://cloud.meine-domain.de’
),

  1. Keine Änderung
  2. Keine Änderung
  3. mit https:// davor komme ich dann gar nicht mehr in Nextcloud
Zugriff ĂŒber eine nicht vertrauenswĂŒrdige Domain
Bitte kontaktieren Sie Ihren Administrator. Wenn Sie Administrator sind, bearbeiten Sie die „trusted_domains“-Einstellung in config/config.php. Siehe Beispiel in config/config.sample.php.

Wenn du mit https:// gar nicht rein kommst,
Kann es dann sein dass dein Server nur unter http:// lÀuft? Und du kein SSL Zertifikat und damit kein https:// hast?
Benutzt du Apache als Webserver und könntest du die dort hinterlegte Konfigurationsdateien fĂŒr deine Webseite in anonymisierter Form auffĂŒhren?
Ich meine die Dateien im sites-enabled Ordner in denen dann die virtualhost und der Port und so steht.

Das hast Du falsch verstanden. Ich habe nur https aktiv und lÀuft auch problemlos.

Teste mal selber in der config bei Deinem Eintrag ein https:// vorne dran zu machen und rufe NC auf, dann siehst Du was ich meine. Es kommt dann kein Login, sondern eben sofort o.g. Fehlermeldung von NC.

Das mit dem https:// vorne dran kann ich aktuell aber nicht testen Isaac, denke aber dass du Recht hast es da weg zu lassen.
Wenn du Apache benutzt, mĂŒssen im Ordner “sites-enabled” in den Dateien im “directory” Abschnitt die Zeile: Options FollowSymLinks
Enthalten sein.

Als Beispiel:

<Directory /var/www/nextcloud/>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews

Ist dies der Fall bei dir?

Verschiebe dein Nextcloud Datenverzeichnis außerhalb deines WebRoots.

z.B. von
/home/meine-domain/web/cloud.meine-domain.de/public_html/data nach
/home/meine-domain/web/cloud.meine-domain.de/data

Habe ich auch schon gemacht - mein data liegt jetzt in /home/meine-domain/web/cloud.meine-domain.de/private/data - Fehler weiterhin vorhanden.

Hat bei mir auch mit *.meindedomain.de funktioniert

Kannst du mal schauen ob die .htaccess Datei auch wirklich vorhanden ist?
Am besten im Terminal → sudo nautilus → Dann auf links auf Rechner oder Wurzelverzeichnis dann auf /home/meine-domain/web/cloud.meine-domain.de/private/data navigieren und im nautilus Datei Explorer oben rechts auf Optionen → versteckte Dateien anzeigen → Haken setzen

Eventuell auch mal die korrekten Rechte auf das data Verzeichnis neu setzen, im Internet gibt es da eine Anleitung wie das data Verzeichnis rekursiv mit den korrekten Rechten gesetzt wird.

Ich habe das Problem bzw. die Meldung seit dem heutigen Update auf Nextcloud 29 auch und das Datenverzeichnis liegt nicht im Webverzeichnis.

/var/nextcloud/data
vs.
/var/www/html/<domain>/nextcloud

Bei Nextcloud 28 wurde der Fehler nicht angezeigt. Ich habe einen zweiten Server mit identischer Kofiguration (Backup, wo sich das sehr schön nachstellen lÀsst).

Das trifft sowohl auf 28.03 als auch auch 28.05 zu, ich habe gerade testweise das Backup zurĂŒckgespielt.