WordPress Entwicklung und Bereitstellung mit MAMP, Git und Dropbox
German (Deutsch) translation by Federicco Ancie (you can also view the original English article)
Um ein freiberuflicher WordPress-Entwickler zu werden, müssen Sie heutzutage oft mehrere WordPress-Sites für verschiedene Kunden gleichzeitig entwickeln. Hier ist wie.
Dazu müssen Sie Folgendes übernehmen:
- Eine flexible lokale Entwicklungsumgebung, mit der Sie problemlos eine neue Site hinzufügen können, mit einem modernen Versionskontrollsystem und mit der Sie sowohl auf Ihrem Desktop-Computer als auch auf Ihrem Notebook entwickeln können.
- Ein zuverlässiges und sicheres Bereitstellungssystem für den Remote-Server.
Mit diesem Setup können Sie ganz einfach:
- Entwickeln und testen Sie Ihr neues Plugin oder Thema auf sichere Weise lokal und stellen Sie es auf dem Produktionsserver bereit;
- Aktualisieren Sie die WordPress-Kerndateien lokal oder aktualisieren Sie bereits installierte Plugins/Themes auf sichere Weise, überprüfen Sie, ob die Site durch nichts beschädigt wird, und stellen Sie diese Änderungen auf dem Produktionsserver bereit;
- Nehmen Sie schnelle Änderungen an einigen Dateien auf dem Remote-Server vor und rufen Sie sie dann in der lokalen Umgebung ab.
Bevor wir anfangen
In diesem Tutorial beziehen wir uns auf Mac OS X, aber Sie können es leicht an jedes andere Betriebssystem anpassen. Außerdem gehen wir davon aus, dass auf dem Remote-Server Git bereits installiert ist und der SSH-Zugriff mit Public-Key-Authentifizierung konfiguriert ist (die SSH- und Git-Installationen sind nicht Gegenstand dieses Tutorials).
Das Szenario, das wir sehen werden, besteht aus einer lokalen Umgebung, die die Entwicklung einer WordPress-Site mit Plugins und Themen ermöglicht, und einem Remote-Server, der die "Produktions"-WordPress-Site hostet. In der lokalen Umgebung verwenden wir einen Desktop-Computer und einen Notebook-Computer. Auf beiden Rechnern werden wir MAMP, Dropbox und Git so einrichten, dass Sie im Büro an Ihrem Desktop und außerhalb des Büros an Ihrem Notebook arbeiten können und alle Änderungen synchronisiert werden.
Wir werden Dropbox verwenden, um Dateien und DB zwischen Desktop und Notebook zu synchronisieren, und wir verwenden Git, um Änderungen lokal zu verfolgen und auf dem Remote-Server bereitzustellen.
Der Einfachheit halber definieren wir www.site.dev als Entwicklungsstandort in der lokalen Umgebung und www.site.com als Produktionsstandort auf dem Remote-Server.
Was wir tun werden
Zum lokalen Umfeld:
- Erstellen Sie eine grundlegende Verzeichnisstruktur in Dropbox;
- MAMP installieren und einrichten (sowohl auf Ihrem Desktop als auch auf Ihrem Notebook), um in einer Dropbox-Umgebung zu arbeiten;
- Einrichten und Ausführen von WordPress-Entwicklungsseiten sowohl auf Ihrem Desktop als auch auf Ihrem Notebook;
Auf dem Remoteserver:
- konfigurieren Sie Git, richten Sie das Remote-Repository und den erforderlichen Hook ein;
- MySQL für die WordPress-Produktionsseite einrichten;
Zum lokalen Umfeld:
- Git konfigurieren, lokales Repository einrichten;
- Ändern Sie die WordPress-Konfiguration, um die lokale/remote DB-Verbindung zu verwalten;
- Machen Sie den ersten Commit und den ersten Deploy auf dem Remote-Server.
Typische Workflow-Beispiele:
- Themen-/Plugin-Entwicklung;
- WordPress-Verwaltung;
- "urgent-on-the-fly"-Änderungen auf dem Produktionsserver bestätigen und in die lokale Umgebung übertragen;
Was du brauchst
- Zur lokalen Umgebung:
- Ein Dropbox-Konto, ein installierter Dropbox-Client sowohl auf Ihrem Desktop als auch auf Ihrem Notebook (Installationsanweisungen finden Sie auf der Dropbox-Website);
- MAMP, Sie können es hier bekommen;
- Ihr Lieblings-Texteditor;
- Git (die lokale Installation von Git wird im Pro Git-Buch behandelt);
- Auf dem Remote-Server:
- PHP und MySQL gemäß WordPress-Anforderungen;
- Git installiert (siehe hier);
- Ein Konto mit SSH-Zugriff und Authentifizierung mit öffentlichem Schlüssel;
Schritt 1 Erstellen Sie eine Verzeichnisstruktur in Dropbox
Laden Sie Dropbox herunter und installieren Sie es auf Ihrem Desktop und Ihrem Notebook (Anweisungen finden Sie hier). Verwenden Sie auf beiden Computern dasselbe Konto.
Erstellen Sie im Dropbox-Ordner auf dem Desktop die folgende Verzeichnisstruktur:
- Dropbox
- Development
- conf
- db
- logs
- vhost


