Installer et gérer WordPress avec WP-CLI, WPScan et les outils de support
Installer et gérer WordPress avec WP-CLI, WPScan et des outils d'assistance
Cet article explique comment installer WordPress 6.7 via WP-CLI 2.11, le sécuriser avec WPScan et l'assister avec des outils comme Poedit, Pinegrow et ThiefMD. Il est destiné aux développeurs et aux administrateurs système qui font tourner WordPress dans un environnement de production.
Prérequis
- Un serveur avec PHP 8.1 ou supérieur et MySQL 8.0 ou MariaDB 10.5 - WP-CLI 2.11 ou supérieur — vérifiez avec `wp --version` - Un accès SSH au serveur - Un domaine qui pointe vers le serveur - WPScan 3.8.22 ou supérieur (optionnel, pour les scans de sécurité) - Poedit 3.4, Pinegrow 6.5 ou ThiefMD 0.3 (optionnel, selon votre flux de travail)
Étapes
1. Télécharger WordPress avec WP-CLI
Naviguez vers la racine web et téléchargez les derniers fichiers principaux de WordPress :
cd /var/www/html
wp core download --version=6.7 --locale=nl_NLCette commande récupère WordPress 6.7 avec les fichiers de langue néerlandaise. Sans `--locale`, vous obtenez la version anglaise par défaut.
2. Créer le fichier de configuration
Générez `wp-config.php` avec les données de la base de données :
wp config create --dbname=wordpress_db --dbuser=wp_user --dbpass=sterkWachtwoord --dbhost=localhost --dbprefix=wp_ --locale=nl_NLWP-CLI remplit automatiquement le fichier avec les salts et les clés appropriés. Conservez les données de la base de données en lieu sûr.
3. Effectuer l'installation
Installez WordPress avec les données du site :
wp core install --url=https://jouwdomein.nl --title="Mijn Site" --admin_user=admin --admin_password=sterkAdminWachtwoord --admin_email=admin@jouwdomein.nlCette étape crée les tables de la base de données et configure le compte administrateur. Utilisez un mot de passe fort — les mots de passe administrateur faibles sont la principale voie d'accès pour les attaquants.
4. Installer et activer les extensions
Ajoutez les extensions dont vous avez besoin :
wp plugin install wordpress-seo --activate
wp plugin install woocommerce --activate
wp plugin install wordfence --activate
wp plugin install contact-form-7 --activateAvec `wp plugin install`, vous pouvez installer n'importe quelle extension depuis le référentiel WordPress. Le drapeau `--activate` active l'extension immédiatement après l'installation.
5. Configurer les permaliens
Définissez une structure d'URL conviviale pour le référencement :
wp rewrite structure '/%postname%/' --hard
wp rewrite flushLa première commande définit la structure des permaliens, la seconde réécrit les règles de réécriture. Cela évite les erreurs 404 sur les articles et les pages individuelles.
6. Scanner le site pour les vulnérabilités avec WPScan
Effectuez un scan de sécurité :
wpscan --url https://jouwdomein.nl --api-token=JOUW_WPSCAN_API_TOKEN
Sans jeton API, WPScan fonctionne de manière limitée. Vous obtenez le jeton gratuit en créant un compte sur wpscan.com. Le scan vérifie les extensions obsolètes, les thèmes vulnérables et les mots de passe faibles.
7. Scanner discrètement avec le mode furtif
Pour les sites de production, un scan visible est risqué. Utilisez l'option furtive :
wpscan --url https://jouwdomein.nl --stealthy --api-token=JOUW_WPSCAN_API_TOKEN
Le drapeau `--stealthy` combine des agents utilisateurs aléatoires et une détection passive. Cela rend le scan moins visible dans les journaux du serveur du site cible.
8. Mettre en place un calendrier de maintenance
Automatisez les mises à jour et les scans avec cron :
crontab -e
Ajoutez ces lignes :
0 3 <em> </em> * wp core update --path=/var/www/html
0 4 <em> </em> 0 wpscan --url https://jouwdomein.nl --stealthy --api-token=JOUW_WPSCAN_API_TOKEN >> /var/log/wpscan.logLa première ligne exécute une mise à jour de WordPress tous les jours à 03h00. La seconde scanne chaque semaine le dimanche à 04h00. Le journal se trouve dans `/var/log/wpscan.log`.
Vérification
Vérifiez que l'installation fonctionne :
wp core check-update
wp plugin list --status=active
wpscan --url https://jouwdomein.nl --api-token=JOUW_WPSCAN_API_TOKEN --format=cliLa première commande indique si WordPress est à jour. La seconde liste les extensions actives. La troisième confirme que le scan de sécurité fonctionne.
Ensuite, visitez `https://jouwdomein.nl/wp-admin` et connectez-vous avec le compte administrateur que vous avez créé à l'étape 3.
Problèmes fréquents
1. « Error establishing a database connection »
Cause : des données de base de données incorrectes dans `wp-config.php`. Résolvez ceci :
wp config set DB_PASSWORD 'nieuwWachtwoord'
Vérifiez ensuite si la base de données elle-même est accessible :
mysql -u wp_user -p -h localhost wordpress_db
2. WPScan indique « API token required »
Cause : vous utilisez WPScan sans jeton. Créez un compte gratuit sur wpscan.com et collez le jeton dans la commande. Sans jeton, WPScan ne scanne qu'un ensemble limité de vulnérabilités.
3. Les permaliens donnent des erreurs 404 après l'installation
Cause : la configuration Apache ou Nginx n'autorise pas la réécriture des URL. Pour Apache :
a2enmod rewrite
systemctl restart apache2Pour Nginx, ajoutez ceci au bloc serveur :
location / {
try_files $uri $uri/ /index.php?$args;
}Traductions avec Poedit
Pour les sites WordPress multilingues, vous utilisez Poedit 3.4 pour modifier les fichiers PO. Les fichiers PO contiennent les traductions des thèmes et des plugins. Poedit lit le texte source dans les fichiers PHP, affiche les traductions dans une liste et réécrit les traductions dans les fichiers MO que WordPress lit. Le programme prend également en charge XLIFF, le format d'échange pour les logiciels de traduction. Poedit est développé par Václav Slavík et est distribué sous licence MIT — vous êtes libre de l'utiliser et de le distribuer, y compris dans des projets commerciaux, à condition de conserver la mention de l'auteur d'origine.
Développement visuel avec Pinegrow
Pinegrow 6.5 est un éditeur visuel pour HTML, CSS, SASS et des frameworks comme Bootstrap 5 et Tailwind CSS. Vous faites glisser des éléments sur le canevas, modifiez les propriétés dans le panneau latéral et travaillez directement avec des fichiers web standard. Vous exportez le résultat comme thème pour WordPress. Pinegrow n'écrit pas son propre format de fichier — vous travaillez avec les mêmes fichiers que ceux que vous placerez ensuite sur le serveur.
Publications Markdown avec ThiefMD
Pour les auteurs qui écrivent en Markdown, ThiefMD 0.3 est une option. L'outil organise les textes longs comme les livres et les scripts et exporte vers ePub, PDF, HTML et les documents Office. ThiefMD publie directement vers WordPress via l'API REST. Vous n'avez pas besoin d'ouvrir l'éditeur WordPress — vous écrivez localement et publiez avec une seule commande.
Licences et aspects juridiques
WordPress est distribué sous la GNU General Public License (GPL) version 2 ou ultérieure. Cette licence donne à chacun le droit d'utiliser, de modifier et de distribuer le code source. La condition est que les versions modifiées soient également publiées sous la même licence GPL. Cela s'applique aussi aux thèmes et aux plugins que vous développez et distribuez vous-même — ils doivent être compatibles GPL. Cela ne signifie pas que vous devez donner votre travail gratuitement, mais le code doit rester disponible sous GPL pour les autres.
Ces conditions de licence déterminent également comment vous utilisez des outils comme Poedit, Pinegrow et ThiefMD. Poedit est sous licence MIT et libre d'utilisation. Pinegrow est un logiciel commercial avec une licence payante. ThiefMD est sous licence GPL. Vérifiez toujours les conditions de licence des outils que vous intégrez à votre flux de travail — une mauvaise hypothèse sur les licences peut entraîner des problèmes juridiques.
Recommandations de sécurité pour la production
Un site WordPress en production exige plus qu'une simple analyse. Changez le préfixe de la base de données de `wp_` vers quelque chose d'aléatoire :
wp config set table_prefix 'x9k2m_'
Supprimez l'utilisateur admin et créez un nouvel utilisateur avec un nom unique :
wp user create redactie redactie@jouwdomein.nl --role=administrator --user_pass=sterkWachtwoord
wp user delete 1 --reassign=2Limitez le nombre de tentatives de connexion :
wp plugin install limit-login-attempts-reloaded --activate
Ce plugin bloque les adresses IP après un nombre configurable d'échecs de connexion. Combinez cela avec un pare-feu au niveau du serveur pour une défense en profondeur.
La question n'est pas de savoir si votre site WordPress sera attaqué, mais quand — et si vous avez installé les outils pour détecter l'attaque avant qu'il ne soit trop tard.