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 🙂
