Comment mettre en place un serveur web Apache

Comment mettre en place un serveur web Apache

Qu'est-ce qu'un serveur web

Un serveur web (ou serveur HTTP Hypertext Transfer Protocol) est un logiciel qui permet de stocker et de fournir des ressources telles que des images, des textes ou bien encore des fichiers. Un serveur web peut être mis en place de 2 façons possibles, soit auto-héberger c'est à dire que vous faites le serveur web directement depuis chez vous avec votre ordinateur par exemple, cela signifie donc que vous dépendez uniquement de vous, ou bien depuis un hébergeur comme By-Hoster et dans ce cas-là, vous dépendez de l'hébergeur.

Les serveurs web peuvent être soit mis en place sur des réseaux public par internet donc accessible au grand publics, par exemple dans le cas où vous souhaitez mettre a disposition votre portfolio, soit sur des réseaux privés par intranet donc dans ce cas la uniquement accessible aux personnes qui ont accès a votre réseaux privé, cela est souvent utilisé par les entreprises pour partager diverses ressources confidentielles, ou bien entre amis. Il existe de nombreux logiciels de serveur web, tels que Nginx, Caddy, Haproxy, et Apache, qui est celui qui nous intéresse actuellement.

Qu'est-ce qu'Apache ?

Apache est un logiciel de serveur web HTTP open source, et est notamment l'un des serveurs web les plus fiables et le plus ancien datant de 1995, créé et développé par la Fondation Apache. Apache fonctionne aussi bien sur les systèmes d'exploitation Windows, MacOs et Linux.

Le fonctionnement d'Apache repose sur les requêtes client-serveur HTTP, c'est-à-dire que lorsqu'une personne souhaite accéder à votre site web comme un portfolio depuis un navigateur, le client (ici le navigateur) envoie les requêtes au serveur Apache, le serveur attend les requêtes du client, par la suite le serveur Apache lui répond en envoyant une réponse avec toutes les données de votre site web (images, textes, fichiers, etc...).

Dans cet article, nous vous proposons un guide détaillé pour installer et configurer manuellement un serveur web Apache2 sur Debian.

Prérequis

Système d'exploitation :

