Déployer Wordpress

Procédure de déploiement WordPress

1. Déployer le code

  • Option A : Git
    1. Cloner (ou pull) le dépôt sur le serveur de production.
    2. Vérifier que les sous‑modules éventuels sont à jour (git submodule update --init --recursive).
  • Option B : FTP/SFTP
    1. Compresser les sources localement.
    2. Uploader l’archive et l’extraire côté serveur.

2. Migrer la base de données

  1. Exporter la base depuis l’environnement source :
    mysqldump -u <user> -p <db_source> | gzip > dump.sql.gz
    
  2. Importer sur la nouvelle prod :
    gunzip < dump.sql.gz | mysql -u <user> -p <db_target>
    
  3. Mettre à jour les URLs (ancien → nouveau domaine) :
    wp search-replace 'https://ancien‑site.tld' 'https://nouveau‑site.tld' --all-tables
    
  4. Connexion directe au conteneur DB si besoin :
    mysql -h localhost -P 3006 -u exampleuser -p --protocol=tcp
    

3. Adapter wp-config.php derrière un proxy

À placer après la définition des clefs et avant le chargement de WordPress :

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}
$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'] ?? $_SERVER['HTTP_HOST'];

4. Post‑déploiement

  • Régénérer les assets (CSS/JS) via l’interface d’administration si nécessaire.
  • Appliquer les permissions correctes (possible d'adapter le docker-compose.yml):
    chown -R www-data:www-data /var/www/html
    
  • Vider les caches éventuels (plugin de cache, CDN, etc.).