Usare MeteorGPL in un progetto Bedrock
Bedrock installa già WordPress, i plugin e i temi con Composer. Aggiungi un repository e i tuoi plugin e temi premium si uniscono a loro, versionati e fissati nel file lock.
Informazioni su questa guida
- Difficoltà
- Principiante
- Tempo necessario
- 10 minuti
- Tempo di lettura
- 3 min di lettura
Prerequisiti
- Un progetto Bedrock (roots/bedrock) e Composer 2
- Un account MeteorGPL con accesso al repository e un token Composer
- Le chiavi di licenza dei tuoi plugin premium, acquistate dai rispettivi produttori
In questa guida
Bedrock gestisce un intero sito WordPress con Composer: WordPress stesso è una dipendenza, i plugin di WordPress.org provengono da un mirror Composer della directory dei plugin, e composer/installers invia ogni pacchetto in web/app/plugins o web/app/themes. I plugin premium sono la solita lacuna: finiscono in un commit nel repository o vengono caricati a mano. MeteorGPL colma questa lacuna con un repository in più.
Passo 1 — Salva il tuo token
Se non l’hai ancora fatto su questo computer, crea un token in Impostazioni → Token Composer e passalo a Composer:
composer config --global http-basic.composer.meteorgpl.ddev.site token <your-token>
Il nome utente è letteralmente la parola token. Per un progetto di team, usa un token dell’organizzazione (continua a funzionare quando le persone se ne vanno); per server e CI, leggi Token Composer nella CI.
Passo 2 — Aggiungi il repository
Il composer.json di Bedrock contiene già un elenco repositories. Aggiungici MeteorGPL:
"repositories": [
{
"type": "composer",
"url": "https://composer.meteorgpl.ddev.site"
}
]
Mantieni le voci con cui Bedrock viene fornito; quella nuova va accanto a loro.
Passo 3 — Controlla gli installer path (nulla da cambiare)
Bedrock richiede composer/installers e associa i tipi di pacchetto WordPress alle proprie cartelle:
"extra": {
"installer-paths": {
"web/app/mu-plugins/{$name}/": ["type:wordpress-muplugin"],
"web/app/plugins/{$name}/": ["type:wordpress-plugin"],
"web/app/themes/{$name}/": ["type:wordpress-theme"]
},
"wordpress-install-dir": "web/wp"
}
MeteorGPL pubblica i plugin come wordpress-plugin e i temi come wordpress-theme, quindi seguono queste regole senza alcuna configurazione aggiuntiva.
Passo 4 — Richiedi i tuoi plugin e temi premium
composer require meteorgpl-plugin/elementor-pro:^3.21 meteorgpl-theme/rehub-theme:^19.0
Il plugin finisce in web/app/plugins/elementor-pro/, il tema in web/app/themes/rehub-theme/. I nomi dei pacchetti sono sempre meteorgpl-plugin/<slug> per i plugin e meteorgpl-theme/<slug> per i temi, dove lo slug è il nome della cartella fornita dal produttore; ogni pagina di pacchetto mostra il comando esatto.
Esegui il commit di composer.json e composer.lock, non del codice installato. Il file lock registra ogni versione e il checksum del suo zip, così ogni ambiente installa gli stessi file.
Passo 5 — Attiva e aggiungi le tue chiavi di licenza
Attiva il plugin nell’amministrazione di WordPress, oppure con WP-CLI:
wp plugin activate elementor-pro
I pacchetti non vengono modificati: i controlli di licenza del produttore sono intatti, quindi attiva il plugin con la chiave che hai acquistato dal produttore. La cassaforte delle chiavi di licenza (Impostazioni → Chiavi di licenza) conserva le tue chiavi cifrate e ti avvisa prima che scadano.
Passo 6 — Esegui il deploy
Sul server, o nella pipeline che compila la release, anche Composer ha bisogno del token. Puoi salvarlo una volta per l’utente di deploy:
composer config --global http-basic.composer.meteorgpl.ddev.site token <deploy-token>
oppure passarlo nella variabile d’ambiente COMPOSER_AUTH, e poi installare esattamente ciò che indica il file lock:
composer install --no-dev --prefer-dist --no-interaction
Usa un token separato per ogni server o pipeline, limitato ai pacchetti di cui il sito ha bisogno: se uno trapela, revochi solo quello e nient’altro smette di funzionare.
Aggiornamenti
composer update meteorgpl-plugin/elementor-pro
porta il plugin alla versione più recente consentita dal tuo vincolo e aggiorna composer.lock. Testa, esegui il commit, fai il deploy. Ogni versione pubblicata resta disponibile, quindi un rollback è un composer require con il numero della versione precedente. Per essere informato delle nuove versioni e degli avvisi di sicurezza, leggi Mantenere i plugin aggiornati e monitorare le vulnerabilità.