Marre de toujours effectuer les mêmes opérations à chaque création de nouveaux projets WordPress? Voici un script simple permettant d'installer WordPress, de la configurer, d'activer vos plugins habituels et d'en ajouter en fonction de vos besoins, tout cela grâce à une simple commande : wpinstall
Installation du script
- Vous devez au préalable avoir WP-CLI d'installer sur votre serveur (voir : installer WP-CLI en 1 minute)
- Télécharger le script sur Github : wget https://github.com/plaurent75/WordpressInstaller/blob/master/install-wordpress.sh
- Rendre le script exécutable : chmod +x install-wordpress.sh
- Créer un alias pour le script echo "alias wpinstall='/DossierOuEstStockeLeScript/install-wordpress.sh'" >> ~/.bashrc
- Recharger votre profil pour prendre en compte ce nouvel alias : source ~/.bashrc
Voilà, c'est fait, vous avez installé le script. Pour l'utiliser, il suffit juste de taper wpinstall dans votre console et de suivre les instructions.
Mode d'emploi
Voir la vidéo de présentation du script en bas de cet article
Dans votre console, taper simplement wpinstall (ou sudo wpinstall selon votre configuration) puis suivez les instructions. Le script vous pose 10 questions très simple auquel vous répondez directement dans votre console sh :
- INSTALLPATH: Chemin vers le dossier d'installation (ex: /home/demosite/www )
- Database Name: nom de votre base de donnée
- Database User: utilisateur mysql
- Database Password: mot de passe mysql
- WP username: identifiant de l'admin
- WP Password: mot de passe admin
- WP Email: email de l'admin
- WP URL: l'url de votre site wordpress
- Site Title: le nom du site
- Language: langue du site (télécharger la version Française si language=fr_FR, etc ...)
En confirmant l'installation, le script démarre le téléchargement de la dernière version de wordpress dans la langue choisie. Il install et configure les options générale et crée le compte administrateur
Ensuite il télécharge et active les plugins désirés (la liste peut-être éditée directement dans le script). Il vous propose aussi d'ajouter des plugins supplémentaires. Il suffit de répondre y à la question "would you like to install more plugins?" et d'ensuite taper soit le slug du plugin, soit le lien direct vers le zip du plugin. Vous pouvez ajouter autant de plugins que vous le souhaitez. Une fois que vous avez ajoutés tous vos plugins, taper n à la question et le script poursuit son installation.
A la fin du script, vous avez la possibilité d'appliquer des droits différents au dossier d'installation de votre site. Si c'est le cas, répondez y et entrez le user et le group pour une mise à jour récursive des droits des dossiers et fichiers de votre installation.
Vidéo de présentation
Code Source
Information et téléchargement sur mon compte GitHub
https://github.com/plaurent75/WordpressInstaller
#!/bin/bash echo "=================================================================" echo "WordPress Installer!!" echo "By Patrice LAURENT" echo "http://www.patricelaurent.net" echo "=================================================================" #Thank you GUILLAUME for this method #https://twitter.com/iKonenn control_c(){ echo -en "\n*** Ouch! Brutal Exiting :) ***\n" exit $? } trap control_c SIGINT # accept user input for the databse name echo "INSTALLPATH (WP CLI WILL WORK IN INSTALLPATH like /home/folder/wwww without SLASH at the END ): " read -e folderpath if [ ! -d "$folderpath" ]; then echo "$folderpath ....This folder Does Not exist" echo "You must create this folder before ...exiting" echo "=================================================================" echo "END of SCRIPT .... ERROR" echo "=================================================================" exit fi # accept user input echo "Database Name: " read -e dbname echo "Database User: " read -e dbuser echo "Database Password: " read -e dbpass echo "WP username: " read -e wpuser echo "WP email: " read -e wpemail echo "WP Password: " read -e wppassword echo "WP URL: " read -e wpurl # accept the name of our website echo "Site Title: " read -e wptitle # accept the name of our website echo "Language (e.g: fr_FR ): " read -e wplang # add a simple yes/no confirmation before we proceed echo "Run Install? (y/n)" read -e run # if the user didn't say no, then go ahead an install if [ "$run" == n ] ; then exit else if [ -d "$folderpath" ]; then cd $folderpath else echo "$folderpath ....This folder Does Not exist" echo "You must create this folder before ...exiting" echo "=================================================================" echo "END of SCRIPT .... ERROR" echo "=================================================================" exit fi #NETTOYAGE rm index.html echo "Directory WWW clean" echo "Downloading wordpress...." wp core download --locale=$wplang --force wp core version echo "creating wp-config.php ...." wp core config --dbname=$dbname --dbuser=$dbuser --dbpass=$dbpass --extra-php <<PHP define('AUTOSAVE_INTERVAL', 300 ); define('WP_POST_REVISIONS', false ); define( 'WP_AUTO_UPDATE_CORE', true ); define( 'WP_DEBUG', false ); PHP echo "Wordpress install in progress...." wp core install --url=$wpurl --title="$wptitle" --admin_user=$wpuser --admin_email=$wpemail --admin_password=$wppassword echo "Wordpress Isntallation Done" wp site empty echo "reseting wordpress....done: wordpress is now empty" # PARAMETRAGE GENERAL echo "modification des options en cours" wp option update blog_public 0 wp option update timezone_string Europe/Paris wp option update date_format 'j F Y' wp option update time_format 'G \h i \m\i\n' echo "Wordpress options done" # NETTOYAGE echo "Cleaning in progress....." wp post delete 1 --force # Article exemple - no trash. Comment is also deleted wp post delete 2 --force # page exemple wp plugin delete hello wp theme delete twentytwelve wp theme delete twentythirteen wp theme delete twentyfourteen wp widget delete $(wp widget list sidebar-1 --format=ids) echo "done" #PLUGINS echo "Installing Plugins ....." wp plugin install akismet --activate wp plugin install contact-form-7 --activate wp plugin install cookie-law-info --activate wp plugin install jetpack --activate wp plugin install tablepress --activate wp plugin install wordpress-seo --activate wp plugin install really-simple-captcha --activate echo "Plugins installed" #Function Plugins supplémentaires MorePlug() { echo "Would you like to install more plugin? (y/n)" read -e supplements if [ "$supplements" == y ] ; then echo "URL(Direct zip link) or slug from WordPress.org" read -e plugslug wp plugin install $plugslug --activate echo "$plugslug installed and activated" MorePlug else echo "All plugins have been installed. Go to the news Step of WordPress Easy Install" fi } MorePlug # PARAMETRAGE PERMALIENS (avec modif du .htaccess) wp rewrite structure "/%postname%/" --hard wp rewrite flush --hard #Give right to the user echo "Do you want to Fix rights to your new install? (y/n)? :" read -e fixrights if [ "$fixrights" == y ] ; then echo "set user (username):" read -e userright if [ -n "$userright" ]; then echo "set group (generallys :users) :" read -e groupright if [ -n "$groupright" ]; then chown -R $userright:$groupright $migratepath fi fi fi echo "=================================================================" echo "Installation ok." echo "" echo "Username WP: $wpuser" echo "Password WP: $wppassword" echo "URL WP: $wpurl" echo "" echo "By Patrice LAURENT" echo "http://www.patricelaurent.net" echo "Have a nice day" echo "=================================================================" exit fi
wow chapeau pour ce script. Pas essayé mais prometteur
Merci Gilles. Je prépare une nouvelle version, qui sera plus intuitive
et surtout compatible avec plus d’environnement. Wp-cli a pas mal évolué depuis. Par contre, je ne sais
pas pour quand ^^... Trop de projets en cours, je cours après le temps
...