Lokale Installation von WordPress

Wordpress

Um neue Plugins, Updates oder Theme-Änderungen gefahrlos testen zu können und Probleme auf dem öffentlich zugänglichen Blog zu vermeiden, ist eine lokale Installation von WordPress sinnvoll. Die folgende Anleitung ist unter Ubuntu 16.04 getestet, sollte aber auch auf anderen Versionen funktionieren.

Installation Apache und MySQL

Voraussetzung ist ein lokaler Webserver und eine lokale Datenbank.

:~$ sudo apt update
:~$ sudo apt install apache2
:~$ sudo install mysql-server
:~$ sudo apt install phpmyadmin

PHPmyAdmin konfiguriert dabei seine eigene Datenbank und verlangt wie der root-Zugriff von MySQL ein eigenes Passwort.

Mit FileZilla oder einem anderen FTP-Programm kopiert man nun das WordPress-Verzeichnis bei seinem Provider z.B. in sein eigenes home-Laufwerk auf dem lokalen Rechner. Da das in der Regel einige Zeit dauert, kann man in der Zwischenzeit schon mal die Datenbank kopieren.

Datenbank exportieren und importieren

Die MySQL-Daten exportiert man aus der Datenbank beim Provider am besten mit PHPmyAdmin. Normalerweise landet die SQL-Datei im lokalen Downloadverzeichnis.

Export mit PHPmyAdmin
Export mit PHPmyAdmin

Bei sehr kleinen Installationen kann man auf dem lokalen Rechner den Import auch wieder sehr bequem mit PHPmyAdmin durchführen. Dazu wählt man die eben heruntergeladene SQL-Datei aus und startet den Import mit dem OK-Button.

Import mit PHPmyAdmin
Import mit PHPmyAdmin

Allerdings ist die Größe der Importdatei durch die Werte upload_max_filesize, memory_limit und post_max_size in der php.ini beschränkt. Entweder man passt die Werte dort an oder man importiert über die Konsole mit mysql:

:~$ mysql -u root -p

Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 27
Server version: 5.7.24-0ubuntu0.16.04.1 (Ubuntu)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> CREATE DATABASE <Name der Datenbank beim Provider>;
mysql> USE DATABASE <Name der Datenbank beim Provider>;
mysql> SOURCE /<Pfad zur exportierten SQL-Datei>/<Name der Datei>
mysql> exit

WordPress-Kopie konfigurieren

Hat FileZilla in der Zwischenzeit die WordPress-Dateien auf den lokalen Rechner kopiert, müssen sie mit ihrem Wurzelverzeichnis in das Web-Verzeichnis des Apache geschoben werden.

:~$sudo mv /home/<user>/<Verzeichnis mit den Wordpress-Dateien> /var/www/

Die Benutzerberechtigungen müssen angepasst werden:

:~$ sudo chown -R www-data:www-data /var/www/<Wordpressverzeichnis>

WordPress hat in seiner Konfigurationsdatei wp-conig.php die Zugangsdaten für die MySQL-Datenbank stehen. Diese Benutzerdaten müssen nun mit dem selben Namen und Passwort in der lokalen Datenbank angelegt werden.

:~$ mysql -u root -p
mysql> CREATE USER '<wp-user>'@'localhost' IDENTIFIED BY '<password>';
mysql> GRANT ALL PRIVILEGES ON <Wordpress-Datenbank>.* TO '<wpuser>'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit

Apache konfigurieren

Nun muss noch die lokale WordPress-Seite im Apache propagiert werden. Dazu erstellt man sich eine Kopie der Datei /etc/apache2/sites-available/000-default.conf

:~$ cd /etc/apache2/sites-available
:~$ sudo cp 000-default.conf wp.conf

und ändert das Verzeichnis in der neuen Datei wp.conf von /var/www/html auf /var/www/<Verzeichnis der WordPress-Dateien>. Jetzt muss die Änderung in Apache2 noch aktiviert werden.

:~$ sudo a2dissite 000-default.conf
:~$ sudo a2ensite wp.conf
:~$ sudo service apache2 reload

Die lokale Kopie kann man nun im Browser mit http://localhost bereits aufrufen.

Ein paar Nacharbeiten

Die Links auf der lokalen Kopie von WordPress verweisen noch auf die Seite beim Provider. Mit PHPmyAdmin muss man daher in der lokalen Datenbank noch die Einträge für siteurl und home anpassen, indem man die Domain mit localhost ersetzt. Diese Werte findet man in seiner lokalen Datenbank in der Tabelle wp-options.

siteurl und home anpassen
siteurl und home anpassen

Bekommt man danach einen Fehler 404, dann liegt das am Zusammenspiel der Apache-Konfiguration und eben diesen beiden Einträgen in der Datenbank. Der Grund dafür kann z.B. daran liegen, dass man mit RegEx in der .htaccess beim Provider auf das Unterverzeichnis umleitet. Entweder man tut das dann auf der lokalen Kopie auch oder man bildet die Pfadstruktur im Verzeichnis /var/www/html so nach, dass die Pfadergänzungen die WordPress vornimmt darauf passen.

Updates der lokalen Kopie

Für die Synchronisierung der WordPress-Dateien eignet sich RSync oder eine andere Synchronisations-Software. Die Datenbank wird wie oben beschrieben mit PHPmyAdmin exportiert, wobei allerdings die Option DROP TABLE aktiviert werden muss, damit die lokalen Daten gelöscht und mit den neuen Daten ersetzt werden.

Für Updates Tabellen zuerst löschen
Für Updates Tabellen zuerst löschen

Um diese Option setzen zu können, wählt man beim Exportieren in PHPmyAdmin die Option Angepasst – zeige alle möglichen Optionen an. Allerdings muss man daran denken, dass die die Tabelle wp-options überschrieben wird und damit wieder die originalen Einträge von siteurl und home enthalten sind, wenn man sie vom Export nicht ausnimmt.

Ähnliche Beiträge:
-> ReWrite für WordPress in der .htaccess

Buy Me a Coffee at ko-fi.com

You May Also Like

1 Comment

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Aus persönlichen Gründen...

... kann ich den Blog im Moment leider nicht wie gewohnt betreuen und Anfragen zeitnah beantworten. Lediglich die technische Funktionalität versuche ich aufrecht zu erhalten. Sollte es trotzdem was Neues hier geben, dann schreibe ich eine Info in die Telegram-Gruppe.


In der Telegram-Gruppe können Sie sich weiterhin mit anderen Lesern von Împuşcătura austauschen.

Zur Telegram-Gruppe