Le terme serveur web peut être utilisé pour désigner à la fois le matériel et le logiciel, ou les deux travaillant ensemble. Dans le cadre de ce guide, nous nous concentrerons sur le côté logiciel et verrons comment vous pouvez héberger un site Web sur votre boîte Linux.
A web server is a software program that receives and responds to client requests via the HTTP/HTTPS protocols. Its primary purpose is to display website content which, oftentimes, is in the form of text, images, and video.
A web server can either serve static or dynamic content. Static content, as the name infers, refers to content that hardly changes and is bound to remain the same. The server sends back content to the user’s browser as is.
Le contenu dynamique est un contenu qui change souvent ou est constamment mis à jour. Pour servir du contenu dynamique, un serveur web doit également fonctionner aux côtés d’un serveur de base de données et de langages de script côté serveur.
Ce guide démontrera comment configurer un serveur web Apache pour héberger un site Web sur votre système Linux gratuitement.
Table des matières
Exigences
Pour suivre ce guide, assurez-vous d’avoir les éléments suivants en place.
- A dedicated Public IP address can be obtained from your ISP.
- A Linux box, which can be a Linux server installation of your preferred OS variant. For this guide, we will use Debian 11.
Consultez quelques guides qui peuvent vous donner des informations sur l’installation d’un serveur Linux.
- Comment Installer un Serveur Minimal Debian 11 (Bullseye)
- Comment Installer un Serveur Minimal Debian 10 (Buster)
- Comment Installer le Serveur Ubuntu 20.04
- Comment Installer le Serveur Rocky Linux 9
- Comment Installer le Serveur AlmaLinux 9
- Comment Installer RHEL 9 Gratuitement
Vous avez également besoin d’un serveur LAMP installé, ce qui est un acronyme pour Linux, Apache et MySQL (cela peut aussi être MariaDB). Voici quelques guides sur l’installation de la pile LAMP sous Linux.
- Comment installer LAMP sur le serveur Debian 10
- Comment installer la pile LAMP dans Ubuntu 20.04
- Comment installer LAMP sur Rocky Linux 9/8
- Comment installer la pile LAMP dans AlmaLinux 9/8
- Comment installer LAMP sur RHEL 9/8
- Comment héberger un site Web sur un serveur Linux
Dans cette section, nous allons procéder et discuter des composants principaux d’un serveur Web.
Qu’est-ce que Apache?
Apache est un serveur web populaire, gratuit et open source, multiplateforme, qui est publié sous la licence Apache 2.0. C’est l’un des serveurs web les plus largement utilisés, représentant près de 32,2 % de la part de marché des serveurs web.
Pour vérifier la dernière version d’Apache disponible et si elle est installée sur votre serveur, exécutez la commande suivante :
# apt-cache policy apache2 (On Debian-based OS)
D’après la sortie, vous pouvez voir le paramètre Installé : (none), ce qui implique qu’il n’est pas encore installé. Vous obtenez également des informations sur la dernière version proposée par le dépôt Debian / Ubuntu, qui dans ce cas est 2.4.52.

Sur les distributions Red Hat modernes, vous pouvez vérifier la disponibilité d’Apache en utilisant la commande dnf comme suit.
# dnf search httpd

D’après la sortie ci-dessus, vous pouvez voir que le paquet Apache httpd est disponible en téléchargement. Si Apache n’est pas installé sur votre système, utilisez les gestionnaires de paquets ‘apt‘ ou ‘dnf‘ pour installer Apache comme indiqué.
Sur les systèmes basés sur Debian :
$ sudo apt install apache2 -y $ sudo systemctl start apache2 $ sudo systemctl enable apache2 $ sudo systemctl status apache2

Sur les systèmes basés sur Red Hat :
# dnf install httpd -y # systemctl start httpd # systemctl enable httpd # systemctl status httpd

Qu’est-ce que MariaDB ?
A fork of MySQL, MariaDB is one of the most popular and open-source relational database management systems. Nowadays, it’s preferred to MySQL due to its faster speeds in replication and performing queries as well as security and a vast array of storage engines.
Pour installer MariaDB, Sur les systèmes basés sur Debian :
$ sudo apt install mariadb-server mariadb-client -y $ sudo systemctl start mariadb $ sudo systemctl enable mariadb $ sudo systemctl status mariadb
La sortie suivante montre que MariaDB est installé et fonctionne comme prévu.