Überprüfen Sie, ob die gleiche Verzeichnisstruktur auf Notebook weitergegeben wird.
Schritt 2 MAMP installieren und konfigurieren
MAMP ist ein Akronym, das für Mac, Apache, MySQL und PHP steht. Es ist eine Anwendung, die eine lokale Serverumgebung auf Ihrem Mac installiert.
Die Installation ist sehr einfach: Laden Sie MAMP von hier herunter, entpacken Sie das Archiv und doppelklicken Sie darauf, dann folgen Sie den Anweisungen. Tun Sie dies sowohl auf dem Desktop als auch auf dem Notebook. Starten Sie MAMP noch nicht: Zuvor müssen Sie die Datenbank verschieben und die Standardkonfiguration ändern.
Verschieben Sie den Datenbankordner
Verschieben Sie auf dem Desktop den Datenbankordner vom MAMP-Standardspeicherort in das db-Verzeichnis auf Dropbox, öffnen Sie dazu ein Terminal und verwenden Sie die folgenden Befehle:
1 |
cd /Applications/MAMP/db |
2 |
mv * ~/Dropbox/Development/db/ |
Öffnen Sie auf dem Notebook ein Terminal und löschen Sie den Datenbankordner mit dem folgenden Befehl:
1 |
cd /Applications/MAMP |
2 |
rm -rf ./db |
Erstellen Sie schließlich sowohl auf dem Desktop als auch auf dem Notebook einen symbolischen Link von MAMP zu Dropbox mit dem folgenden Befehl:
1 |
ln -s ~/Dropbox/Development/db /Applications/MAMP/db |
Nun zeigt der symbolische Link /Applications/MAMP/db auf den Dropbox-Freigabeordner ~/Dropbox/Development/db, der die MAMP-Datenbanken enthält. Starten Sie MAMP noch nicht: Wir müssen zuerst eine Änderung an der Konfiguration vornehmen.
MAMP-Ports ändern
MAMP verwendet benutzerdefinierte Ports für Apache- und MySQL-Serverinstanzen: Apache läuft auf Port 8888, MySQL läuft auf Port 8889. Sie können diese Konfiguration beibehalten oder, wie wir vorschlagen, ändern, um Standardports zu verwenden:80 für Apache und 3306 für MySQL.
Um Standard-Ports wiederherzustellen, starten Sie MAMP nur auf Ihrem Desktop, klicken Sie auf "Preferences...", dann auf "Ports", klicken Sie auf "Set to default Apache and MySQL ports" und klicken Sie abschließend auf "OK": MAMP speichert die neue Konfiguration the und startet automatisch neu.


