Ce projet est réalisé dans un environnement de lab — les versions, plugins et procédures présentés peuvent évoluer avec les mises à jour de WordPress et de ses dépendances.

</Pourquoi>

Une petite entreprise souhaite rendre son image plus professionnelle. Je décide donc la mise en place d'un site internet utilisant WordPress qui permettra à l'entreprise de fournir du contenu à jour sans connaissances techniques en système d'information.

Objectifs du projet :

  • Objectif principal : Développer l'image en ligne de l'entreprise.
  • Objectifs secondaires :
    • Améliorer la visibilité sur les moteurs de recherche.
    • Établir un système de feedback pour les utilisateurs.

Méthodologie

  • Besoins du client : Site facile d'accès et professionnel, gérable en autonomie sans connaissances techniques avancées.
  • Budget : Infrastructure sur un serveur déjà acheté, budget très limité.

</Mes choix>

Choix de WordPress

  • Facilité d'accès : Interface utilisateur intuitive, navigation et gestion du contenu simplifiées.
  • Documentation fournie : Richesse de la documentation pour résoudre rapidement les problèmes.
  • Popularité : Plateforme la plus utilisée au monde — nombreuses ressources et forums disponibles.
  • Faible formation requise : Courbe d'apprentissage moins abrupte, idéal pour des utilisateurs aux connaissances limitées.

Considérations de sécurité

  • Risques de sécurité : Vigilance indispensable lors de l'installation de plugins provenant de sources non fiables.

Technologies utilisées

🐧 Debian

Debian 13 CLI — système léger, stable, accès SSH.

🌐 Apache2

Serveur web HTTP/HTTPS. Gestion des VirtualHosts, modules SSL et redirection 80→443.

🗄 MariaDB

Remplaçant de MySQL. Héberge la base de données WordPress avec utilisateur dédié WPadmin.

⚙ PHP / PHP-MySQL

Moteur de rendu des pages dynamiques. PHP-MySQL assure le lien avec MariaDB.

🔒 OpenSSL

Génération clé RSA-2048, certificat autosigné 365 jours et CSR pour le HTTPS.

🌍 WordPress

CMS open-source. Installation via wget/zip dans /var/www/html/, config navigateur.

</Procédure>

1) Configuration réseau (IP statique)

allow-hotplug ens32
iface ens32 inet static
  address 192.168.1.10/24
  gateway 192.168.1.2
  dns-nameserver 1.1.1.1
Configuration IP statique
Configuration IP statique détail

2) Installation des dépendances LAMP

apt install apache2 mariadb-server php php-mysql wget zip -y
Installation dépendances
Installation dépendances 2
Installation dépendances 3

3) Installation de WordPress

cd /tmp && wget https://wordpress.org/latest.zip
rm /var/www/html/index.html
unzip latest.zip -d /var/www/html
cd /var/www/html
mv wordpress/* /var/www/html/ && rm wordpress/ -Rf
chown -R www-data:www-data /var/www/html/
Installation WordPress
Installation WordPress 2
Installation WordPress 3

4) Configuration de la base de données

CREATE DATABASE WordPress;
CREATE USER 'WPadmin'@'localhost' IDENTIFIED BY 'P@ssw0rd';
GRANT ALL PRIVILEGES ON WPadmin.* TO WPadmin@localhost;
FLUSH PRIVILEGES;
Configuration base de données
Configuration base de données 2
Configuration base de données 3

5) Configuration HTTPS (OpenSSL)

openssl genrsa -aes128 2048 > entreprise.key
openssl req -utf8 -new -key entreprise.key -out entreprise.csr
openssl x509 -in entreprise.csr -out entreprise.crt -req -signkey entreprise.key -days 365
a2enmod ssl && a2ensite default-ssl && systemctl restart apache2
Configuration HTTPS
Configuration HTTPS 2
Configuration HTTPS 3
Configuration HTTPS 4

6) Redirection HTTPS (désactiver HTTP)

a2dissite 000-default.conf
systemctl reload apache2
Redirection HTTPS
Redirection HTTPS 2
Redirection HTTPS 3

</Résultats>

Livrable 1 — Panneau de configuration WordPress

Panneau WordPress

Figure 1 — Tableau de bord WordPress

Livrable 2 — Page Web déployée

Page web entreprise

Figure 2 — Site web entreprise en ligne

Analyse des résultats :
Nous obtenons finalement un site web facilement configurable via le panneau de configuration WordPress.


Problème rencontré

  • SSL_ERROR_RX_RECORD_TOO_LONG — Configuration SSL placée dans /var/www/html/.htaccess au lieu de /etc/apache2/sites-available/default-ssl.conf.
    Leçon : la flexibilité et l'adaptabilité sont cruciales. Toujours vérifier le bon fichier de configuration.

Conclusion

L'intégration de WordPress s'est bien passée. À l'avenir :

  • Renforcer la sécurité en cachant la page d'accès administrateur.
  • Mettre en place de la redondance avec un load-balancing.
  • Déployer un serveur de backup externe (protection ransomware).
  • Mettre en place un pare-feu pour sécuriser les trafics entrants et sortants.

</Annexes>

Identifiants de connexion

ServiceIdentifiantMot de passe
LinuxrootP@ssw0rd
LinuxsofianeP@ssw0rd
WordPressWordPressP@ssw0rd
SQLWPadminP@ssw0rd
SSL passphraseentreprise
SSLP@ssw0rd
⚠ Identifiants de laboratoire uniquement — à changer impérativement en production.

Installation Debian & paquets SSH

Installation Debian SSH

Configuration IP statique

IP statique

Paquets de dépendances LAMP

Paquets LAMP

— Fin du document —