ownCloud Apache .htaccess-Warnung sicher löschen

Bei einer auf Apache gehosteten ownCloud Classic-Installation beheben Sie die Warnung „AllowOverride All“ oder „.htaccess funktioniert nicht“, indem Sie im aktiven virtuellen Host AllowOverride Allinnerhalb eines entsprechenden Apache- <Directory>Blocks für das ownCloud-Webverzeichnis die entsprechende Einstellung vornehmen. Testen Sie die Apache-Konfiguration, laden Sie den Dienst neu und aktualisieren Sie die ownCloud-Administrationsübersicht. Aktivieren Sie keine Überschreibungen für das gesamte Dateisystem.

Ein Apache Virtual-Host-Editor, der DocumentRoot und einen zugehörigen ownCloud Directory-Block mit AllowOverride All anzeigt.
Die Überschreibung gehört in den Apache-Verzeichnisblock, der dem Dateisystempfad von ownCloud entspricht.

Was die Warnung bedeutet

Die Apache- AllowOverrideDirektive steuert, welche Einstellungen eine .htaccessDatei anwenden darf. Wenn Überschreibungen für das ownCloud-Verzeichnis deaktiviert sind, kann Apache die Regeln in der von ownCloud bereitgestellten .htaccessDatei ignorieren. Dies kann sich auf Rewrite-Regeln und Sicherheitsregeln auswirken. Aus diesem Grund enthält das aktuelle ownCloud-Handbuch (Version 10.16) AllowOverride Allein Beispiel für die Apache-Konfiguration.

Die Direktive ist nur in einem Apache-Abschnitt gültig <Directory>. Sie gehört nicht in .htaccesseinen ` <Location><head>`-Block oder einen URL-Pfad. Apache weist Administratoren außerdem darauf hin, Überschreibungen nicht im globalen ` <Directory "/"><head>`-Block zu aktivieren; beschränken Sie die Einstellung stattdessen auf das ownCloud-Installationsverzeichnis. Weitere Informationen finden Sie im ownCloud 10.16 Apache-Installationshandbuch und in der Apache- AllowOverrideReferenz .

Bevor Sie Apache bearbeiten

  • Vergewissern Sie sich, dass der Webserver, der ownCloud verwaltet, Apache ist. Diese Anweisung konfiguriert Nginx nicht. Falls sich Apache hinter einem Proxy befindet, ermitteln Sie den Apache-Host, der die ownCloud-Dateien bereitstellt.
  • Ermitteln Sie den tatsächlichen Installationspfad von ownCloud, z. B. /var/www/owncloud. Verwenden Sie den Dateisystempfad, den Apache bereitstellt, nicht eine Browser-URL wie /owncloud.
  • Sichern Sie die aktive Virtual-Host-Datei, bevor Sie sie ändern. Unter Debian oder Ubuntu verwendet die ownCloud-Anleitung den Pfad /etc/apache2/sites-available/owncloud.conf; andere Distributionen verwenden andere Speicherorte.
  • Prüfen Sie, ob Ihre HTTP- und HTTPS-Virtual-Hosts getrennt sind. Nehmen Sie die Einstellung im VHost vor, der ownCloud-Anfragen verarbeitet. Wenn beide VHosts die Dateien direkt bereitstellen, konfigurieren Sie beide einheitlich.

Unter Debian oder Ubuntu sudo apachectl -Swerden die virtuellen Hosts von Apache und die zugehörigen Konfigurationsdateien aufgelistet. Dadurch wird vermieden, dass eine ungenutzte Standardwebsite bearbeitet werden muss, während der HTTPS-VHost weiterhin ownCloud bereitstellt.

Fügen Sie die Direktive dem entsprechenden Verzeichnisblock hinzu.

Öffnen Sie die aktive vhost-Datei und suchen Sie den vorhandenen ownCloud- <Directory>Abschnitt. Fügen Sie dort die entsprechende Zeile hinzu oder korrigieren Sie sie. Bei einer Standardinstallation unter /var/www/owncloudkönnte der relevante Abschnitt beispielsweise so aussehen:

DocumentRoot /var/www/owncloud

<Directory /var/www/owncloud/>
  Options +FollowSymLinks -Indexes
  AllowOverride All
  Require all granted
</Directory>

Integrieren Sie die Einstellung in Ihre bestehende Konfiguration, anstatt den gesamten virtuellen Host durch dieses kurze Beispiel zu ersetzen. Befindet sich Ihr ownCloud-Verzeichnis an einem anderen Ort, ersetzen Sie beide Pfade durch den tatsächlichen Pfad. Apache benötigt, dass der Verzeichnispfad mit dem Dateisystempfad übereinstimmt, den es für die Dateien verwendet.

