📝 Installer WordPress sur un VPS Linux

Guide complet pour installer WordPress sur votre VPS Linux avec LAMP (Linux, Apache, MySQL, PHP) ou LEMP (Linux, Nginx, MySQL, PHP). Configuration complète et sécurisée.

📝 Installer WordPress sur un VPS Linux

Ce guide vous explique comment installer WordPress sur votre VPS Linux. WordPress est le système de gestion de contenu (CMS) le plus populaire au monde, utilisé par des millions de sites web.

⚠️ Avertissement important

Important : Pour les sites WordPress, il est spécialement conseillé de prendre un hébergement web chez Infrawire. Un hébergement web mutualisé ou dédié offre de nombreux avantages :

  • Stabilité optimale : Environnement optimisé et maintenu pour WordPress
  • Sauvegardes automatiques : Vos données sont sauvegardées régulièrement
  • Support spécialisé : Assistance technique dédiée à WordPress
  • Mises à jour gérées : Mises à jour de sécurité et de performance
  • Sécurité renforcée : Protection contre les attaques courantes
  • Performance optimisée : Configuration serveur adaptée à WordPress

Cependant, si vous souhaitez un environnement non mutualisé et dédié avec un contrôle total sur votre serveur, vous pouvez installer WordPress sur un VPS Infrawire. Ce guide vous explique comment procéder.

📋 Prérequis

  • Un VPS Linux avec accès root ou sudo
  • Au moins 1 Go de RAM (2 Go recommandé pour WordPress)
  • Au moins 10 Go d'espace disque libre

💡 Recommandation d'infrastructure

Pour des performances optimales avec WordPress, nous recommandons nos VPS NVMe pour les sites à trafic modéré, ou nos VPS Performance pour les sites à fort trafic nécessitant des ressources CPU importantes. Les disques NVMe accélèrent considérablement le chargement des pages et les opérations de base de données.

  • Un nom de domaine pointant vers l'IP de votre VPS
  • Les ports 80 (HTTP) et 443 (HTTPS) ouverts dans votre pare-feu

🔧 Méthode 1 : Installation avec LAMP (Apache)

Étape 1 : Mettre à jour le système

# Mettre à jour la liste des paquets sudo apt update # Mettre à jour les paquets installés sudo apt upgrade -y

Étape 2 : Installer Apache

# Installer Apache sudo apt install -y apache2 # Démarrer Apache sudo systemctl start apache2 # Activer Apache au démarrage sudo systemctl enable apache2 # Vérifier le statut sudo systemctl status apache2

Étape 3 : Installer MySQL

# Installer MySQL Server sudo apt install -y mysql-server # Démarrer MySQL sudo systemctl start mysql # Activer MySQL au démarrage sudo systemctl enable mysql # Sécuriser l'installation MySQL sudo mysql_secure_installation

Lors de la sécurisation, vous devrez :

  • Définir un mot de passe root pour MySQL
  • Supprimer les utilisateurs anonymes
  • Désactiver la connexion root à distance
  • Supprimer la base de données test
  • Recharger les privilèges

Étape 4 : Créer la base de données WordPress

# Se connecter à MySQL sudo mysql -u root -p

Dans MySQL, exécutez les commandes suivantes :

-- Créer la base de données CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- Créer un utilisateur pour WordPress CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'VotreMotDePasseSecurise123!'; -- Donner tous les privilèges à l'utilisateur GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost'; -- Appliquer les changements FLUSH PRIVILEGES; -- Quitter MySQL EXIT;

Important : Remplacez VotreMotDePasseSecurise123! par un mot de passe fort et unique.

Étape 5 : Installer PHP et les extensions nécessaires

# Installer PHP et les extensions requises pour WordPress sudo apt install -y php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip libapache2-mod-php # Vérifier la version de PHP php -v

WordPress nécessite PHP 7.4 ou supérieur. Pour installer une version spécifique :