Pour installer MariaDB, Sur les systèmes basés sur RHEL :
# dnf install mariadb-server -y # systemctl start mariadb # systemctl enable mariadb # systemctl status mariadb

Qu’est-ce que PHP ?
PHP est un acronyme récursif pour PHP Hypertext Preprocessor, qui est un langage de script généraliste populaire principalement utilisé dans le développement web.
Pour installer PHP, Sur les systèmes basés sur Debian :
$ sudo apt update $ sudo apt upgrade $ sudo apt install ca-certificates apt-transport-https software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt update $ sudo apt install php8.0 libapache2-mod-php8.0
Pour installer PHP, Sur les systèmes basés sur RHEL, vous devez d’abord activer le dépôt EPEL.
$ sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm [RHEL 9] $ sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm [RHEL 8]
Ensuite, activez le dépôt Remi, qui offre la dernière version de PHP sur les systèmes basés sur RHEL.
$ sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm [RHEL 8] $ sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm [RHEL 8]
Une fois les dépôts EPEL et Remi activés sur le système, vous pouvez installer PHP comme indiqué.
# dnf module list php # dnf module enable php:remi-8.0 -y # dnf install php php-cli php-common
Avec tous les composants installés, vous pouvez maintenant créer votre site web à l’aide du CMS WordPress, qui est un logiciel facilitant le développement et la gestion d’un site web sans nécessairement avoir des connaissances en langages de conception web tels que HTML, CSS, PHP et Javascript.
Création d’un site Web simple à l’aide de WordPress sous Linux
Pour la démonstration, nous allons installer WordPress sur Debian 11 et RHEL 9 systèmes, ce qui fournira un site Web d’exemple qui peut être personnalisé selon vos préférences.
Cette section suppose que vous avez déjà installé la pile LAMP.
Étape 1: Installer des modules PHP supplémentaires
Pour continuer, installez des modules PHP supplémentaires requis par WordPress comme indiqué.
Pour installer PHP modules, Sur les systèmes basés sur Debian:
$ sudo apt install php libapache2-mod-php php-pear php-cgi php-common php-mbstring php-zip php-net-socket php-gd php-mysql php-bcmath
Pour installer PHP modules, Sur les systèmes basés sur RHEL:
# dnf install php-gd php-soap php-intl php-mysqlnd php-pdo php-bcmath php-curl php-zip php-xmlrpc wget
Étape 2: Créer une base de données pour WordPress
Écrit en PHP, WordPress est un système de gestion de contenu libre et open-source, piloté par les données. Une base de données est un composant essentiel de WordPress.
La base de données est utilisée pour stocker tous les articles de blog, pages, catégories, commentaires, thèmes, plugins ainsi que les fichiers de configuration WordPress.
Pour créer une base de données pour WordPress, connectez-vous au serveur de base de données MariaDB:
$ sudo mysql -u root -p
Ensuite, créez une base de données comme indiqué
CREATE DATABASE wordpress_db;
Ensuite, créez un utilisateur de base de données et attribuez tous les privilèges à l’utilisateur sur la base de données.
GRANT ALL PRIVILEGES ON wordpress_db.* to wordpress_user@localhost identified by 'P@ssword321';
Alors, enfin, rechargez les tables de grant pour enregistrer les modifications effectuées et quittez la base de données.
FLUSH PRIVILEGES; QUIT;
Étape 3: Télécharger WordPress
Avec la base de données en place, procédez et téléchargez le fichier tarball WordPress le plus récent en utilisant la commande wget.
$ wget https://wordpress.org/latest.tar.gz
Une fois téléchargé, extrayez le fichier compressé à l’aide de la commande tar.
$ tar -xvzf latest.tar.gz
La commande extrait le contenu du fichier dans un dossier appelé wordpress. Déplacez ou copiez le dossier dans le Document Root pour le serveur Apache.
$ sudo mv wordpress/ /var/www/html/
Ensuite, attribuez les droits d’accès et de propriété suivants.
$ sudo chmod 755 -R /var/www/html/wordpress/
$ sudo chown -R www-data:www-data /var/www/html/wordpress/
Étape 4: Créer un hôte virtuel Apache pour WordPress
Le terme hôte virtuel fait référence à la pratique de l’hébergement de plusieurs sites Web sur un seul serveur. Si vous avez l’intention d’héberger plusieurs sites Web sur un seul serveur, vous devez créer un hôte virtuel pour chaque site Web.
Dans ce cas, vous devez créer un hôte virtuel pour le site WordPress comme suit.
$ sudo nano /etc/apache2/sites-available/wordpress.conf [On Debian] # vi /etc/httpd/conf/httpd.conf [On RHEL]
Collez les lignes de code suivantes pour définir le virtual host. Pour la directive ServerName, fournissez l’adresse IP du serveur ou le nom de domaine pleinement qualifié, qui doit pointer vers l’adresse IP publique dédiée.
<VirtualHost *:80> ServerAdmin admin@your_domain.com DocumentRoot /var/www/html/wordpress ServerName 192.168.0.100 <Directory /var/www/html/wordpress> Options FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/your-domain.com_error.log CustomLog ${APACHE_LOG_DIR}/your-domain.com_access.log combined </VirtualHost>
Enregistrez les modifications et quittez le fichier.
Pour vous connecter à la base de données, des modifications supplémentaires sont nécessaires. Allez donc dans le dossier wordpress.
$ cd /var/www/html/wordpress/
Ensuite, mettez à jour le fichier wp-config.php avec le contenu du fichier wp-config-sample.php.
$ cp wp-config-sample.php wp-config.php $ sudo nano wp-config.php
Ensuite, mettez à jour le nom de la base de données, le nom d’utilisateur de la base de données et les directives de mot de passe avec les détails de la base de données.
Ensuite, activez le nouveau site WordPress comme suit sur les systèmes basés sur Debian.
$ sudo ln -s /etc/apache2/sites-available/wordpress.conf /etc/apache2/sites-enabled/wordpress.conf $ sudo a2ensite wordpress $ sudo a2enmod rewrite $ sudo a2dissite 000-default
Pour appliquer les modifications, redémarrez Apache.
$ sudo systemctl restart apache2 [On Debian] # systemctl restart httpd [On RHEL]
Étape 4: Configuration complète de WordPress sur un navigateur
Pour finaliser la configuration, accédez à l’adresse IP de votre serveur web comme indiqué:
http://server-ip
Vous devriez voir s’afficher la page de bienvenue de WordPress comme indiqué. Sélectionnez votre langue préférée et cliquez sur « Continuer« .