Öffnen Sie nun auf Ihrem Desktop Ihren bevorzugten Browser und gehen Sie zu http://localhost/MAMP/: Sie sollten die MAMP-Homepage sehen.


Wenn Sie die MAMP-Startseite nicht sehen, haben Sie wahrscheinlich Web Sharing aktiviert: Öffnen Sie die Systemeinstellungen, klicken Sie auf Sharing und schalten Sie Web Sharing aus.


Machen Sie sich keine Sorgen, wenn Mac OS X beim Starten von MAMP ein Passwort erfordert: Wir haben Apache so eingerichtet, dass es auf Port 80 läuft, der ein privilegierter Port ist, und dies erfordert ein Administrator-Passwort.
Da MAMP in dieser Konfiguration nicht gleichzeitig auf Ihrem Desktop und Ihrem Notebook laufen kann, beenden Sie MAMP on Desktop, starten Sie es auf dem Notebook und konfigurieren Sie es auf die gleiche Weise. Wenn Sie fertig sind, stoppen Sie MAMP.
MAMP ändern – Apache-Konfiguration
Die MAMP-Apache-Konfiguration wird in /Applications/MAMP/conf/apache/httpd.conf gespeichert. Bearbeiten Sie diese Datei mit Ihrem bevorzugten Texteditor und fügen Sie die folgenden Zeilen hinzu (tun Sie dies sowohl auf Ihrem Desktop als auch auf Ihrem Notebook):
1 |
# Includes the configuration shared on Dropbox folder |
2 |
Include /Users/YOURUSERNAME/Dropbox/Development/conf/local-development.conf |
Ersetzen Sie YOURUSERNAME durch Ihren Mac OS X-Benutzernamen (wenn Sie ihn nicht kennen, öffnen Sie das Terminal und führen Sie whoami aus; es wird Ihnen Ihren Benutzernamen anzeigen).
Diese Anweisung weist Apache an, eine zusätzliche Konfigurationsdatei aus Ihrem Dropbox-Ordner zu laden (zwischen Desktop und Notebook synchronisiert). Auf diese Weise können wir sie als Konfigurationsdatei für die lokale Umgebung verwenden.
Apache Virtual Host auf MAMP einrichten
Apache Virtual Host ist eine nette Funktion, mit der Sie mehr als eine Website (wie www.site1.com und www.site2.com) auf einem einzigen Server ausführen können. Virtuelle Hosts können "IP-basiert" sein, was bedeutet, dass Sie für jede Website eine andere IP-Adresse haben, oder "namenbasiert", was bedeutet, dass mehrere Namen auf einer IP-Adresse laufen. Die letzte ist die Funktion, die wir verwenden werden (siehe hier für Details).
Öffnen Sie mit Ihrem bevorzugten Texteditor die Konfigurationsdatei für die lokale Umgebung /Users/YOURUSERNAME/Dropbox/Development/conf/local-development.conf und fügen Sie die folgenden Zeilen ein:
1 |
<Directory "/Users/YOURUSERNAME/Dropbox/Development/vhosts/"> |
2 |
AllowOverride All |
3 |
</Directory>
|
4 |
|
5 |
# |
6 |
# Named Virtual Host |
7 |
# |
8 |
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon |
9 |
CustomLog /Users/YOURUSERNAME/Dropbox/Development/logs/access.log vcommon |
10 |
ErrorLog /Users/YOURUSERNAME/Dropbox/Development/logs/errors.log |
11 |
UseCanonicalName Off |
12 |
VirtualDocumentRoot /Users/YOURUSERNAME/Dropbox/Development/vhosts/%0 |
Die Zeichenfolge "%0" bewirkt den Zauber: Wenn der Apache-Server eine Anfrage für die Domain www.site.dev erhält, sucht er nach einem Verzeichnis namens www.site.dev in /Users/YOURUSERNAME/Dropbox/Development/vhosts/, und wenn gefunden dient Dateien daraus.
Die anderen Anweisungen weisen Apache an, wo Fehler zu schreiben und auf Protokolldateien zuzugreifen ist.
Schritt 3 WordPress einrichten
Jetzt sind wir bereit, die WordPress-Entwicklungsseite www.site.dev einzurichten. Dazu müssen wir ein www.site.dev-Verzeichnis (auf Ihrem Desktop) erstellen.


