Vous êtes ici : Accueil / Debian GNU/Linux / Système / Logiciels / Installer wp-cli sur Debian

Installer wp-cli sur Debian

Par Pierre-Yves Landuré Dernière modification 24/07/2019 14:31

wp-cli est un outil en ligne de commande permettant d'automatiser l'installation et l'administration d'un blog Wordpress.

Ce guide est testé sur:

  • Debian 7.0 Wheezy
  • Debian 8.0 Jessie
  • Debian 9.0 Stretch
  • Ubuntu 16.04 Xenial Xerus

Ce guide est testé avec ces versions de wp-cli:

  • 1.3.0

Installation

Détectez le proxy de commande (command ou sudo):

cmdProxy='command'
command type -f 'sudo' &>'/dev/null' && cmdProxy='sudo'

Détectez le nom des paquets PHP disponibles:

phpVersion='5'
if [ -n "$(command apt-cache pkgnames php-cli)" ]; then
phpVersion=''
fi

Mise en place du logiciel

Installez les logiciels nécessaires:

${cmdProxy} apt-get install sudo php${phpVersion}-cli \
php${phpVersion}-mysql php${phpVersion}-gd

Assurez-vous que sudo est le proxy de commande:

cmdProxy='sudo'

Téléchargez la dernière version de wp-cli:

${cmdProxy} wget --output-document='/usr/local/bin/wp' \
--no-check-certificate \
'https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar'
${cmdProxy} chmod +x '/usr/local/bin/wp'

Installez la complétion automatique pour wp-cli:

${cmdProxy} wget 'https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash' \
    --no-check-certificate --output-document='/usr/share/bash-completion/completions/wp-cli'

Créez le fichier config.yml (pour l'utilisateur www-data):

${cmdProxy} mkdir -p '/var/www/.wp-cli'
if [ ! -e '/var/www/.wp-cli/config.yml' ]; then
  echo "apache_modules:
  - mod_rewrite" \
| ${cmdProxy} tee '/var/www/.wp-cli/config.yml'
fi
${cmdProxy} chown -R 'www-data' '/var/www/.wp-cli'

Vérifiez que l'outil est fonctionnel:

sudo -u 'www-data' -- wp cli info

Mise à jour automatisées

Mettez en place la mise à jour automatique des thèmes, plugins, traductions et du cœur de Wordpress:

${cmdProxy} tee "/etc/cron.d/wp-cli" \
<<< "# Automatic updates for wp-cli
# every day à 00h00 o'clock.
30 0     * * *   root    test -x '/usr/local/bin/wp' && /usr/local/bin/wp --allow-root --quiet cli update --yes > '/dev/null'
"

Rechargez la configuration de cron:

${cmdProxy} service cron reload

Remerciements