WP-CLI
Insy-tallation / mise-à-jour de WordPress avec wp-cli
This commit is contained in:
95
wp-cli/install_wp_yml.sh
Executable file
95
wp-cli/install_wp_yml.sh
Executable file
@@ -0,0 +1,95 @@
|
||||
#!/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
|
||||
|
||||
Reference in New Issue
Block a user