web-dev-qa-db-fra.com

Automatiser la création de piles de répertoires et de bases de données avec WP-CLI

Voici comment je crée une pile de base de données et un répertoire pour WordPress dans mon environnement Ubuntu:

cat <<-DBSTACK | mysql -u root -p"${dbrootp}"
    CREATE USER "${domain}"@"localhost" IDENTIFIED BY "${dbuserp}";
    CREATE DATABASE "${domain}";
    GRANT ALL PRIVILEGES ON ${domain}.* TO "${domain}"@"localhost";
DBSTACK

curl -L http://wordpress.org/latest.tar.gz | tar -zx -C ${domain}/
cp ${domain}/wp-config-sample.php ${domain}/wp-config.php
sed -ir "s/username_here|database_name_here/${domain}/g ; s/password_here/${dbuserp}/g" ${domain}"/ ${domain}/wp-config.php

Comment réduiriez-vous la quantité de code avec WP-CLI pour obtenir le même résultat?

1
Arcticooling

WP-CLI a un tas de commandes utiles , y compris certaines pour effectuer des opérations de base sur la base de données .

Cependant, ce n’est pas à elle de créer de nouveaux utilisateurs dans MySQL et de leur accorder des autorisations sur une base de données nouvellement créée. Donc, cette partie de votre script ne peut pas vraiment être remplacée par WP-CLI.

Vous avez toujours de la chance cependant. La commande wp core vous aidera à télécharger, installer, mettre à jour et gérer une installation WordPress. De plus wp config vous aide à gérer le fichier wp-config.php.

Au lieu de curl -L http://wordpress.org/latest.tar.gz | tar -zx -C ${domain}/, vous pouvez simplement utiliser wp core download pour installer la dernière version de WordPress.

Pour ajouter les informations d'identification de la base de données au fichier de configuration, vous pouvez utiliser wp config create --dname="${domain}" --dbuser="${domain}" --dbpass=${dbuserp}.

Mais nous n'avons pas encore fini! Pourquoi ne pas installer complètement WordPress pendant que nous y sommes? Cela peut être fait en utilisant wp core install:

wp core install --url=example.com --title=Example --admin_user=supervisor --admin_password=strongpassword [email protected]
2
swissspidy