# WordPress ## Installer ### Prérequis : pile LAMP Avant d'installer WordPress, il faut disposer d'une pile LAMP fonctionnelle (Linux, Apache, MySQL/MariaDB, PHP). Si ce n'est pas encore fait, suivre le guide d'installation d'Apache2 avec PHP et MySQL/MariaDB. À titre de rappel, voici les paquets minimaux à installer sur Ubuntu/Debian : ```bash sudo apt update sudo apt install apache2 mariadb-server php libapache2-mod-php \ php-mysql php-curl php-gd php-mbstring php-xml php-zip \ php-intl php-imagick -y ``` WordPress requiert au minimum **PHP 7.4**, mais PHP 8.1+ est recommandé en 2026, ainsi que MySQL 5.7+ ou MariaDB 10.4+. ### Téléchargement de WordPress On télécharge l'archive directement depuis le site officiel avec `wget`. Pour la version française : ```bash wget https://fr.wordpress.org/latest-fr_FR.tar.gz ``` > Pour la version internationale (anglaise), l'URL est `https://wordpress.org/latest.tar.gz`. ### Décompression et mise en place WordPress est distribué dans une archive **tar.gz**, qu'il faut décompresser dans le répertoire web (par défaut `/var/www/html` sous Ubuntu/Debian) : ```bash cd /var/www/html sudo tar -xzvf ~/latest-fr_FR.tar.gz sudo rm ~/latest-fr_FR.tar.gz ``` Selon la préférence, on peut : - garder le dossier `wordpress/` (le site sera alors accessible via `http://serveur/wordpress`) ; - ou déplacer le contenu à la racine du `DocumentRoot` : ```bash sudo mv wordpress/* . sudo mv wordpress/.* . 2>/dev/null # fichiers cachés éventuels sudo rmdir wordpress ``` ### Permissions C'est l'étape la plus souvent bâclée et qui pose le plus de problèmes ensuite (mises à jour, upload de médias, plugins). Apache tourne sous l'utilisateur `www-data` : il faut donc lui donner la propriété des fichiers WordPress. ```bash 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 {} \; ``` La règle générale : **755 pour les dossiers, 644 pour les fichiers**. Le fichier `wp-config.php` peut être encore plus restrictif (`640` ou `600`) une fois la configuration terminée. **Éviter absolument `chmod 777`** sur le contenu d'un site exposé à Internet. ### Base de données Avant de lancer l'installeur web, créer une base et un utilisateur dédiés (jamais utiliser le compte `root` de MySQL pour WordPress) : ```bash sudo mysql -u root ``` ```sql CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'mot_de_passe_solide'; GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost'; FLUSH PRIVILEGES; EXIT; ``` ### Configuration d'Apache Activer le module `rewrite` (indispensable pour les permaliens) et redémarrer Apache : ```bash sudo a2enmod rewrite sudo systemctl restart apache2 ``` S'assurer également que la directive `AllowOverride All` est bien positionnée sur le `DocumentRoot` dans le VirtualHost, sans quoi le `.htaccess` de WordPress sera ignoré. ### Finalisation Il reste à ouvrir le navigateur sur `http://adresse_du_serveur/` (ou `/wordpress` selon le choix précédent) et à suivre l'assistant web : saisie des identifiants de la base, choix du nom du site, création du compte admin (éviter `admin` comme nom d'utilisateur), mot de passe fort. ### Et après : HTTPS Pour la production, configurer HTTPS avec **Let's Encrypt** via Certbot est désormais le standard : ```bash sudo apt install certbot python3-certbot-apache -y sudo certbot --apache -d exemple.com -d www.exemple.com ``` Le renouvellement est automatique. ### Ressources - Documentation officielle : [wordpress.org/documentation](https://wordpress.org/documentation/) (l'ancien Codex est déprécié) - Tutoriel officiel Ubuntu : [ubuntu.com/tutorials/install-and-configure-wordpress](https://ubuntu.com/tutorials/install-and-configure-wordpress) - Permissions de fichiers sous Linux : [Hardening WordPress – wordpress.org](https://wordpress.org/documentation/article/hardening-wordpress/) - Documentation Debian/Ubuntu francophone : [doc.ubuntu-fr.org/lamp](https://doc.ubuntu-fr.org/lamp)