Recherchez et suivez l'évolution des prix sur 140 000 produits

Installer WordPress en ligne de commande avec WEP CLI

0

WordPress est connu comme étant l’un des cms les plus rapide à s’installer. En effet il ne faut que 5 min pour l’installer. Pour résumer :
- Téléchargement de l’archive de wordpress (si possible la dernière:) )
- Dézippe
- Upload sur l’hébergement
- Appel dde l’url du site et là commence l’installation via une interface web en 3 étapes.
5 minutes montre en main donc.

Ok, mais je trouvais ça encore trop long (oh la feignasse), bon ok il y a un peu de ça, mais c’est surtout que je souhaitais automatiser au maximum la création d’un nouveau projet, suivi de l’installation après de wordpress ou d’un autre CMS (je suis en train de me pencher sur le CLI de prestashop).

Pour ce faire j’utilise le CLI de wordpress.
Il s’agit d’un ensemble d’outil permettant de gérer wordpress en ligne de commande de l’installation en passant par l’activation de module ou le changement de variables de configurations comme les règles de réécritures.

l’outil est disponible sur environnement Unix (Linux, OS X), sur Windows ça fonctionne aussi mais de façon plus limité.

Je vais principalement évoquer l’installation et de la mise en œuvre sur Linux (Ubuntu 16.04), mais je montrerai aussi l’installation sur Windows allié à Wamp.

Installation (Ubuntu 16.04)

Il s’agit dans un premier temps de télécharger le .phar

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Exécuter le fichier avec php pour s’assurer que tout fonctionne :

php wp-cli.phar --info

En principe vous devriez voir apparaître la version de WP-CLI.

Si ce n’est pas le cas je vous invite à vérifier l’installation de votre serveur web et surtout de php.

Il faut maintenant rendre le fichier exécutable

chmod +x wp-cli.phar

Enfin on rend utilisable la commande wp en déplaçant le fichier dans le dossier /usr/local/bin/wp

sudo mv wp-cli.phar /usr/local/bin/wp

On s’assure ensuite que wp-cli est correctement installé en lançant la commande suivante

wp --info

Si tout est ok, on peut alors continuer.

Mise en œuvre et utilisation du script d’installation

On va maintenant utiliser et installer mon script.
C’est un simple fichier bash qui automatise un certain nombre d’action pour n’avoir à lancer qu’une commande pour installer WordPress.

Voici rapidement ce que va accomplir ce script :

  • Télécharge la dernière version française de WordPress
  • Création automatique de la base de données
  • Création automatique du compte Admin
  • Activation de la langue française
  • Suppression
  • Modifications des permaliens

Voici donc le script :

#!/bin/bash -e
WPUSER='admin'
WPEMAIL="votre.email@domain.tld"
## Ici c’est spécifique à ma configuration je récupère l’url du site par rapport au nom du dossier courant
PATH_PROJECT=~/P/
URI_SITE=${PWD##*/}
## Je construis le nom de la base de données par rapport à l’URL du site
MYSQL_DDB="sites-"${URI_SITE:0:8}
## Récupération de la première lettre du site
FIRST_LETTER=${URI_SITE:0:1}
## Transformation de la lettre en majuscule
declare -u FIRST_LETTER
FIRST_LETTER=$FIRST_LETTER
clear
echo "===================================================="
echo " Installation Automatique"
echo " _ "
echo " | | "
echo " _ _ _ ___ ____ __| |____ ____ _____ ___ ___ "
echo "| | | |/ _ \ / ___) _ | _ \ / ___) ___ |/___)/___)"
echo "| | | | |_| | | ( (_| | |_| | | | ____|___ |___ |"
echo " \___/ \___/|_| \____| __/|_| |_____|___/(___/ "
echo " |_| "
echo "===================================================="
# Lancer l installation
echo "Lancer installation ? (y/n)"
read -e run
# Si on dit non on arrête tout:o
if [ "$run" == n ] ; then
exit
else
# Télécharger la dernière version de WordPress
wp core download --locale=fr_FR
# Création du fichier de configuration
wp core config --dbname=$MYSQL_DDB --dbuser=$MYSQL_DDB --dbpass=123456
# Génération d'un password
password=$(LC_CTYPE=C tr -dc A-Za-z0-9_\!\@\#\$\%\^\&\*\(\)-+= < /dev/urandom | head -c 12)
# création de la base de données
wp core install --url="http://www.$URI_SITE" --title="$URI_SITE" --admin_user="$WPUSER" --admin_password="$password" --admin_email="$WPEMAIL"
## Installation de la langue Française
wp core language activate fr_FR
## Modification de la configuration des permaliens
wp rewrite structure '/%category%/%postname%'
Va générer le fichier .htaccess
wp rewrite flush --hard
## Enfin supprimer les truc de merde basique, le faux commentaire de base, l’article de base, et le plugin hello
wp post delete 1 --force
wp post delete 2 --force
wp plugin delete hello
echo "===================================================="
echo " Installation terminée ! Merci"
echo " Login : "$WPUSER
echo " Mot de passe : "$password
echo " Un mail a été envoyé sur : "$WPEMAIL
echo " _ "
echo " | | "
echo " _ _ _ ___ ____ __| |____ ____ _____ ___ ___ "
echo "| | | |/ _ \ / ___) _ | _ \ / ___) ___ |/___)/___)"
echo "| | | | |_| | | ( (_| | |_| | | | ____|___ |___ |"
echo " \___/ \___/|_| \____| __/|_| |_____|___/(___/ "
echo " |_| "
echo "===================================================="
fi

 

Maintenant que l’on a le script, on va l’installer sur l’installer sur notre machine, serveur …

Généralement j’enregistre mes BASH dans un dossier BASH (logique) à la racine de /home/ mais là faites comme vous voulez donc :

nano ~/BASH/wordpress.sh

On copie / colle le contenu et on enregistre en faisant CTRL + X et on valide

Il faut ensuite rendre le fichier exécutable

chmod +x ~/BASH/wordpress.sh

 

Ensuite on ajoute un alias

nano ~/.bash_aliases

et on ajoute dans le fichier cette ligne

alias wordpress='~/BASH/wordpress.sh'

On enregistre avec CTRL + X

On rend accessible notre alias en éxécutant cette commande :

source ~/.bash_aliases

L’installation est maintenant terminée.

A vous de jouer

Vous n'avez plus qu'à vous placer à la racine de votre site et taper "wordpress"
Le script se lance et vous demande si vous voulez continuer ou non 🙂 maintenant c'est à vous de jouer 🙂

wordpress-command-line-wp-cli

Partager.

A propos de l'auteur

Créateur du site, passionné par la domotique, le développement Web, Les gadgets Chinois et par plus ou moins tout ce qui existe en fait. Le site a été créé autour de l'impression 3D et de la domotique, mais d'autres briques s'ajoutent eu fil du temps. Car dès que j'ai une nouvelle passion, j'essaye de la faire partager. Vous pouvez aussi découvrir mon blog dédié à la pâtisserie.

Laisser un commentaire