111 lines
4.1 KiB
Markdown
111 lines
4.1 KiB
Markdown
# 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)
|