und wir müssen (sowohl auf dem Desktop als auch auf dem Notebook) die Datei /etc/hosts bearbeiten, um den Hostnamen www.site.dev der localhost-IP-Adresse zuzuordnen. Öffnen Sie mit Ihrem bevorzugten Texteditor die Datei /etc/hosts und fügen Sie die folgenden Zeilen an das Ende der Datei an (Mac OS X benötigt Ihr Passwort, um diese Systemdatei zu ändern):
1 |
# local development |
2 |
127.0.0.1 www.site.dev |
In diesem Stadium kann es nützlich sein, einige Überprüfungen durchzuführen: Öffnen Sie das Terminal und führen Sie den folgenden Befehl aus:
1 |
ping -c 3 www.site.dev |
Sie sollten eine ähnliche Antwort darauf haben:


Jetzt ist es an der Zeit, WordPress einzurichten: Laden Sie das WordPress-Paket von hier herunter und entpacken Sie es in einen temporären Ordner. Verschieben Sie den gesamten Inhalt des temporären Ordners nach /Users/YOURUSERNAME/Dropbox/Development/vhosts/www.site.dev/.
Starten Sie auf Ihrem Desktop MAMP und öffnen Sie Ihren Browser unter http://localhost/MAMP/. Klicken Sie auf die Registerkarte phpMyAdmin und erstellen Sie eine neue Datenbank namens site_dev:


