Aufbauen einen lokalen Instanz des eigenen b2evolution Blogs

Da ich gerne wieder ein wenig am b2evolution Blogsystem arbeiten möchte, und hier meine ich wirklich den Code, habe ich beschlossen mein System zusätzlich als Mirror auf meinem lokalen Webserver zu betreiben.

Die folgende Anleitung soll dabei helfen, dass sich dieser Schritt einfach nachvollziehen läßt.

Screenshot aus PSPad mit Quellcodeausschnitt

Screenshot aus PSPad mit Quellcodeausschnitt

Zuerst einmal stellt sich natürlich die Frage nach dem Warum. Naja, dass läßt sich ziemlich einfach beantworten: ich möchte ungerne an einem Livesystem arbeiten und mir gegebenenfalls durch eine kleine Unachtsamkeit meinen eigenen Blog zerschießen.

Durch eine lokale Instanz habe ich die Möglichkeit alle Änderungen zuvor auf einem dedizierten System zu testen, so dass ich im schlimmsten Fall höchstens einen frischen Dump von meinem Webserver besorgen muss, aber mein Blog davon nicht gestört wird.

Auf diese Weise kann ich ich nun auch endlich daran machen, mir ein eigenes Skin zu erstellen, diverse Plugins im Hintergrund weiterzuentwickeln und auch die eine oder andere non-stable Version von b2evolution auszutesten und mir so anzusehen, ob sich für mich relevante Dinge geändert haben.

Als erstes ein kleines Brainstorming darüber, was ich unbedingt machen muss:

  • Sicherung aller Dateien auf dem Webserver
  • Exportieren der Datenbank
  • Importieren der Datenbank auf meinen lokalen Webserver
  • Einspielen aller gesicherten Dateien auf meinen lokalen Webserver
  • Anpassung von Skripten (zumindestens muss ich ja die Verbindungsdaten der Datenbank anpassen)

Dann also frisch ans Werk.

Um die Daten von meinem Provider zu sichern, muss nur eine Kopie der Dateien vom Webserver per FTP gemacht werden. Je nach Anzahl der eingebundenen Bilder und Medien, sowie wesentlich durch die Verbindungsgeschwindigkeit beeinflußt, kann dieser Schritt mehrere Minuten dauern. Danach sollten sich alle für b2evolution relevanten Dateien als lokale Kopie auf eurem Rechner befinden.

Diese müssen nun nur in ein entsprechendes Verzeichnis eures Webservers kopiert werden; beim Apache z.B. in das Verzeichnis htdocs.

Screenshot des Exportfensters für die Datenbank

Screenshot des Exportfensters für die Datenbank

Danach empfiehlt es sich mit einem Tool wie phpMyAdmin einen vollständigen Export der Datenbank inkl. aller Tabellen und Datensätze vorzunehmen und ebenfalls lokal zwischen zu speichern.

Danach könnt ihr auf eurem lokalen Webserver / Datenbankserver die Datei importieren.

Screenshot des Importfensters für die Datenbank

Screenshot des Importfensters für die Datenbank

Solltet ihr phpMyAdmin nutzen, so ist dies je nach Leistung der genutzten PCs / Server ein Schritt, der nur wenige Sekunden bis mehrere Minuten dauert.

Nun steht der erste Test an: kann ich meinen Blog lokal aufrufen?

Natürlich noch nicht, da eure Konfiguration ja immer noch auf die Datenbank bei eurem Provider verweist.

Dies läßt sich aber sehr schnell ändern.

In dem Verzeichnis, in das ihr die Kopien von eurem Webspace abgelegt habt, müsst ihr nur nach einer Datei namens config.php in dem Verzeichnis conf suchen. Diese Datei beinhaltet die essentiellen Konfigurationen eures Blogs. (wo ist die Datenbank? welchen Benutzer muss ich nehmen?)

Sucht nun nach folendem Eintrag:

// your MySQL username
define( ‘DB_USER’, ” );

// …and password
define( ‘DB_PASSWORD’, ” );

// the name of the database
define( ‘DB_NAME’, ” );

// mySQL Server (typically ‘localhost’)
define( ‘DB_HOST’, ” );

Als zweiten Parameter müsst ihr nun die Werte eintragen, welche eurem lokalem Webserver entsprechen.

Wenn sich nun kein Tippfehler eingeschlichen hat, ist eurer Blog schon in der Lage sich mit eurer lokalen Datenbank zu verbinden.

Ein weiter Test wird nun wahrscheinlich eine Fehlermeldung wie diese auswerfen:

404 Not Found

b2evolution cannot resolve the requested URL.

Haben wir etwa vergessen eine Datei mit zu kopieren?

Nein, das war es nicht. In der _config.php steht aber noch ein anderer wichtiger Wert, der unbedingt angepasst werden muss: der Wert baseurl, welcher angibt wo das root-Verzeichnis, also das Start-Verzeichnis, von eurem Blog ist. Solange ihr eure Homepage bei eurem Hoster abgelegt hatte, wird hier wahrscheinlich ein Wert wie http://www.meinedomain.de hinterlegt gewesen sein. Da wir nun aber lokal arbeiten, muss auch dieser Wert angepasst werden.

// IMPORTANT: NO ENDING SLASH !!!
$baseurl = ‘http://localhost/Verzeichnisname’;

Wenn der Verzeichnisname hier entsprechend an eure lokale Installation angepasst ist und ihr nun versucht euren Blog vom lokalen Webserver aus zu starten, so werdet ihr diesmal Erfolg haben.

Alles in Allem hat die lokale Instanz also nicht mehr als eine Stunde an Arbeit gekostet, wird euch aber in Zukunft bei allen Anpassungen davor schützen, euren Blog im Live-Betrieb verändern zu müssen.

Eigenen Kommentar abgeben