# Pour PHP 8.1 (recommandé) sudo apt install -y php8.1 php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-xmlrpc php8.1-soap php8.1-intl php8.1-zip libapache2-mod-php8.1

Étape 6 : Télécharger WordPress

# Aller dans le répertoire temporaire cd /tmp # Télécharger la dernière version de WordPress curl -O https://wordpress.org/latest.tar.gz # Extraire l'archive tar xzf latest.tar.gz # Copier WordPress dans le répertoire web sudo cp -r wordpress/* /var/www/html/ # Donner les bonnes permissions sudo chown -R www-data:www-data /var/www/html sudo chmod -R 755 /var/www/html

Étape 7 : Configurer WordPress

# Créer le fichier de configuration cd /var/www/html sudo cp wp-config-sample.php wp-config.php # Éditer le fichier de configuration sudo nano wp-config.php

Modifiez les lignes suivantes avec vos informations de base de données :

define( 'DB_NAME', 'wordpress_db' ); define( 'DB_USER', 'wordpress_user' ); define( 'DB_PASSWORD', 'VotreMotDePasseSecurise123!' ); define( 'DB_HOST', 'localhost' );

Ajoutez également ces lignes de sécurité (générez des clés uniques) :

define('AUTH_KEY', 'générez-une-clé-unique-ici'); define('SECURE_AUTH_KEY', 'générez-une-clé-unique-ici'); define('LOGGED_IN_KEY', 'générez-une-clé-unique-ici'); define('NONCE_KEY', 'générez-une-clé-unique-ici'); define('AUTH_SALT', 'générez-une-clé-unique-ici'); define('SECURE_AUTH_SALT', 'générez-une-clé-unique-ici'); define('LOGGED_IN_SALT', 'générez-une-clé-unique-ici'); define('NONCE_SALT', 'générez-une-clé-unique-ici');

Vous pouvez générer des clés uniques sur : https://api.wordpress.org/secret-key/1.1/salt/

Étape 8 : Configurer Apache pour WordPress

# Activer le module rewrite sudo a2enmod rewrite # Éditer la configuration Apache sudo nano /etc/apache2/sites-available/000-default.conf

Ajoutez ou modifiez la section <Directory /var/www/html> :

<Directory /var/www/html> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>

Redémarrer Apache :

sudo systemctl restart apache2

Étape 9 : Finaliser l'installation via l'interface web

  1. Ouvrez votre navigateur
  2. Accédez à : http://VOTRE_IP ou http://votredomaine.com
  3. Suivez l'assistant d'installation WordPress :
    • Choisissez votre langue
    • Remplissez les informations du site (titre, utilisateur admin, email, mot de passe)
    • Cliquez sur Installer WordPress

🔧 Méthode 2 : Installation avec LEMP (Nginx)

Étape 1 : Installer Nginx

# Installer Nginx sudo apt install -y nginx # Démarrer Nginx sudo systemctl start nginx # Activer Nginx au démarrage sudo systemctl enable nginx

Étape 2 : Installer MySQL (identique à la méthode LAMP)

Suivez les étapes 3 et 4 de la méthode LAMP pour installer MySQL et créer la base de données.

Étape 3 : Installer PHP-FPM

# Installer PHP-FPM et les extensions sudo apt install -y php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip # Pour PHP 8.1 sudo apt install -y php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-xmlrpc php8.1-soap php8.1-intl php8.1-zip

Étape 4 : Télécharger WordPress

Suivez l'étape 6 de la méthode LAMP pour télécharger et installer WordPress.

Étape 5 : Configurer Nginx pour WordPress

# Créer un fichier de configuration pour votre site sudo nano /etc/nginx/sites-available/wordpress

Ajoutez la configuration suivante (remplacez votredomaine.com par votre domaine) :

server { listen 80; listen [::]:80; server_name votredomaine.com www.votredomaine.com; root /var/www/html; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } }

Activer le site :

# Créer un lien symbolique sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/ # Tester la configuration sudo nginx -t # Redémarrer Nginx sudo systemctl restart nginx

