Anzeige
Der Agentur-Server: Das digitale Zuhause für deine Projekte.
↬ Jetzt testen ↬ Jetzt testen!
Andreas Hecht 26. August 2016

Wie mich (k)ein WordPress-Fehler an den Rand des Wahnsinns brachte

Wie mich ein WordPress Fehler an den Rand des Wahnsinns brachte

Eigentlich sollte dieser Artikel »Server und WordPress-Fehler: die .htaccess Vererbung« heißen. Doch dieser Titel hätte nicht im Mindesten das wiedergegeben, was sich ereignet hat. Manche Fehler sind dermaßen blöd, dass man nur laut loslachen könnte, wenn es nicht so traurig gewesen wäre. Ein Mann am Rande der Verzweiflung im Kampf gegen einen Fehler, der kein Fehler war.

Wie mich ein WordPress Fehler an den Rand des Wahnsinns brachte

Es sollte nur eine einfache WordPress-Installation werden. Einmal frisch installieren und fertig. Diese Tätigkeit ist nicht wirklich anspruchsvoll und verlangt im Allgemeinen auch nicht viel Fachwissen zur Lösung. Und doch hat es mich an den Rand der totalen Verzweiflung gebracht, denn ich musste eine Lösung für einen Fehler finden, der keiner war.

Die Vorgeschichte – mein Server-Umzug

Vor einigen Monaten habe ich meinen Websites einen »Managed-Root Cloud Server« von hostNET gegönnt. Ich wollte schon länger weg von meinem Shared-Hosting und mir etwas gönnen, was auch zukunftssicher durch skalierbare Ressourcen ist.

Da wir bereits über diese Art eines vServers berichteten, wusste ich, dass mein neuer Server über einen »Auto-Installer« verfügte. Also probierte ich diesen gleich aus und installierte das WordPress für die erste Website im Hauptverzeichnis, und nicht in einem Ordner im selbigen. Zum Verständnis: mit Hauptverzeichnis meine ich nicht das Root-Verzeichnis des Servers, sondern jenes, in dem die Websites ihre Heimat finden (html oder public_html oder ähnliches).

Das eine Installation über den Auto-Installer eine schlechte Lösung war, merkte ich erst viel später. Normalerweise lege ich für jede Website im Hauptverzeichnis einen Ordner an, auf den die betreffende Domain dann zeigt. Das hat sich für mich als beste Lösung erwiesen.

Doch in diesem Fall installierte ich das WordPress für meine erste Website direkt im Hauptverzeichnis. Danach legte ich für jede weitere Website einen eigenen Ordner an, der sich durch meinen dummen Fehler jedoch innerhalb der WordPress-Dateien der ersten Installation befand.

Der falsche und der richtige Weg mit mehreren Websites

So sollte eine Organisation mit mehreren Websites nicht aussehen:

Mein Messy-Server, das Problem ist offensichtlich.

In einer WP-Installation liegen mehrere andere Installationen.

Wenn man mehrere Websites auf einem Server betreibt, dann sollte die Struktur keinesfalls so aussehen, wie auf dem Screenshot oben. Das schafft erhebliche Probleme und dient nicht gerade der guten Übersicht.

Der optimale Weg, mehrere Websites auf einem Server zu organisieren:

So sieht eine vorbildliche Organisations-Struktur für mehrere Websites aus.

So sieht eine vorbildliche Organisations-Struktur für mehrere Websites aus.

Eine optimale Struktur für die Organisation von mehreren Websites auf einem Server bedeutet immer, sich für jede der Websites einen eigenen und eindeutig benannten Ordner anzulegen, auf den die betreffende Domain dann zeigen wird. So bleibt die Übersicht gewahrt und Fehler lassen sich wesentlich leichter lokalisieren, denn es kann keine Vererbung stattfinden.

Der Versuch einer WordPress-Installation

Nicht ahnend, dass mein Tag echt anstrengend werden würde, startete ich die Installation einer Website. Ich legte einen Ordner an, schob die WordPress-Dateien hinein, erstellte eine wp-config.php mit den korrekten Daten der zuvor angelegten Datenbank und rief die Installations-Routine auf.

http://meinewebsite.de/wp-admin/install.php

Doch statt der Installations-Routine bekam ich die folgende Fehlermeldung zu sehen:

Forbidden You don’t have permission to access /wp-admin/install.php on this server

Auch nach mehreren, unterschiedlichen Versuchen und allen möglichen Tricks konnte ich das Problem nicht lösen. Irgendwann wurde es mir zu viel und ich löste das Problem mit der »Kneifzange«.

Die interessante Lösung des Problems

Eine Eingebung ließ mich testen, ob ich eine andere Datei im Ordner /wp-admin/ aufrufen konnte. Ich erstellte eine Datei namens temp.php, und schrieb das berühmte »Hello World« hinein. Nachdem ich diese Datei in den Ordner verschoben hatte, ließ sie sich problemlos im Browser aufrufen. Also versuchte ich einen Trick mit der .htaccess Datei und schrieb folgendes hinein:

