C’est la première chose que j’ai fait pour mettre en place ce site. Noter la façon dont je m’y suis pris, semblait évident du coup. D’abord un script qui me permet de facilement créer une base de données :

#!/bin/bash

red='\033[01;31m'
blue='\033[01;34m'
green='\033[01;32m'
norm='\033[00m'

EXPECTED_ARGS=3
E_BADARGS=65
MYSQL=`which mysql`

Q1="CREATE DATABASE IF NOT EXISTS $1;"
Q2="GRANT USAGE ON *.* TO $2@'localhost' IDENTIFIED BY '$3';"
Q3="GRANT ALL PRIVILEGES ON $1.* TO $2@'localhost';"
Q4="FLUSH PRIVILEGES;"

if [ $# -ne $EXPECTED_ARGS ]
then
echo -e "\nUsage: $0 dbname dbuser dbpass\n"
exit $E_BADARGS
fi

echo -e "\n${blue}-Creating mysql DATABASE ${red}${1}${norm}\n${blue}-Creating mysql USER ${red}${2}${norm}\n"
for query in "$Q1" "$Q2" "$Q3" "$Q4"
do
$MYSQL -e "$query" && echo -e "$query ---> [${green}OK${norm}]" || echo -e "$query ---> [${red}BAD${norm}]"

done
echo -e " "

Et on l’utilise aussi facilement que:

./create_mysql_db.sh <dbname> <dbuser> <dbpassord>

Pour installer et configurer le WordPress, on ne s’embête pas et on utilise wp-cli sans vergogne. C’est rapide et efficace.

On entre dans le répertoire où on les fichiers de WordPress seront installer pour éviter de taper l’option --path=<pat/du/repertoire> à chaque fois.

cd /chemin/du/repertoire/d/installation/de/wordpress

D’abord on télécharge WordPress:

wp core download --locale=fr_FR

On configure ensuite le fichier wp-config.php avec les informations de la base de données qu’on a rentré juste avant.

wp core config --dbname=<dbname> --dbuser=<dbuser> --dbpass=<dbpass> --dbhost=localhost --locale=fr_FR

Et on installe à proprement parler WordPress

wp core install --path=<path> --url=<site.fr> --title=<title> --admin_user=<user> --admin_password=<password> --admin_email=<email>

Tadam 🙌 🙌 Le site est maintenant en ligne. Mais tant qu’à faire, un peu assaisonner son installation.

# Retirer le plugin hello
wp plugin uninstall hello

# installer iTheme security
wp plugin install better-wp-security --activate

# Supprimer l'article de Bienvenue
wp post delete 1

# Lister les pages et supprimer une page
wp post list –post_type=page
wp post delete "${post id}"