Étape 6 : Configurer WordPress

Suivez les étapes 7 et 9 de la méthode LAMP pour configurer WordPress.

🔒 Sécurisation de WordPress

1. Changer les permissions des fichiers

# Permissions pour les fichiers sudo find /var/www/html -type f -exec chmod 644 {} \; # Permissions pour les répertoires sudo find /var/www/html -type d -exec chmod 755 {} \; # Permissions spéciales pour wp-config.php sudo chmod 600 /var/www/html/wp-config.php

2. Installer un certificat SSL avec Let's Encrypt

# Installer Certbot sudo apt install -y certbot python3-certbot-apache # Pour Nginx : sudo apt install -y certbot python3-certbot-nginx # Obtenir un certificat SSL sudo certbot --apache -d votredomaine.com -d www.votredomaine.com # Pour Nginx : sudo certbot --nginx -d votredomaine.com -d www.votredomaine.com # Renouvellement automatique sudo certbot renew --dry-run

3. Configurer le pare-feu

# Autoriser HTTP et HTTPS sudo ufw allow 'Apache Full' # Pour Nginx : sudo ufw allow 'Nginx Full' # Ou manuellement sudo ufw allow 80/tcp sudo ufw allow 443/tcp

4. Limiter les tentatives de connexion

Installez un plugin de sécurité WordPress comme :

  • Wordfence Security
  • iThemes Security
  • Sucuri Security

5. Désactiver l'édition de fichiers via l'interface

Ajoutez dans wp-config.php :

define('DISALLOW_FILE_EDIT', true);

🔄 Mises à jour de WordPress

Via l'interface WordPress

  1. Connectez-vous à l'administration WordPress
  2. Allez dans Tableau de bordMises à jour
  3. Cliquez sur Mettre à jour maintenant

Via WP-CLI (ligne de commande)

# Installer WP-CLI curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp # Mettre à jour WordPress cd /var/www/html sudo -u www-data wp core update sudo -u www-data wp plugin update --all sudo -u www-data wp theme update --all

📦 Plugins recommandés

  • Yoast SEO : Optimisation pour les moteurs de recherche
  • Wordfence Security : Sécurité et protection
  • UpdraftPlus : Sauvegardes automatiques
  • W3 Total Cache : Mise en cache pour améliorer les performances
  • Contact Form 7 : Formulaires de contact

❓ Problèmes courants

Erreur "Error establishing a database connection"

Solutions :

  1. Vérifiez les identifiants dans wp-config.php
  2. Vérifiez que MySQL est démarré : sudo systemctl status mysql
  3. Testez la connexion : mysql -u wordpress_user -p wordpress_db

Erreur 404 sur les permaliens

Pour Apache :

# Vérifier que mod_rewrite est activé sudo a2enmod rewrite sudo systemctl restart apache2

Pour Nginx : Vérifiez que la configuration try_files est correcte.

Problèmes de permissions

# Corriger les permissions sudo chown -R www-data:www-data /var/www/html sudo find /var/www/html -type d -exec chmod 755 {} \; sudo find /var/www/html -type f -exec chmod 644 {} \;

📝 Commandes utiles

# Vérifier le statut des services sudo systemctl status apache2 # ou nginx sudo systemctl status mysql # Redémarrer les services sudo systemctl restart apache2 # ou nginx sudo systemctl restart mysql # Voir les logs Apache sudo tail -f /var/log/apache2/error.log # Voir les logs Nginx sudo tail -f /var/log/nginx/error.log # Voir les logs PHP-FPM sudo tail -f /var/log/php8.1-fpm.log

📞 Besoin d'aide ?

Si vous rencontrez des difficultés lors de l'installation de WordPress, n'hésitez pas à contacter le support Infrawire. Notre équipe est disponible pour vous aider.


Note : Pour une meilleure expérience WordPress avec support dédié, sauvegardes automatiques et optimisations pré-configurées, considérez notre hébergement web dédié à WordPress.