#!/usr/bin/env bash # WordPress installer (wp-cli.local.yml) if [ "$1" == "--help" ]; then echo -e "\033[93minstall_wp_yml.sh\033[0m" echo echo "Installateur WordPress" echo echo "Requiert:" echo " - wp-cli (https://wp-cli.org/)" echo " - wp-cli.local.yml DOIT être présent dans \$wordpress_path" echo echo "Configuration:" echo -e " - \033[4m\$wordpress_path\033[0m est le dossier où sera installé WordPress" echo -e " - \033[4m\$wp_config_yml\033[0m est le nom du fichier d'installation WordPress. Il sera copié dans \$wordpress_path" echo echo "USAGE: install_wp_yml" echo echo " --help display this help" echo exit 0 fi # *** Variables à configurer / Configure this variables ***: wordpress_path="/home/bruno/Sites/" wp_config_yml="wp_mint.local.yml" # *** -----------------------*** echo # On copie le fichier de configuration sur le serveur yml_file="$(pwd)/$wp_config_yml" #[ ! -f "$yml_file" ] || (echo "No configuration file ("$wp_config_yml") found! Let's exit :-(" && exit 0) if [ ! -f "$yml_file" ]; then echo "No configuration file ("$wp_config_yml") found! Let's exit :-(" exit 0 else echo "Configuration file "$wp_config_yml" found! Let's copy it to "$wordpress_path"" cp "$(pwd)/$wp_config_yml" "$wordpress_path/wp-cli.local.yml" fi cd $wordpress_path echo -e "\n\033[1mWordPress installation\033[0m" # On récupère la liste des packages installés packages_list=$(wp package list | sed -n '1!p' | awk '{print $1'}) # Il y a déjà une installation de WordPress ? exist=$(wp find . | sed -n '1!p' | awk '{print$1}') # Si oui, on la supprime if [ -n "$exist" ]; then # /home/bruno/Sites/wordpress/wp-includes/version.php wp_exist="$(dirname $(dirname $exist))" wp_folder_name=$(echo "$exist" | awk -F "/" '{for (i=1;i<=NF;i++) if ($i=="wp-includes") print $(i-1)}') read -p $'\n\033[1;31mWordPress is already installed. Do you really want to erase it ? \033[39m(y/n)\033[0m' choice case "$choice" in y|Y|o ) cd "$wp_folder_name/" && wp db drop --yes && cd "$wordpress_path" && rm -rf "$wp_folder_name/" && echo "Deleting directory '$wordpress_path/$wp_folder_name'.";; * ) echo "Ok, let's exit" && exit 0;; # * ) echo "invalid";; esac fi echo wp core download wp core config wp db create wp core install --skip-email wp theme install wp theme activate wp plugin install # Installer un plug-in depuis une archive: #$ wp plugin install https://d1qas1txbec8n.cloudfront.net/wp-content/uploads/2015/06/23073607/myplugin.zip # Si le package /wp-cli/admin-command est installé, on ouvre la page d'administration if [ -n "$(echo "$packages_list" | awk '$1 ~ /wp-cli\/admin-command/')" ]; then wp admin else wp package install wp-cli/admin-command echo "" wp admin fi