Wordpress-Umzug auf netcup-Space: 403 auf Startseite und diversen Adminseiten

  • Hallo!


    Ich habe gerade mein Wordpress-Blog auf den neuen Server übertragen. Dazu habe ich die Dateien auf dem alten Server gesichert, die Datenbank importiert. Nun habe ich die Dateien bei Wordpress wieder hochgeladen, habe die wp-config.php angepasst und die Einträge in die Datenbank importiert. Leider habe ich diverse Rechteprobleme. Die Startseite ist gar nicht aufrufbar. Im Adminpanel kann ich mich einloggen, allerdings erhalte ich bei diversen Einstellungsseiten auch einen 403-Fehler (z.B. Permalinks, Konfiguration des Mailformular-Plugins, etc.).


    Laut Wordpressforen muss man keine Rechtevergabe bei der Installation von Wordpress machen. Anscheinend funktioniert das hier nicht. Welche Rechte muss ich vergeben, damit es alles klappt?


    Danke!


    Gruß,
    David

  • Hat sich durch den Serverwechsel die URL geändert? Dann musst du diese Angaben in den Optionen ändern. Falls du da auch nicht rankommst, kannst du die Werte auch in der Datenbank ändern (Tabelle [prefix]_options, bei "siteurl" und "home"). Allerdings dürfte das eigentlich keinen 403 auslösen...


    Welche Rechte sind denn momentan gesetzt? Rechteprobleme gibt es normalerweise nur beim Schreibzugriff, das reine Lesen ist normalerweise bei neuen Dateien für jeden (also auch den Apache) erlaubt. Findet sich in der error.log ein Hinweis, auf welche Datei/Verzeichnis der Zugriff verweigert wurde?

  • Hallo!


    Erstmal danke für die Hilfe.


    Zu deiner ersten Frage: Nein, die URL hat sich nicht geändert. Ich habe meine DE-Domain mitgenommen und habe die gleiche Subdomain eingerichtet. Dann habe ich die Schritte wie oben beschrieben gemacht.


    Rechte habe ich bisher keine gesetzt, weil das bei WP-Installationen bei mir bisher nie nötig war. Ich glaube das ist auch der Normalfall.


    Wo finde ich die error.log? Evtl. kann ich dann weitere Informatioen liefern.


    EDIT: Ich merke gerade ... anscheinend habe ich gar keinen HTTP-Zugrif mehr auf die Dateien. Denn selbst wenn ich jetzt den Adminbereich aufrufen möchte, bekomme ich eine 403-Meldung. Einfach überall (unter dieser Subdomain). Komisch ...


    Danke!

  • Die Standardrechte müssten 755 sein, also rwxr-xr-x. Ist das bei dir der Fall? Dann müsste der Apache die Dateien zumindest lesen können. Vollständig hochgeladen sind alle Dateien?


    Die error.log befindet sich je nach System und verwendetem Control Panel (Confixx, Syscp..) an anderen Stellen. Mögliche Anlaufstellen sind aber /var/log/apache2 und das Verzeichnis für die Seite (ich habe bei mir z.B. auf gleicher Ebene wie der httpdocs-Ordner einen Ordner logs mit den Logs für diesen vHost eingerichtet). Oder hast du ein Webhosting-Paket? Dann weiß ich nicht, ob man da überhaupt dran kommt... Ist die URL der Seite denn geheim? Wenn nicht, könntest du sie mal posten?

  • Das heißt alle Dateien pauschal auf 755 stellen? Ich habe gerade mal geguckt. Die Dateien stehen alle auf 644. Die Dateien sind auf jeden Fall alle hochgeladen.


    Genau, ich habe ein Webhostingpaket, entsprechend glaube ich, dass ich darauf keinen Zugriff habe. Meine URL gebe ich gerne weiter: http://diary.david-weitz.de/


    Danke!

  • 644 reicht auch, das ist 755 ohne Ausführungsrechte, die hier sowieso nicht gebraucht werden.


    Liegt vielleicht eine .htaccess-Datei mit im Verzeichnis, die z.B. eine Deny-Anweisung hat?


    Funktionieren andere Subdomains? Dann könnte es helfen, die Dateien auszulagern, die Subdomain zu löschen und neu anzulegen und dann die Dateien wieder zurückzuspielen.

  • In der .htaccess konnte ich keine komischen Einträge finden ... muss man aber evtl. eben solcher andere Reche geben?


    Da ich nur eine Subdomain im Paket habe, habe ich keinen Vergleich. Deswegen habe ich deinen Rat befolgt und die Subdomain gelöscht und wieder angelegt und die Daten gelöscht und nochmal hochgeladen.


    ... Und siehe da, der Blog wurde angezeigt. Komplett. Das einzige, was nicht funktioniert hat war die Permalinkstruktur, d.h. die Links konnten nicht angezeigt werden. Das heißt ich bin in den Adminbereich, Einstellungen, Permalinks und habe die bestehenden Einstellungen einfach per OK bestätigt ... und dann kam der 403-Fehler. Ab jetzt sind alle Seiten, egal ob Admin oder öffentlich, mit 403-Fehlern versehen.


    Es scheint also ein Problem mit der .htaccess zu sein (so deute ich das jetzt mal). Die hat aber einen völlig unverfänglichen Inhalt. Oder?



    Dann habe ich testweise die .htaccess gelöscht - und siehe da, alles wieder da. Aber die Links funktionieren immernoch nicht.


    Ich denke da sind wir der Lösung schon um einiges näher gekommen. Wie die aber tätsächlich aussieht, kann ich leider immernoch nicht sagen.


    Herzlichen Dank!

  • Wenn die .htaccess direkt aus Wordpress heraus beschrieben werden soll, muss der Apache Schreibrechte auf die Datei haben. Wenn er der Besitzer der Datei ist (sollte man per FTP nachgucken können), dann müsste er die haben, ansonsten müssen die Rechte auf 666 oder 777 geändert werden (zumindest kurzzeitig).


    Die Permalinks funktionieren nur mit der .htaccess. Allerdings wird dafür mod_rewrite benötigt. Geh mal in Confixx auf "Einstellungen", "Httpd Spezial" und schau nach, ob mod_rewrite für diese Domain eingeschaltet ist. Ansonsten könnte ich mir noch vorstellen, dass es am RewriteBase liegt.

  • Das Problem ist: Bis ich die Permalink-Einstellungen abschicke, existiert gar keine .htaccess auf dem Server. Wenn ich die Einstellungen aufrufe, zeigt er überall 403 an - und dann bringt es auch nichts mehr, wenn ich die Rechte auf 666 oder 777 ändere. (Und die Einstellungsseite kann ich ja nicht mehr öffnen, weil 403 angezeigt wird.)


    Ich habe auch mal eine leere .htaccess hochgeladen - da hat er die Homepage auch geöffnet. Nun habe ich die Rechte sofort auf 777. Und dann in die Einstellungen ... aber kein Effekt. Alles wie vorher. (-> 403)


    Mod_Rewrite ist bei mir aktiviert. In meinem Hostingpaket gibt es zwar keine entsprechende Auswahlmöglichkeit, aber ich habe es gemäß dieser Methode ausprobiert und es funktioniert:
    http://www.netcup-wiki.de/wiki…d_rewrite_Funktion_testen


    Danke!

  • Dann kann es eigentlich nur so sein, dass auf einen Ordner bzw. eine Datei umgeschrieben wird, auf den/die nicht zugegriffen werden darf. Und das kann nur an RewriteBase oder RewriteRule liegen. Also mal mit den beiden Angaben experimentieren.

  • RewriteBase...

    • weglassen
    • leer lassen (also ohne "/")
    • erweitern um 1-2 Ordner, in dem die Datei auf dem Dateisystem liegt (die Subdomain liegt ja in einem eigenen Ordner)


    Bei RewriteRule das "/index.php"..

    • auf index.php ändern
    • auf /ORDNER/index.php ändern
    • auf ORDNER/index.php ändern


    Und Kombinationen davon.

  • Die Rewrite Regeln sollten alle stimmen. Aber es kann auch eigentlich nicht daran liegen das ModRewrite nicht aktiviert ist. Denn wenn nicht wird der ganze Block ignoriert. Hat die .htaccess eventuell einen chmod welcher dem apache nicht erlaubt ihn zu lesen oder ähnliches?

  • Die Kombinationen werde ich gleich mal testen, vielen Dank für die Anregung.


    Die .htaccess hat die Rechte 644, wenn ich sie anlege. Ich habe aber gerade getestet, sie auf 777 zu stellen. Das hat keinen Effekt, und die Optionenseite kann ich ja leider nicht aufrufen, um das ganze nochmal abzuschicken ...


    Gibt es noch weitere Ideen?

  • Zitat von Robert;3002

    RewriteBase...

    • weglassen
    • leer lassen (also ohne "/")
    • erweitern um 1-2 Ordner, in dem die Datei auf dem Dateisystem liegt (die Subdomain liegt ja in einem eigenen Ordner)


    Bei RewriteRule das "/index.php"..

    • auf index.php ändern
    • auf /ORDNER/index.php ändern
    • auf ORDNER/index.php ändern


    Hier das Ergebnis:


    Rewrite Base:
    weglassen: 403
    / weglassen: 500 Internal Server Error
    erweitern: wie ist das gemeint?


    /index.php:
    Alles 403