96 lines
2.8 KiB
Bash
Executable File
96 lines
2.8 KiB
Bash
Executable File
#!/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
|
|
|