Öffnen Sie Ihren Browser unter www.site.dev und schließen Sie die WordPress-Installation mit diesen Werten ab:
- Datenbankname: site_dev
- Benutzername: root
- Passwort: root
- Datenbankhost: localhost
- Tabellenpräfix: wp_
Stoppen Sie MAMP auf dem Desktop, warten Sie auf die Dropbox-Synchronisierung und starten Sie sie auf dem Notebook. Öffnen Sie Ihren Notebook-Browser unter www.site.dev: WordPress ist bereits konfiguriert!
Am Ende von Schritt 3 haben wir eine lokale WordPress-Entwicklungsumgebung basierend auf MAMP und synchronisiert zwischen Desktop und Notebook über Dropbox, jetzt ist es an der Zeit, den Remote-Server zu konfigurieren.
Schritt 4 Git auf dem Remote-Server konfigurieren
Git ist ein verteiltes Versionskontrollsystem, das Änderungen an einer Datei oder einem Satz von Dateien im Laufe der Zeit aufzeichnet und es ermöglicht, Änderungen an einen entfernten Server zu übertragen (ausführlichere Beschreibung hier). In diesem Tutorial gehen wir davon aus, dass Git bereits auf Ihrem Server installiert ist. Dementsprechend fahren wir mit der Konfiguration fort.
Zuerst müssen Sie sich am Server anmelden. Wir gehen davon aus, dass Sie über ein Konto mit SSH-Zugriff und Public-Key-Authentifizierung verfügen. Auf diese Weise müssen Sie nicht jedes Mal ein Passwort eingeben, wenn Sie sich anmelden. Öffnen Sie ein Terminalfenster und verbinden Sie sich mit dem Server:
1 |
ssh yourusername@www.site.com |
Richten Sie einige Git-Standardeinstellungen für Benutzer und E-Mail ein, um zu vermeiden, dass Git jedes Mal danach fragt:
1 |
git config --global user.email "youremail@site.com" |
2 |
git config --global user.name "Your Name" |
Ein leeres Repository einrichten und initialisieren:
1 |
mkdir site.git |
2 |
cd site.git |
3 |
git init --bare |
Um das Deployment von der Entwicklungs- bis zur Produktions-Site zu ermöglichen, müssen Sie einen Git-Hook einrichten (ich verwende Vi als meinen Texteditor für den Remote-Server):
1 |
cd hooks |
2 |
vi post-receive |
Fügen Sie dann die folgenden Zeilen ein:
1 |
#!/bin/bash |
2 |
# |
3 |
docroot="/home/yourusername/www" |
4 |
while read oldrev newrev ref |
5 |
do |
6 |
branch=`echo $ref | cut -d/ -f3` |
7 |
|
8 |
if [ "master" == "$branch" ]; then |
9 |
git --work-tree=$docroot checkout -f $branch |
10 |
fi |
11 |
|
12 |
done |
Setzen Sie die Variable docroot auf den Webserver DocumentRoot und machen Sie dann post-receive ausführbar:
1 |
chmod 755 post-receive |
Dieser Hook wird am Ende des Prozesses aufgerufen, Änderungen von einem Client (Desktop oder Notebook) an den Remote-Server zu übertragen. Es führt die Bereitstellung im DocumentRoot-Verzeichnis des Produktionswebservers durch (siehe hier für Details zu Git Hooks).
Git-Befehle verwenden einige Umgebungsvariablen; wir müssen zwei davon einrichten: GIT_DIR und GIT_WORK_TREE. Der erste gibt den Pfad zum Repository an, der zweite den Pfad zum Arbeitsbaum (der DocumentRoot). Die Standard-Shell auf meinem Remote-Server ist Bash, also füge ich sie der Datei .bash_profile hinzu.
1 |
cd ~ |
2 |
vi .bash_profile |
Fügen Sie am Ende der Datei die folgenden Zeilen hinzu:
1 |
# GIT |
2 |
export GIT_DIR=~/repo.git |
3 |
export GIT_WORK_TREE=~/www |
Schritt 5 MySQL auf dem Remote-Server einrichten
Auf dem Remote-Server müssen Sie noch eine Datenbank auf MySQL erstellen: Dazu können Sie der detaillierten Installationsanleitung im WordPress-Codex folgen. Mein Remote-Server hat cPanel als Hosting-Control-Panel, daher folge ich diesen Anweisungen.
Schritt 6: Git in der lokalen Umgebung einrichten
Installieren Sie Git unter Mac OS X (ausführlichere Anweisungen zum Pro Git-Buch): Laden Sie das Installationsprogramm von der Google Code-Seite herunter, doppelklicken Sie auf die dmg-Datei und dann auf die pkg-Datei und folgen Sie den Anweisungen. Tun Sie dies sowohl auf dem Desktop als auch auf dem Notebook.
Jetzt können Sie ein Git-Repository in der lokalen Umgebung initialisieren. Öffnen Sie dazu das Terminal (auf Ihrem Desktop oder auf Ihrem Notebook) und verwenden Sie die folgenden Befehle:
1 |
cd ~/Dropbox/Development/vhost/www.site.dev |
2 |
git init . |
Sie sollten so etwas sehen:


Um den Status des Git-Repositorys zu überprüfen, verwenden Sie diesen Befehl:
1 |
git status |
die Ausgabe sollte so aussehen:


