Installer WordPress sur VPS
Ce guide déploie WordPress sur un VPS Linux HolyCloud avec Nginx, MariaDB et PHP-FPM. WP-CLI accélère l'installation et les mises à jour en ligne de commande.
Prérequis
- VPS HolyCloud (2 Go RAM minimum recommandé)
- Nom de domaine pointant vers l'IP du VPS (
Arecord) - Ubuntu 22.04/24.04 ou Debian 12, accès
sudo - Ports 80 et 443 ouverts (UFW + panel HolyCloud)
Conseil : créez un snapshot HolyCloud avant la mise en production.
Étape 1 : paquets de base
sudo apt update
sudo apt upgrade -y
sudo apt install -y nginx mariadb-server php8.3-fpm php8.3-mysql php8.3-xml php8.3-curl \
php8.3-mbstring php8.3-zip php8.3-gd php8.3-intl certbot python3-certbot-nginx
Si PHP 8.3 n'est pas disponible, ajoutez le dépôt Sury/ondrej (voir le guide PHP/Composer) puis relancez apt install.
Étape 2 : sécuriser MariaDB
sudo mysql_secure_installation
Créez la base et l'utilisateur WordPress :
sudo mysql <<'EOF'
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'MotDePasseBDDFort!';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EOF
Étape 3 : télécharger WordPress
cd /tmp
curl -LO https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz -C /var/www/
sudo chown -R www-data:www-data /var/www/wordpress
sudo find /var/www/wordpress -type d -exec chmod 755 {} \;
sudo find /var/www/wordpress -type f -exec chmod 644 {} \;
Configurez wp-config.php :
cd /var/www/wordpress
sudo -u www-data cp wp-config-sample.php wp-config.php
sudo -u www-data sed -i "s/database_name_here/wordpress/" wp-config.php
sudo -u www-data sed -i "s/username_here/wpuser/" wp-config.php
sudo -u www-data sed -i "s/password_here/MotDePasseBDDFort!/" wp-config.php
Clés de sécurité (générez sur https://api.wordpress.org/secret-key/1.1/salt/) :
curl -s https://api.wordpress.org/secret-key/1.1/salt/ | sudo -u www-data tee /tmp/salts.txt
# Insérez le contenu dans wp-config.php à la place des define('AUTH_KEY'...)
Étape 4 : virtual host Nginx
sudo nano /etc/nginx/sites-available/wordpress
server {
listen 80;
server_name blog.example.com;
root /var/www/wordpress;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires max;
log_not_found off;
}
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; }
}
Activez le site :
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Certificat Let's Encrypt :
sudo certbot --nginx -d blog.example.com
Étape 5 : WP-CLI (optionnel)
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
wp --info
Installation complète en CLI :
cd /var/www/wordpress
sudo -u www-data wp core install \
--url="https://blog.example.com" \
--title="Mon site HolyCloud" \
--admin_user="admin" \
--admin_password="MotDePasseAdminFort!" \
--admin_email="[email protected]"
Mises à jour :
sudo -u www-data wp core update
sudo -u www-data wp plugin update --all
Étape 6 : durcissement rapide
sudo -u www-data wp config set DISALLOW_FILE_EDIT true --raw
sudo apt install -y fail2ban
Permissions uploads :
sudo -u www-data mkdir -p /var/www/wordpress/wp-content/uploads
Vérification
- Ouvrez
https://blog.example.com— assistant ou site installé sudo -u www-data wp option get siteurl(avec WP-CLI)sudo systemctl status nginx mariadb php8.3-fpm
Besoin d'aide ?
Le support HolyCloud aide sur la connectivité et le VPS ; le thème/plugins WordPress restent côté éditeur.