Ensuite, remplissez les détails du site.

Ensuite, cliquez sur « Installer WordPress » pour terminer la configuration de WordPress.

Si tout s’est bien passé, vous obtiendrez une confirmation que l’installation a réussi. Pour vous connecter, cliquez sur le bouton « Se connecter« .

Cela vous conduit au tableau de bord WordPress comme vous pouvez le voir. À ce stade, vous pouvez expérimenter avec différents thèmes pour améliorer l’apparence de votre site web d’exemple.

Étape 5 : Accéder à WordPress en utilisant le transfert de port
Étant donné que vous hébergez votre serveur web à partir d’un système Linux à domicile ou de votre réseau local (LAN), l’étape suivante consiste à le rendre accessible aux utilisateurs externes ou aux utilisateurs en dehors de votre réseau local (LAN). C’est là que le transfert de port intervient.
Le transfert de port, également appelé mappage de port, est une technique qui permet aux appareils externes d’accéder à des serveurs ou des ressources à l’intérieur d’un réseau privé via Internet. L’idée globale est d’accéder à des réseaux privés depuis l’extérieur, sans quoi cela serait impossible car les appareils externes ne peuvent pas communiquer avec les adresses IP internes.
Dans votre configuration, vous devez rediriger le port sur lequel le serveur web écoute (dans la plupart des cas, il s’agit du port 80 pour le trafic HTTP ou du 443 pour le HTTPS) ainsi que l’adresse IP privée statique du serveur web.
Connectez-vous donc à votre routeur et rendez-vous à la section de transfert de port. Dans notre exemple, nous utilisons le routeur DLink pour rediriger les ports du serveur web (80 et 443) et l’IP privée (192.168.0.100) vers l’IP publique dédiée attribuée par le FAI.
Dans votre cas, spécifiez les ports et l’IP privée du serveur web et enregistrez les modifications.

Pour enregistrer les modifications, il se peut que vous deviez redémarrer le routeur. Alors, allez-y et faites exactement cela.
Une fois que le renvoi de port est correctement effectué, vous pouvez désormais accéder à votre serveur web à l’extérieur de votre réseau via l’adresse IP publique.
Conclusion
Dans ce guide, nous avons démontré comment vous pouvez auto-héberger votre serveur web en utilisant Apache sur une machine Linux. Vos retours sur ce guide sont les bienvenus.