Git teilt Ihnen mit, dass all diese Dateien und Verzeichnisse nicht im Repository verfolgt werden und schlägt vor, den Befehl git add zu verwenden, um sie zu verfolgen.
Zuvor müssen Sie einige Änderungen an der Git-Konfiguration vornehmen. Wir müssen Git mitteilen, welche Dateien es verfolgen soll und welche nicht. Verwenden Sie dazu die .gitignore-Datei.
Die .gitignore-Datei
Diese Datei gibt die nicht verfolgten Dateien an, die Git ignorieren soll (weitere Informationen finden Sie hier). Der Befehl ist einfach, machen wir ein Beispiel, um zu verstehen, wie es funktioniert:
1 |
# ignore Mac OS X Desktop Service Store |
2 |
.DS_Store |
3 |
|
4 |
# ignore my-test-dir directory and all subdirectories |
5 |
my-test-dir/ |
6 |
|
7 |
#ignore all .txt files |
8 |
*.txt |
Erstellen Sie also die Datei ~/Dropbox/Development/vhost/www.site.dev/.gitignore und fügen Sie die folgenden Zeilen hinzu:
1 |
# ignore Mac OS X Desktop Service Store |
2 |
.DS_Store |
3 |
# ignore debug.log |
4 |
wp-content/debug.log |
Im Moment ist dies alles, was Sie tun müssen. Später werden wir weitere Dateien und Verzeichnisse hinzufügen.
Schritt 7 WordPress-Konfiguration ändern, um lokale und Remote-DB-Verbindungen zu verwalten
WordPress in einer lokalen Umgebung verwendet DB von MAMP und seine Konfigurationsdatei wp-config.php spiegelt diese Konfiguration wider (Standard-MAMP-MySQL-Benutzername und -Passwort):
1 |
// ** MySQL settings - You can get this info from your web host ** //
|
2 |
/** The name of the database for WordPress */
|
3 |
define('DB_NAME', 'site_dev'); |
4 |
|
5 |
/** MySQL database username */
|
6 |
define('DB_USER', 'root'); |
7 |
|
8 |
/** MySQL database password */
|
9 |
define('DB_PASSWORD', 'root'); |
10 |
|
11 |
/** MySQL hostname */
|
12 |
define('DB_HOST', 'localhost'); |
Dies funktioniert in einer lokalen Umgebung, aber was passiert, wenn wir es auf dem Remote-Server bereitstellen? Offensichtlich kann keine Verbindung zur DB hergestellt werden, da DB_NAME, DB_USER, DB_PASSWORD und wahrscheinlich DB_HOST falsch sind.
Die Lösung stammt aus dem Artikel von Mark Jaquith: Ändern Sie die Datei wp-config.php so, dass die Konfiguration für die lokale Umgebung aus einer anderen Datei geladen wird und diese Datei nicht von git verfolgt wird. Öffnen Sie dazu die Datei wp-config.php und ersetzen Sie die obigen Zeilen durch diese Zeilen:
1 |
if ( file_exists( dirname( __FILE__ ) . '/local-config.php' ) ) { |
2 |
include( dirname( __FILE__ ) . '/local-config.php' ); |
3 |
}
|
4 |
else { |
5 |
define('DB_NAME', 'YOURDBNAME'); |
6 |
define('DB_USER', 'YOURDBUSER'); |
7 |
define('DB_PASSWORD', 'YOURDBPASSWORD'); |
8 |
define('DB_HOST', 'YOURDBHOSTNAME'); |
9 |
}
|
Ersetzen Sie YOURDBNAME, YOURDBUSER, YOURDBPASSWORD und YOURDBHOSTNAME durch die Werte, die Sie in Schritt 5 definiert haben.
Erstellen Sie die Datei ~/Dropbox/Development/vhost/www.site.dev/local-config.php und fügen Sie die Definitionen der lokalen Umgebung dort ein:
1 |
define('DB_NAME', 'site_dev'); |
2 |
define('DB_USER', 'root'); |
3 |
define('DB_PASSWORD', 'root'); |
4 |
define('DB_HOST', 'localhost'); |
Jetzt müssen wir local-config.php zu .gitignore hinzufügen, damit Git es nicht verfolgt:
1 |
# ignore Mac OS X Desktop Service Store |
2 |
.DS_Store |
3 |
# ignore debug.log |
4 |
wp-content/debug.log |
5 |
# ignore local-config.php |
6 |
local-config.php |
OK, jetzt sind wir bereit für den ersten Commit.
Schritt 8 Festlegen von Änderungen in der lokalen Umgebung und Übertragen auf den Remote-Server
Geben Sie die folgenden Befehle ein, um Änderungen an das Git-Repository in der lokalen Umgebung zu übertragen:
1 |
cd ~/Dropbox/Development/vhost/www.site.dev/ |
2 |
git add . |
3 |
git commit -m "Initial import" |
Der erste Git-Befehl verfolgt alle Dateien und Verzeichnisse in ~/Dropbox/Development/vhost/www.site.dev/, außer dass in .gitignore der zweite alle Dateien in das Git-Repository überträgt.
Es ist an der Zeit, WordPress auf Remote Server zu pushen, aber zuerst müssen wir das Remote-Git-Repository einrichten:
1 |
git remote add website ssh://yourusername@www.site.com/home/yourusername/site.git |
Dieser Befehl teilt Git mit, dass es ein Remote-Repository namens website gibt, das auf dem Server www.site.com gehostet wird, auf den über eine SSH-Verbindung zugegriffen werden kann.
Schließlich die erste Bereitstellung auf dem Remote-Server:
1 |
git push website master |
Die Ausgabe des Befehls sollte wie folgt aussehen:


Jetzt können Sie mit Ihrem Browser auf www.site.com verweisen und die WordPress-Site auf dem Remote-Server anzeigen.
Einige Beispiele für typische Arbeitsabläufe
Theme-/Plugin-Entwicklung
Als Beispiel für die Theme-/Plugin-Entwicklung können wir in der lokalen Umgebung ein Twenty Eleven Child-Theme erstellen und es auf dem Remote-Server bereitstellen.
Eine detaillierte Anleitung zum Erstellen eines Child-Themes finden Sie in diesem Artikel auf Wptuts+. Grundsätzlich müssen wir ein Verzeichnis erstellen, das zwei Dateien enthält: style.css und functions.php (letzteres ist optional).
Erstellen Sie also auf dem Desktop (oder auf dem Notebook) das Verzeichnis ~/Dropbox/Development/vhost/www.site.dev/wp-content/themes/my-twentyeleven-child, erstellen Sie dann eine Datei namens style.css in diesem Ordner und fügen Sie hinzu die folgenden Zeilen:
1 |
/*
|
2 |
Theme Name: My Twenty Eleven Child
|
3 |
Theme URI: http: //www.site.com/
|
4 |
Description: Child theme for the Twenty Eleven theme
|
5 |
Author: Your Name
|
6 |
Author URI: http: //your-site.com/
|
7 |
Template: twentyeleven
|
8 |
Version: 0.1
|
9 |
*/
|
10 |
|
11 |
@import url("../twentyeleven/style.css"); |
Sie können auch einige CSS-Änderungen unter der @import-Zeile hinzufügen, zum Beispiel können Sie den Body-Hintergrund ändern:
1 |
body {background: #D51717;} |
Erstellen Sie dann die Datei functions.php und fügen Sie die folgenden Zeilen hinzu:
1 |
<?php
|
2 |
function favicon_link() { |
3 |
echo '<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" --="" />' . "\n"; |
4 |
}
|
5 |
add_action('wp_head', 'favicon_link'); |
6 |
?>
|
Diese einfache Funktionsdatei macht eines: Sie fügt dem Kopfelement von HTML-Seiten einen Favicon-Link hinzu.
Jetzt ist unser Child-Theme fertig und wir müssen es im Git-Repository nachverfolgen:
1 |
cd ~/Dropbox/Development/vhost/www.site.dev/ |
2 |
git add wp-content/theme/my-twentyeleven-child/ |
Dann müssen wir die Änderungen festschreiben:
1 |
git commit -m "Added My Twenty Eleven Child Theme" |
Auf diese Weise können Sie die Entwicklung des Child-Themes fortsetzen, indem Sie Dateien hinzufügen, Code ändern und all diese Änderungen in das Repository übernehmen. Wenn Ihr Theme für den Produktionsserver bereit ist, müssen Sie nur den Befehl git push ausführen:
1 |
git push website master |
Auf diese Weise wird das Child-Theme auf den Remote-Server gepusht und kann verwendet werden.
Wenn Sie ein Plugin entwickeln, führen Sie die gleichen Schritte aus: Verfolgen Sie das Plugin-Verzeichnis und übernehmen Sie Änderungen am Repository. Wenn Ihr Plugin bereit ist, verschieben Sie es auf den Remote-Server.
WordPress-Verwaltung
Auf ähnliche Weise können wir die Installation des WordPress-Plugins oder das WordPress-Update verwalten. Nehmen wir an, wir wollen ein neues Plugin ausprobieren, und wir wollen sichergehen, dass es unsere Produktionsseite nicht zerstört.
Wir installieren es in der lokalen Umgebung zuerst über das WordPress Administration Panel (siehe hier für Details), dann müssen wir es verfolgen und zum Git-Repository hinzufügen (tun Sie dies auf Ihrem Desktop oder auf Ihrem Notebook):
1 |
cd ~/Dropbox/Development/vhost/www.site.dev/ |
2 |
git add wp-content/plugins/plugin-to-try/ |
3 |
git commit -m "Add the Plugin to try" |
Wenn das Plugin funktioniert, können Sie es auf dem Remote-Server bereitstellen, indem Sie Folgendes verwenden:
1 |
git push website master |
und aktivieren Sie es über das WordPress-Administrationspanel.
Wenn das Plugin nicht funktioniert, können Sie es über das WordPress Administration Panel deinstallieren, dann können Sie es aus den nachverfolgten Dateien entfernen und die Änderungen übernehmen:
1 |
git rm wp-content/plugins/plugin-to-try/ |
2 |
git commit -m "Removed the Plugin to try" |
Ein kleiner Tipp: Wenn Sie der
.gitignore-Datei ein Plugin-Verzeichnis hinzufügen (vor dem Commit), bleibt das Plugin nur in der lokalen Umgebung, aber es wird nicht auf den Remote-Server gepusht. Dies kann für Plugins wie Debug Bar nützlich sein, die in der lokalen Entwicklung verwendet werden, aber nicht auf eine Produktionssite übertragen werden müssen.
Nehmen Sie schnelle Änderungen auf dem Produktionsserver vor und ziehen Sie sie in die lokale Umgebung
Ok, wir wissen, schnelle Änderungen auf Produktionsservern sind keine gute Angewohnheit, sondern eine schlechte Angewohnheit, aber manchmal sind sie unvermeidlich. Angenommen, wir haben das DB_PASSWORD in der Datei wp-config.php des Remote-Servers geändert und möchten diese Änderung nun in unserer lokalen Umgebung wp-config.php bestätigen. Verbinden Sie sich dazu zunächst per SSH mit dem Remote-Server und verwenden Sie den folgenden Befehl:
1 |
git commit -m "change DB_PASSWORD on wp-config.php" |
Ziehen Sie dann Änderungen aus dem Remote-Repository mit dem folgenden Befehl auf dem Desktop:
1 |
git pull website master |
Wenn Sie die wp-config.php lesen, sehen Sie das neue DB_PASSWORD.
Abschluss
In diesem Tutorial haben wir ein Szenario gesehen, das aus einer lokalen Umgebung und einem Remote-Server besteht, der die Entwicklungs- und Produktionssite für www.site.com hostet. Sie können diese Einrichtung jedoch problemlos für www.mynewcustomer.com für www. myothernewnewcustomer.com und so weiter.


MAMP, Dropbox und Git bilden ein erfolgreiches Team für die Entwicklung und Bereitstellung von WordPress. Sie stellen eine flexible Entwicklungsumgebung dar, die es ermöglicht, einfach eine neue Site hinzuzufügen, sie überall zu entwickeln und zuverlässig auf dem Produktionsserver bereitzustellen deploy .
Wenn Sie regelmäßig mit WordPress arbeiten, sehen Sie sich die Auswahl an großartigen WordPress-Dienstprogrammen auf Envato Market an. Von Sicherheits-Plugins bis hin zu iFrame-Anpassern ist sicher etwas dabei, das Ihnen helfen kann.






