WordPress von entfernt nach lokal

wpofflineWollte schon immer mal das Theme aktualisieren, das Plugin X ausprobieren, anpassen oder gleich ein neues erstellen.

Aber im entfernten Blog – weltweit über das Netz erreichbar – dann doch lieber nicht.

Die lokale Spielwiese muss her. Ausprobieren ohne gleich ein nicht lauffähges – weit entferntes – Blog zu hinterlassen.

Auf gehts …

Voraussetzungen

WordPress benötigt PHP zur Interpretation der Skriptsprache, einen Webserver zur Kommunikation zum Client und eine Datenbank zur Ablage aller notwendigen Information. Wenn noch nicht wie in Ubuntu 8.10 & WordPress geschehen, am einfachsten die fehlenden Komponenten über die Paketverwaltung wie folgt installieren.

$ sudo apt-get install wordpress
$ sudo apt-get install mysql-server

Zusätzlich braucht man natürlich noch die Dateien und Daten der enternten WordPress-Installation. Die Dateien via FTP geladen und die Daten mit PHPMyAdmin exportiert. Jetzt wirds lokal …

Datenbank

Datenbank erstellen.

mysql -h localhost  -u root -p
mysql> CREATE DATABASE mywpdb;
mysql> GRANT CREATE,INSERT,DELETE,UPDATE,DROP,ALTER,SELECT ON mywpdb.* TO wordpress@localhost IDENTIFIED BY "passwort";
mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Entfernte Daten in die zuvor erstellte lokale Datenbank einspielen.

$ mysql -D mywpdb -u wordpress -p < dump.sql

Apache

Entfernte Dateien z.B. nach /usr/share/mywordpress kopieren.

$ sudo cp -r .../backup/blog/ /usr/share/mywordpress

Dateiberechtigungen anpassen.

$ sudo chmod 755 mywordpress/

Datei mywordpress erstellen.

$ sudo gedit /etc/apache2/sites-available/mywordpress

Konfiguration einfügen.

Alias /myblog /usr/share/mywordpress
<Directory /usr/share/mywordpress>
Options FollowSymLinks
AllowOverride Limit Options FileInfo
DirectoryIndex index.php
</Directory>

Konfiguration aktivieren.

$ sudo a2ensite mywordpress

Modul Rewrite aktivieren.

$ sudo a2enmod rewrite

Apache neu starten.

$ sudo /etc/init.d/apache2 restart

Anpassungen

Zugangsdaten zur Datenbank anpassen.

$ sudo gedit /usr/share/mywordpress/wp-config.php
...
define('DB_NAME', 'mywpdb');    // Der Name der Datenbank, die du benutzt.
define('DB_USER', 'wordpress');     // Dein MySQL-Datenbank-Benutzername.
define('DB_PASSWORD', 'passwort'); // Dein MySQL-Passwort
define('DB_HOST', 'localhost');    // 99% Chance, dass du hier nichts ändern musst.
...

WordPress Optionen „WordPress-Adresse (URL)“ und „Blog-Adresse (URL)“ anpassen.

$ mysql -u wordpress -p -D mywpdb
mysql> UPDATE wp_options SET option_value='http://localhost/myblog' WHERE option_name='home';
mysql> UPDATE wp_options SET option_value='http://localhost/myblog' WHERE option_name='siteurl';

Entfernte Referenzen lokalisieren … :-)

mysql> UPDATE wp_posts SET post_content =
    -> REPLACE(post_content, 'http://mgsimon.de/', 'http://localhost/myblog/');
mysql> UPDATE wp_comments SET comment_content =
    -> REPLACE(comment_content, 'http://mgsimon.de/', 'http://localhost/myblog/');

So … läuft, keine Lust mehr!

Tags: ,

Eine Antwort zu “WordPress von entfernt nach lokal”

  1. mgsimon sagt:

    Damit bei mir lokal auch die Sonderzeichen ö,ä,ü … richtig dargestellt werden, habe ich noch folgende Zeile in der Datei wp-config.php auskommentieren müssen?

    //define(‚DB_CHARSET‘, ‚utf8‘);

Hinterlasse eine Antwort