AllErlaubt es, dass jede in einer Datei zulässige Direktive .htaccessdie Servereinstellungen in diesem Verzeichnis überschreibt. Dies ist eine weitreichende Berechtigung; beschränken Sie diesen Block daher auf das ownCloud-Webverzeichnis. Ändern Sie die Einstellungen nicht AllowOverride Nonefür andere Websites, nur um die Warnung zu unterdrücken /./var/www

Testen, neu laden und überprüfen

Unter Debian oder Ubuntu dokumentiert ownCloud mod_rewritedie für die Apache-Konfiguration erforderlichen Dokumente. Falls Apache nicht aktiviert ist, aktivieren Sie es mit folgendem Befehl:

sudo a2enmod rewrite

Überprüfen Sie anschließend die Konfiguration, bevor Sie sie anwenden:

sudo apachectl -t

Fahren Sie nur fort, wenn Apache eine Meldung meldet Syntax OK. Laden Sie Apache neu, damit es den aktualisierten virtuellen Host liest:

sudo systemctl reload apache2

Bei Distributionen, die den httpdDienstnamen verwenden, nutzen Sie stattdessen die Konfigurationstest- und Neuladebefehle dieser Distribution. Kehren Sie zu ownClouds Einstellungen > Administration > Übersicht zurück und aktualisieren Sie die Seite. Die Warnung sollte verschwinden, sobald Apache den bearbeiteten virtuellen Host liest und ownClouds Konfiguration verarbeitet .htaccess.

Ein Linux-Terminal, das a2enmod rewrite ausführt und anzeigt, dass das Apache-Rewrite-Modul aktiviert ist.
Prüfen Sie, ob das Rewrite-Modul von Apache aktiviert ist, wenn das Rewrite-Verhalten von ownCloud Teil der Warnung ist.
Ein Linux-Terminal zeigt, dass apachectl -t die Syntax OK zurückgibt, bevor Apache neu geladen wird.
Überprüfen Sie die Apache-Konfiguration, bevor Sie den Dienst neu laden.
Eine Administrationsübersichtsseite im ownCloud-Stil ohne sichtbare AllowOverride-Warnung.
Nach dem Neuladen sollten Sie die Administrationsübersicht erneut aufrufen und prüfen, ob die .htaccess-Warnung verschwunden ist.

Wenn die Warnung weiterhin angezeigt wird

  • Überprüfen Sie den aktiven virtuellen Host. Führen Sie den Befehl sudo apachectl -Serneut aus und vergewissern Sie sich, dass die geänderte Datei zum Hostnamen und Port gehört, die von ownCloud verwendet werden. Eine AllowOverride AllZeile in einem nicht übereinstimmenden Block hat keine Auswirkung.
  • Überprüfen Sie den genauen Pfad und Abschnitt. Stellen Sie sicher, dass der Block ein Literalabschnitt ist <Directory /path/to/owncloud/>und der Pfad mit dem Installationsverzeichnis übereinstimmt. Apache ignoriert AllowOverridein .htaccessund <Location>.
  • Generieren Sie veraltete ownCloud-Regeln nur bei Bedarf neu. Wenn der vHost korrekt ist, die Rewrite-Regeln von ownCloud aber aktualisiert werden müssen, finden Sie die entsprechenden Informationen im Handbuch occ maintenance:update:htaccess. Führen Sie das Skript im ownCloud-Verzeichnis als Webserver-Benutzer aus sudo -u www-data php occ maintenance:update:htaccess. Der Webserver-Benutzer muss Schreibrechte für die bereitgestellte Datei besitzen .htaccess. Die Datei darf nicht für alle Benutzer beschreibbar sein; korrigieren Sie die Besitzrechte und Berechtigungen gemäß den Anweisungen Ihrer Installation.
  • Lesen Sie nach einem 500-Fehler das Apache-Fehlerprotokoll. Eine Syntaxprüfung validiert die Hauptkonfiguration von Apache, aber eine Direktive .htaccesskann dennoch fehlschlagen, wenn das zugehörige Modul fehlt oder die Direktive nicht zulässig ist. Verwenden Sie das Fehlerprotokoll, um das spezifische Modul oder die Regel zu identifizieren.