Une machine Windows ou Linux (dans notre exemple j'utiliserai une machine virtuelle sous Debian 12), avec les droits adéquats "root".

Pare-feu (facultatif) :

Le pare-feu UFW (uniquement installable sur les environnements Linux) installer et activer pour la gestion du trafic HTTP.

Mise en place du serveur apache2

Mise a jour du système

Avant d'installer apache, nous allons mettre à jours les paquets avec cette commande :

apt update && apt upgrade -y

Installation du pare-feu ufw (facultatif)

Pour cette étape, Vous n'êtes pas obligé de la faire. En revanche si vous le souhaitez, nous pouvons installer notre pare-feu ufw avant d'installer le serveur web apache2. UFW est spécialement conçu pour les environnements Linux et peut donc être installé en plus d'iptables.

Pour cela, installez le paquet ufw avec la commande :

apt install ufw -y

Pour activer ufw , exécutez cette commande :

ufw enable

Puis taper y pour valider.

Installation d'Apache2

Installez le paquet Apache2 avec cette commande :

apt install apache2 -y

Activez le service apache2 :

systemctl enable apache2 

Pour démarrer le service :

systemctl start apache2

Quelques commandes supplémentaires

Uniquement si vous en avez besoin, il est possible de vérifier que le service fonctionne correctement en exécutant la commande :

systemctl status apache2

Pour désactiver le service :

systemctl disable apache2

Pour arrêter le service apache :

systemctl stop apache2

Pour redémarrer le service Apache :

systemctl restart apache2

Configuration du pare-feu ufw (facultatif)

Pour la configuration du pare-feu, exécutez la commande ufw afin de vérifier la liste des profils d'applications disponibles :

ufw app list

Par la suite, une liste de profils d'applications apparaitra avec notamment le profil WWW WWW Secure et WWW Full.

Cela nous permettra d'activer entre autres les profils qui nous intéressent comme WWW, qui permettra d'autoriser uniquement le trafic HTTP (port 80) de notre serveur web apache :

ufw allow 'WWW'

Maintenant pour vérifier que le profil d'application WWW est bien autorisé pour le trafic entrant, vous pouvez exécuter la commande :

ufw status

ATTENTION ! Si vous êtes connectez en ssh, n'oubliez pas d'activer également le profil d'application OpenSSH . Pour cela vous devriez exécuter la commande : ufw allow 'ssh' .

Pour désactiver le pare-feu, vous pouvez exécutez cette commande :

ufw disable

Test de l'installation d'Apache2

Pour vérifier que l'installation s'est faite avec succès, vous pouvez taper l'adresse IP de votre serveur apache en faisant ip -br a :

root@bookworm:~# ip -br a
lo               UNKNOWN        127.0.0.1/8 ::1/128
enp0s3           UP             192.168.1.84/24
root@bookworm:~#

Puis si tout cela fonctionne correctement, vous pourrez apercevoir la page d'accueil par défaut d'apache en allant sur votre navigateur internet tel que Chrome en y renseignant l'adresse IP de votre serveur :

Configuration de l'hôte virtuel

Pour la configuration du serveur web apache2, nous allons créer un nouveau fichier de configuration dans le répertoire /var/www/ . Dans ce répertoire, il y a un fichier "index.html" qui est le fichier de configuration par défaut. Dans notre cas, nous allons créer une structure propre à elle-même depuis /var/www/, par exemple en créant le répertoire "makeinlab" :

mkdir /var/www/makeinlab

Par la suite, nous allons attribuer les droits aux fichiers en tant que root avec :

sudo chown -R $USER:$USER /var/www/makeinlab

Ensuite, nous allons créer une nouvelle page pour notre site web en créant un nouveau fichier index.html :

nano /var/www/makeinlab/index.html

Puis, dans cet exemple, ajoutez-y le contenu suivant :

<html>
<head>
    <title>Bienvenue sur votre nouveau domaine !</title>
</head>
<body>
    <h1>Bienvenue sur makeinlab !</h1>
    <p>Votre domaine make in lab fonctionne à la perfection !</p>
</body>
</html>

Maintenant, nous allons créer un fichier de configuration unique, ce fichier sera dans le répertoire /etc/apache2/sites-available/ .

Pour cela, lancer la commande :

nano /etc/apache2/sites-available/makeinlab.conf

Une fois dans le fichier, ajoutez-y le contenu suivant :

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName votre_nom_de_domaine
    ServerAlias www.votre_nom_de_domaine
    DocumentRoot /var/www/votre_nom_de_dossier
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Remplacez votre_nom_de_domaine par votre nom de domaine si vous en avez un, ou l'adresse IP de votre serveur.
Pour DocumentRoot, remplacez votre_nom_de_dossier par le nom du dossier que nous avons précédemment configuré dans /var/html/ .

Ensuite nous allons activez le site avec cette commande :

a2ensite makeinlab.conf

Et nous redémarrons le service d'apache2 avec :

systemctl restart apache2

Voila ! Une fois cela fait, vous pouvez revenir sur votre navigateur internet, puis rafraîchissez la page web. Nous pouvons apercevoir ceci :

Conclusion

Maintenant que vous savez installer et configurer un serveur web de A à Z, vous pouvez par la suite mettre en place divers projets, tels que votre portfolio, un serveur de jeu et bien d'autres choses !


Pour nous aider à nous améliorer, n'hésitez pas à faire part de vos avis en commentaires ou même à poser vos questions si vous avez besoin d'aide supplémentaire.

Vous pouvez également partager cet article et nous suivre sur Twitter/X :

x.com

ainsi que sur Instagram :

Makeinlab (@ma.in.lab) • Instagram photos and videos
6 Followers, 5 Following, 12 Posts - See Instagram photos and videos from Makeinlab (@ma.in.lab)

Lire plus