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 🙂