Die dokumentierte URL-Konfiguration von ownCloud ohne index.php erfordert ebenfalls ein beschreibbares Stammverzeichnis mod_rewrite. Dies ist eine damit zusammenhängende Rewrite-Konfiguration und kein Grund, die Überschreibungen über das ownCloud-Verzeichnis hinaus zu erweitern. Wenn Ihre Konfiguration PHP-FPM verwendet, befolgen Sie die aktuellen ownCloud-Richtlinien für diese Installation, anstatt PHP-Handler zu ändern, um eine Apache-Warnung zu beheben. Falls die Warnung besagt, dass das Datenverzeichnis möglicherweise öffentlich zugänglich ist, überprüfen Sie, ob sich das Datenverzeichnis außerhalb des Web-Stammverzeichnisses befindet oder durch eine explizite Apache-Regel geschützt ist. Das Beheben der Warnung allein beweist nicht, dass private Dateien nicht direkt angefordert werden können.mod_env.htaccess.htaccess

Für das dokumentierte Verhalten und die Plattformbeschränkungen konsultieren Sie die URL-Anleitung von ownCloud für index.php-lose Dateien sowie die zugehörige OCC-Befehlsreferenz .

Einen Kommentar hinterlassen

ownCloud Apache .htaccess-Warnung sicher löschen

ownCloud Apache .htaccess-Warnung sicher löschen

Setzen Sie AllowOverride All nur für das Web-Root-Verzeichnis von ownCloud, überprüfen Sie den aktiven Apache-Vhost und laden Sie die Seite sicher neu, um die .htaccess-Regeln wiederherzustellen.

ownCloud Enterprise-Auditing einrichten und Protokolle überprüfen

Aktivieren Sie die ownCloud Enterprise Auditing App, leiten Sie admin_audit-Ereignisse in eine geschützte Protokolldatei um und vergewissern Sie sich, dass echte Benutzeraktionen aufgezeichnet werden.

Verbinden Sie ownCloud Infinite Scale mit Keycloak über OIDC.

Verbinden Sie ownCloud Infinite Scale mit Keycloak über OIDC.

Die Realm Issuer-, Webclient- und Benutzeransprüche von Keycloak müssen aufeinander abgestimmt werden, damit ownCloud Infinite Scale-Benutzer zuverlässig über Web- und mobile Clients anmelden können.

ownCloud-Dateien an einen neuen Besitzer übertragen, ohne die Anteile zu verlieren

Übertragen Sie eigene Dateien und ausgehende Freigaben mit dem ownCloud-Befehl occ, sehen Sie, was zurückbleibt, und überprüfen Sie den Zugriff, bevor Sie das alte Konto löschen.

Beschleunigen Sie ownCloud 10-Abfragen durch sichere Indexverwaltung

Erfahren Sie, wann ownCloud 10-Datenbankindizes Aufmerksamkeit benötigen, wie Sie unterstützte Schema-Updates sicher anwenden und wann eine Optimierung der Abfragen oder eine Datenbankänderung die bessere Lösung darstellt.

Einbinden einer SMB/CIFS-Freigabe in ownCloud ohne Linux-Einbindung

Verbinden Sie eine Windows- oder Samba-Netzwerkfreigabe über externen Speicher mit ownCloud, überprüfen Sie die Anmeldeinformationen und beheben Sie Probleme mit nicht zugänglichen Ordnern sicher.

Mit dem Befehl occ lassen sich ownCloud-Dateiversionen sicher löschen.

Mit dem Befehl occ lassen sich ownCloud-Dateiversionen sicher löschen.

Entfernen Sie alle gespeicherten ownCloud Server Classic-Dateiversionen für ein Konto oder alle Benutzer und unterscheiden Sie zwischen einer vollständigen Löschung und einer archivierungsbasierten Ablaufzeit.

ownCloud-Mobilverbindung abgelehnt? URL und Erreichbarkeit prüfen

ownCloud-Mobilverbindung abgelehnt? URL und Erreichbarkeit prüfen

Um die Ursache einer Verbindungsverweigerung von ownCloud auf dem Mobilgerät zu ermitteln, überprüfen Sie die Server-URL, das Telefonnetz, den HTTPS-Endpunkt und die Serverprotokolle in der richtigen Reihenfolge.

Führen Sie ownCloud-Hintergrundprozesse zuverlässig mit einem Systemd-Timer aus.

Ersetzen Sie die bedarfsgesteuerten Jobausführungen durch einen systemd-Timer, der alle 15 Minuten den von ownCloud unterstützten occ system:cron-Befehl ausführt.

ownCloud WebDAV-Synchronisierung wiederherstellen, indem die defekte Route gefunden wird

Verfolgen Sie die WebDAV-Anfrage über Apache, Nginx oder einen Reverse-Proxy und bestätigen Sie anschließend mit einem authentifizierten PROPFIND-Test, ob die ownCloud-Synchronisierung funktioniert.