Aller au contenu principal

Installer WordPress avec WP-CLI sur un VPS ou un serveur dédié

Ce guide vous explique comment installer WordPress de manière automatisée avec WP-CLI sur votre VPS ou serveur dédié.

Commander un serveur

Pour héberger votre site WordPress, HostMyServers propose plusieurs offres adaptées :

Prérequis

  • Accès SSH root ou utilisateur avec sudo
  • PHP installé (version ≥ 7.4) avec les extensions nécessaires
  • MySQL ou MariaDB installé et configuré
  • Serveur web (Apache ou Nginx) configuré
  • Un nom de domaine pointant vers le serveur (optionnel)

Connexion SSH

Connectez-vous à votre serveur via SSH :

ssh root@adresse_ip_de_votre_serveur

Ou avec un utilisateur disposant de privilèges sudo :

ssh votre_utilisateur@adresse_ip_de_votre_serveur

Installation de WP-CLI

  1. Téléchargez le fichier phar de WP-CLI :

    curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

    Ou avec wget :

    wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
  2. Rendez le fichier exécutable :

    chmod +x wp-cli.phar
  3. Déplacez l'exécutable pour l'utiliser globalement :

    sudo mv wp-cli.phar /usr/local/bin/wp
  4. Vérifiez l'installation :

    wp --info

    Vous devriez voir les informations sur la version de PHP et WP-CLI.

Configuration de la base de données

Créez une base de données MySQL/MariaDB pour WordPress :

  1. Connectez-vous à MariaDB/MySQL :

    sudo mysql -u root -p
  2. Créez la base de données et l'utilisateur :

    CREATE DATABASE wordpress_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'mot_de_passe_securise';
    GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
    Attention

    Remplacez wordpress_db, wordpress_user et mot_de_passe_securise par vos propres valeurs.

Installation de WordPress

  1. Assurez-vous que le dossier appartient à l'utilisateur du serveur web :

    sudo chown -R www-data:www-data /var/www/votre_domaine
  2. Connectez-vous en tant qu'utilisateur www-data :

    sudo -u www-data bash
  3. Placez-vous dans le répertoire web :

    cd /var/www/votre_domaine
  4. Téléchargez WordPress en français :

    wp core download --locale=fr_FR
  5. Générez le fichier wp-config.php :

    wp config create \
    --dbname=wordpress_db \
    --dbuser=wordpress_user \
    --dbpass='mot_de_passe_securise' \
    --dbhost=localhost \
    --dbprefix=wp_ \
  6. Installez WordPress :

    wp core install \
    --url="https://votre-domaine.com" \
    --title="Titre de votre site" \
    --admin_user="admin" \
    --admin_password="MotDePasseFort123!" \
    --admin_email="votre@email.com" \

Permissions et sécurité

  1. Définissez les permissions correctes :

    # Permissions des dossiers
    sudo find /var/www/votre_domaine -type d -exec chmod 755 {} \;

    # Permissions des fichiers
    sudo find /var/www/votre_domaine -type f -exec chmod 644 {} \;

    # Permissions spéciales pour wp-content
    sudo chmod -R 775 /var/www/votre_domaine/wp-content
  2. Sécurisez le fichier wp-config.php :

    sudo chmod 600 /var/www/votre_domaine/wp-config.php

Commandes WP-CLI utiles

Note

Toutes les commandes ci-dessous doivent être exécutées en tant qu'utilisateur www-data. Connectez-vous avec sudo -u www-data bash avant de les lancer.

Gestion du cœur WordPress

# Mettre à jour WordPress
wp core update
# Vérifier la version
wp core version ```

### Gestion des plugins

```bash
# Lister les plugins
wp plugin list
# Installer et activer un plugin
wp plugin install nom_du_plugin --activate
# Mettre à jour tous les plugins
wp plugin update --all
# Désactiver un plugin
wp plugin deactivate nom_du_plugin ```

### Gestion des thèmes

```bash
# Lister les thèmes
wp theme list
# Installer et activer un thème
wp theme install nom_du_theme --activate
# Mettre à jour tous les thèmes
wp theme update --all ```

### Gestion des utilisateurs

```bash
# Créer un utilisateur
wp user create nouvel_utilisateur email@exemple.com --role=editor --user_pass=MotDePasse
# Lister les utilisateurs
wp user list
# Réinitialiser un mot de passe
wp user update admin --user_pass=NouveauMotDePasse ```

### Maintenance

```bash
# Vider le cache
wp cache flush
# Optimiser la base de données
wp db optimize
# Exporter la base de données
wp db export backup.sql
# Rechercher et remplacer dans la base
wp search-replace 'ancien-domaine.com' 'nouveau-domaine.com' ```

## Bonnes pratiques

- Exécutez toujours les commandes WP-CLI en tant qu'utilisateur www-data
- Utilisez des mots de passe forts pour l'administrateur et la base de données
- Effectuez des sauvegardes régulières avec `wp db export`
- Mettez à jour régulièrement WordPress, les plugins et les thèmes
- Surveillez les logs du serveur web pour détecter les tentatives d'intrusion

## En cas de problème

- Vérifiez les logs Apache : `sudo tail -f /var/log/apache2/error.log`
- Vérifiez les logs Nginx : `sudo tail -f /var/log/nginx/error.log`
- Vérifiez les permissions des fichiers et dossiers
- Assurez-vous que PHP et ses extensions sont correctement installés : `php -m`