htaccess-Datei funktioniert nicht

Hallo,

ich habe heute gesehen, dass Nextcloud folgenden Fehler meldet: “Dein Datenverzeichnis und Deine Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, Deinen Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass Du es aus dem Dokument-Root-Verzeichnis des Webservers bewegst.”

Ich habe nun im Internet gelesen, dass der Fehler auftreten soll, wenn Nextcloud nicht direkt im var/www/html Verzeichnis sein soll sondern z.B in meinem Fall in var/www/cloud.domain.yt

Meine sites available Config sieht so aus:

<VirtualHost *:80>
ServerAdmin email@domain.yt
ServerName cloud.domain.yt
ServerAlias cloud.domain.yt
DocumentRoot /var/www/cloud.domain.yt
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile gd
SSLCertificateKeyFile gd

<Directory /var/www/cloud.domain.yt/>
AllowOverride All

Weiß jemand weiter?

Hallo @anon12052248

Scheint etwas unvollständig deine Config, wenn ich das mit der Beispielkonfiguration aus der Doku oder mit meiner Konfiguration vergleiche…

https://docs.nextcloud.com/server/latest/admin_manual/installation/source_installation.html#apache-web-server-configuration

Die relevate Zeile, damit die .htaccess Files berücksichtigt werden, ist aber mit “AllowOverride All” drinn bei dir.

Evtl. ist ja das Rewrite Modul nicht aktiv…

a2enmod rewrite

Weiter sollte auch mindestens die folgenden Module aktiv sein, damit alles korrekt funktioniert:

a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime

Ist alles drinnen, funktioniert weiterhin nicht

Könntest du mal deine vollständige Virtualhost Config hier posten und generell noch ein bisschen mehr Infos zu deinem System z.B. welches OS du nutzt? Der Directory Abschnitt sollte ungefähr so aussehen, wie in dem Link, den ich gepostet habe, der Pfad muss natürlich angepasst werden…

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

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

Nach konfigurationsänderungen muss der Apache neu gestartet werden:

Debian/Ubuntu basierte Systeme:

systemctl restart apache2

RHEL/CentOS/Fedora:

systemctl restart httpd

Hallo, sorry für die späte Antwort, hab mich erst heute wieder dran gesetzt. Habe alles davon gemacht und geht trotzdem nicht. Finde auch keine anderen Lösungsmöglichkeiten mehr im Netz. Grade sieht die Apache Config vom Nextcloud Ordner so aus:

<VirtualHost *:80>
    ServerAdmin emailadresse@email.org
    ServerName cloud.domain.yt
    ServerAlias cloud.domain.yt
    DocumentRoot /var/www/cloud.domain.yt
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    SSLEngine on
    SSLCertificateFile /root/cloudflare/domain.yt.pem
    SSLCertificateKeyFile /root/cloudflare/domain.yt.key
</VirtualHost>

<VirtualHost *:443> 
  ServerName cloud.domain.yt
    <IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
    </IfModule>
</VirtualHost>
 
<Directory /var/www/cloud.domain.yt/>
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews

    SetEnv HOME /var/www/cloud.domain.yt
    SetEnv HTTP_HOME /var/www/cloud.domain.yt

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

Pfad zu der Config bitte. Danke

/etc/apache2/sites-available
/etc/apache2/sites-enabled

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>