Natürlich funktionierte das auch nicht. Wie sollte es auch? Doch dazu etwas später. Denn zuerst galt es, mein Problem zu lösen.

Verwandle die temp.php in die install.php

Die von mir erstellte temp.php im Ordner /wp-admin/ ließ sich ohne Probleme aufrufen. Also kopierte ich den Inhalt der install.php in meine temp.php und passte sie etwas an. Die genaue Prozedur kannst du hier nachlesen:

WordPress Fehler lösen: 403 Forbidden für /wp-admin/install.php

Nun ließ sich WordPress ohne Probleme installieren. Und bereits an diesem Punkt hätte ich auf den wahren Verursacher des Problems treffen können. Doch ich hatte leider keinen Spiegel zur Hand. Erst nachdem ich den Artikel über meine unkonventionelle Lösung des Fehlers veröffentlicht hatte, kam mir die wahre Ursache des Fehlers in den Sinn.

Die Problemursache: die htaccess Vererbung

Der Fehler hatte einen Verursacher und eine Ursache. Der Verursacher war ganz klar ich selbst, denn ich sichere meine Websites stets gegen alle denkbaren Sicherheitslücken ab. Genau das war dann auch die Ursache des Problems.

Ich hatte, ohne groß nachzudenken, das WordPress für meine erste Website in das Hauptverzeichnis des Servers installiert. Die weiteren Websites kamen dann in eigenen Ordnern in die WordPress-Installation der ersten Website.

Das bedeutet, dass sich die .htaccess Datei der ersten Installation auf alle Dateien und Ordner in dieser Installation auswirkt. Auch auf die weiteren Websites. Denn es findet eine Vererbung statt.

Website Nummer eins bekam meine standard- .htaccess Datei verpasst. Der betreffende Ausschnitt:

Dieser Eintrag ist hochwirksam und verbietet jeglichen Zugriff auf die install.php. Sollte sich die Datei in einem Unterordner der ersten Installation befinden, dann ist der Eintrag auch dort wirksam. Grundsätzlich ist das eine logische Sache. Man muss nur darauf kommen.

Fazit: Viel Erfahrung schützt vor dummen Fehlern nicht

Auch Webmaster und Entwickler mit sehr viel Erfahrung machen manchmal dumme Fehler. Es fällt schwer, sich das einzugestehen. Doch es ist so. Manchmal sieht man einfach den Wald vor lauter Bäumen nicht. Wichtig ist nur, den Fehlern auf den Grund zu gehen, damit man dazulernen kann. An Fehlern und ihrer Lösung wächst man. Ich durfte in dieser Hinsicht gleich mehrfach dazulernen. Mein nächstes Zeitfenster wird der Neu-Organisation meines Servers dienen, damit diese Art von Fehlern nicht mehr vorkommen kann.

(dpe)

Andreas Hecht

Andreas Hecht

entwickelt WordPress-Websites und bietet dir einen Website Sicherheit Service und einen Performance Service für deine Website. Außerdem ist er Spezialist für Onpage SEO und bringt Deine Website in die Top-Suchergebnisse von Google. Auf seinem Blog schreibt er über WordPress, SEO und Content SEO.

4 Kommentare

  1. WordPress-Fehler können schon ziemlich gemein sein :)
    Ich habe einmal den halben Tag versucht eine eine WordPress Installation eines Kunden wiederherzustellen und verbrachte sehr viel Zeit damit zu prüfen, ob alle Angaben in der wp-config.php richtig sind. Nachher stellte sich raus, dass der Kunde es versehentlich geschafft hatte die Zeichenkodierung dieser Datei zu ändern: von ANSI in UTF-8…
    Oder was auch mal vorkommt, dass die .htaccess Datei der WordPress Installation beim Umzug auf eine andere Domain mitkopiert wird und die Permalinks nicht mehr funktionieren…

  2. Der dümmste „Fehler“, den ich mit WordPress je hatte, war dass bei Installation aus unerfindlichem Grund die Einstellung „noindex“ aktiviert war und die Website daher nicht von den Suchmaschinen aufgegriffen wurde. Was ich alles versucht haben, bis ich das endlich bemerkte!

  3. Das dürfte wohl schon vielen passiert sein, zumindest habe ich auch so meine Erfahrungen mit wordpress im html Hauptverzeichnis.
    Der Aufruf der 404-Seite einer untergeordneten Domain funktioniert nicht und die Falscheingabe verweist auf die Hauptinstallation. Neue Seiten in Buddypress verhalten sich ähnlich, statt auf der neuen Seite landet man auf einer anderen Domain.
    Und es tauchen mit der Zeit noch viele andere Fehler auf, die Dich zur Weißglut bringen. Richtig spannend wird es, wenn man in einem Unterordner eine andere Software verwendet, als WordPress und included Seiten nicht angezeigt werden können. Dann baut sich bspw. eine halb kaputte wp-Seite innerhalb des Dolphin-Konstrukts auf. In solchen Fällen gibt es nur noch einen Weg: Alles neu!

    Also, bester Tipp hier: jede Installation in ein eigenes Verzeichnis.
    Das gilt nicht nur für wordpress. Man sollte das für jegliches cms so handhaben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.