Mit Composer installieren
UnleashWP-Plugins und Themes mit Composer von composer.unleash-wp.com installieren, den Schlüssel aus Git heraushalten und per wp-config.php aktivieren.
Jedes lizenzierte UnleashWP-Plugin und Theme gibt es auch als Composer-Paket. Wenn du deine Websites mit Composer baust und auslieferst, holst du unsere Produkte genauso wie alles andere. Als Zugang brauchst du dabei nur deinen Lizenzschlüssel.
Was Composer ist
Composer ist der Paketmanager für PHP. Du trägst in eine Datei namens composer.json ein, welche Plugins und Themes eine Website braucht, führst einen Befehl aus, und Composer lädt genau diese Versionen in die richtigen Ordner. Dazu schreibt es eine composer.lock, die jede Version festhält. So landet auf deinem Rechner, auf Staging und auf der Live-Seite derselbe Code.
Bevor du loslegst
- Composer 2 auf deinem Rechner oder Build-Server (
composer --version). - Ein WordPress-Projekt mit einer
composer.json, zum Beispiel ein Bedrock-Projekt oder dein eigenes Setup. - Eine aktive UnleashWP-Lizenz. Du findest sie in deinem Konto unter Lizenzen.
Schnellstart
Composer-Dialog öffnen
Melde dich in deinem Konto an, öffne Downloads und klick unter dem Download-Knopf des Produkts auf Composer. Der Dialog Mit Composer installieren zeigt dir alle Zeilen von unten, schon mit deinem Lizenzschlüssel und der aktuellen Version.
Schlüssel für Composer speichern
Führ den Befehl aus dem Dialog einmal auf deinem Rechner aus. Composer merkt sich deinen Schlüssel und schickt ihn nur an composer.unleash-wp.com.
Repository und Paket eintragen
Kopier die composer.json-Zeilen aus dem Dialog in die composer.json deines Projekts.
Installieren
Führ composer update unleashwp/easy-svg-pro aus (mit dem Namen deines Produkts). Das Plugin landet in wp-content/plugins.
Lizenz aktivieren
Füg die wp-config.php-Zeile aus dem Dialog ein und setz den Schlüssel auf dem Server. Die Website aktiviert sich selbst, sobald ein Administrator das nächste Mal wp-admin öffnet.
Schritt für Schritt
1. Composer deinen Lizenzschlüssel geben
Dein Lizenzschlüssel ist das Passwort. Der Benutzername wird nicht geprüft, im Konto steht unleashwp. Such dir einen Weg aus:
Einmal ausführen. Der Schlüssel landet in der globalen auth.json von Composer in deinem Home-Ordner, außerhalb aller Projekte:
composer config --global --auth http-basic.composer.unleash-wp.com unleashwp DEIN_LIZENZSCHLUESSEL
Leg eine Datei auth.json neben die composer.json. Im Dialog bekommst du sie über den Knopf auth.json herunterladen:
{
"http-basic": {
"composer.unleash-wp.com": {
"username": "unleashwp",
"password": "DEIN_LIZENZSCHLUESSEL"
}
}
}
Trag sie sofort in die .gitignore ein:
echo "auth.json" >> .gitignore
Auf einem Build-Server packst du dasselbe JSON in die Umgebungsvariable COMPOSER_AUTH. Composer liest sie von selbst. Mehr dazu unten unter In CI nutzen.
auth.json und schreib deinen Lizenzschlüssel nie in die composer.json. Beide Dateien sieht jeder, der das Repository lesen kann, und dein Schlüssel öffnet deine Downloads.2. Repository und Paket eintragen
Trag unser Repository und das Paket in die composer.json deines Projekts ein:
{
"repositories": [
{ "type": "composer", "url": "https://composer.unleash-wp.com" }
],
"require": {
"unleashwp/easy-svg-pro": "^1.0"
},
"config": {
"allow-plugins": {
"composer/installers": true
}
}
}
- Jedes Paket heißt
unleashwp/plus der Slug des Produkts, zum Beispielunleashwp/easy-svg-pro. Der Dialog in deinem Konto zeigt dir den genauen Namen und eine passende Versionsangabe für das aktuelle Release. - Unsere Pakete brauchen
composer/installers, das Plugins und Themes in die WordPress-Ordner verschiebt. Ab Composer 2.2 fragt Composer nach, bevor es so ein Plugin ausführt. Der Eintragallow-pluginsbeantwortet die Frage vorab. Das ist vor allem auf einem Build-Server wichtig, wo niemand "ja" tippen kann.
Dann installieren:
composer update unleashwp/easy-svg-pro
3. Wo die Dateien landen
composer/installers richtet sich nach dem Pakettyp:
| Pakettyp | Standardordner |
|---|---|
wordpress-plugin | wp-content/plugins/SLUG/ |
wordpress-theme | wp-content/themes/SLUG/ |
Liegt dein WordPress woanders, setzt du installer-paths. In einem Bedrock-Projekt ist das schon erledigt:
{
"extra": {
"installer-paths": {
"web/app/plugins/{$name}/": ["type:wordpress-plugin"],
"web/app/themes/{$name}/": ["type:wordpress-theme"]
}
}
}
4. Lizenz über die wp-config.php aktivieren
Composer bringt nur die Dateien. Aktiviert wird die Lizenz über eine Konstante in der wp-config.php. Lies den Schlüssel aus der Server-Umgebung, dann steht er auch nicht in Git:
define( 'EASY_SVG_PRO_LICENSE_KEY', getenv( 'EASY_SVG_PRO_LICENSE_KEY' ) );
Danach setzt du EASY_SVG_PRO_LICENSE_KEY auf dem Server, im Hosting-Panel, in deiner .env oder in deinem Deployment-Tool. Sobald ein Administrator das nächste Mal wp-admin öffnet, aktiviert sich die Website selbst und belegt einen Platz deiner Lizenz. Mehr dazu unter Lizenzschlüssel aktivieren und Mit Git und CI ausliefern.
Aktualisieren
composer update unleashwp/easy-svg-pro
Das holt die neueste Version, die deine Versionsangabe erlaubt, und schreibt sie in die composer.lock. Committe die composer.lock. Jedes spätere composer install installiert dann auf jedem Rechner genau diese Version, und Staging und Live bleiben gleich.
Mit aktiver Lizenz bietet dir auch WordPress Updates unter Dashboard → Aktualisierungen an. Auf einer Composer-Website soll meist nur Composer aktualisieren, damit die Dateien auf dem Server immer zur composer.lock passen. Updates aus wp-admin schaltest du so ab:
define( 'DISALLOW_FILE_MODS', true );
composer.lock laufen nicht ab. Stattdessen wird dein Schlüssel bei jedem Download neu geprüft. Ein composer install aus einer alten Lock-Datei klappt also, solange die Lizenz aktiv ist.In CI nutzen
Auf einem Build-Server gibst du Composer den Schlüssel über die Umgebungsvariable COMPOSER_AUTH statt über eine Datei. Leg den Schlüssel als Secret in deinem CI-System ab, nie im Repository.
Leg ein Repository-Secret namens UNLEASHWP_LICENSE_KEY an, dann:
- name: Install PHP dependencies
env:
COMPOSER_AUTH: '{"http-basic":{"composer.unleash-wp.com":{"username":"unleashwp","password":"${{ secrets.UNLEASHWP_LICENSE_KEY }}"}}}'
run: composer install --no-dev --no-interaction --prefer-dist
export COMPOSER_AUTH='{"http-basic":{"composer.unleash-wp.com":{"username":"unleashwp","password":"DEIN_LIZENZSCHLUESSEL"}}}'
composer install --no-dev --no-interaction --prefer-dist
Ersetz DEIN_LIZENZSCHLUESSEL durch die Secret-Variable deines CI-Systems.
Eine Lizenz pro Projekt
Composer kann pro Host nur ein Passwort speichern. Weil dein Lizenzschlüssel dieses Passwort ist, nutzt ein Projekt einen Lizenzschlüssel für alles, was es von composer.unleash-wp.com installiert.
- Der Schlüssel zeigt nur die Produkte, die zu dieser Lizenz gehören. Zwei Produkte aus zwei getrennten Lizenzen lassen sich nicht im selben Projekt mit einem Schlüssel über Composer installieren.
- Die Installation mit Composer belegt keinen Platz. Einen Platz belegt erst die Website, die sich über die Konstante in der
wp-config.phpaktiviert, siehe Lizenzen. - Für Agenturen: Nimm für jedes Kundenprojekt die Lizenz, die du für diesen Kunden gekauft hast. Dann steckt in jedem Projekt nur sein eigener Schlüssel.
Wenn es nicht klappt
| Was du siehst | Was es bedeutet | Was hilft |
|---|---|---|
Composer fragt nach Benutzername und Passwort, oder 401 mit missing_license_key | Für composer.unleash-wp.com wurde kein Schlüssel mitgeschickt | Führ den Befehl aus Schritt 1 nochmal aus, prüf, ob in der auth.json genau composer.unleash-wp.com als Host steht, oder setz COMPOSER_AUTH im CI. |
403 mit license_not_active | Der Schlüssel ist nicht aktiv: abgelaufen, gekündigt, erstattet oder vertippt | Prüf die Lizenz unter Lizenzen in deinem Konto und kopier den Schlüssel neu. |
403 mit not_entitled | Dieses Paket gehört nicht zu deinem Schlüssel | Nimm den Schlüssel der Lizenz, mit der du dieses Produkt gekauft hast. |
could not be found in any version | Das Paket gehört nicht zu diesem Schlüssel, oder der Repository-Eintrag fehlt | Prüf den Eintrag repositories, den Paketnamen (unleashwp/ plus Slug) und ob der Schlüssel zu diesem Produkt gehört. |
503 mit license_service_unavailable | Der Lizenzserver war gerade nicht erreichbar | Kurz warten und Composer nochmal starten. Mit deiner Lizenz ist alles in Ordnung. |
composer/installers contains a Composer plugin which is blocked | Composer ab 2.2 will eine Erlaubnis für den Installer | Ergänz den Eintrag allow-plugins aus Schritt 2. |
| Plugin ist installiert, aber nicht aktiviert | Die Konstante ist auf dem Server leer | Prüf, ob die Umgebungsvariable dort gesetzt ist, wo PHP läuft, und öffne dann wp-admin als Administrator. |
Sicherheit
- Dein Schlüssel reist nur im Request-Header an
composer.unleash-wp.com, nie in einer URL. - Halt die
auth.jsonaus Git heraus. Am besten nutzt du auf deinem Rechner den globalen Befehl und auf Build-ServernCOMPOSER_AUTH. - Schreib den Schlüssel nicht in
composer.json,composer.lock, Dockerfiles oder Build-Logs. - Ist ein Schlüssel nach außen gelangt, melde dich sofort beim Support.