Aucun résumé des modifications
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
= <span style="color:#1f618d;">Installation et Configuration Apache HTTPD</span> =
= <span style="color:#b9770e;">Installation et Configuration Apache HTTPD</span> =


{| style="width:100%; background:#eef6fb; border:1px solid #aed6f1; padding:15px; border-radius:10px; overflow:hidden;"
{| style="width:100%; background:#fff6e6; border:1px solid #f1d6a8; padding:15px; border-radius:10px; overflow:hidden;"
|
|
<span style="font-size:115%; color:#1f618d;">
<span style="font-size:115%; color:#b9770e;">
Cette section décrit l’installation et la configuration d’un serveur web Apache (HTTPD) avec SSL sur votre serveur.
Cette section décrit l’installation et la configuration complète d’un serveur web Apache (HTTPD) avec SSL.
Elle permet de rendre votre serveur accessible sur le réseau et d’héberger des pages web.
</span>
</span>
|}
|}
Ligne 10 : Ligne 11 :
__TOC__
__TOC__


= <span style="color:#154360;">1 — Installation et Configuration Apache</span> =
= <span style="color:#935116;">1 — Installation et Configuration Apache</span> =


{| style="width:100%; background:#ebf5fb; border:1px solid #d4e6f1; padding:12px; border-radius:10px; overflow:hidden;"
{| style="width:100%; background:#fff8ec; border:1px solid #f5cba7; padding:12px; border-radius:10px; overflow:hidden;"
|
|
<b style="color:#154360;">Installation et configuration du serveur web Apache HTTPD</b>
<b style="color:#935116;">Installation et configuration du serveur web Apache HTTPD</b>
|}
|}
 
== <span style="color:#ca6f1e;">Installation des packages</span> ==


== <span style="color:#21618c;">Installation des packages</span> ==
Installation du serveur Apache ainsi que du module SSL pour HTTPS :


<pre>
<pre>
Ligne 23 : Ligne 26 :
</pre>
</pre>


== <span style="color:#21618c;">Configuration du serveur</span> ==
Vérifier que l’installation s’est bien déroulée :


Tout d’abord, il faut paramétrer le nom de la machine ainsi que l’adresse d’écoute.
<pre>
rpm -qa | grep httpd
</pre>


Pour cela modifier dans le fichier :
---
 
== <span style="color:#ca6f1e;">Configuration du serveur</span> ==
 
Tout d’abord, il faut paramétrer le nom de la machine ainsi que l’adresse d’écoute du serveur web.
 
Modifier le fichier :


<b>/etc/httpd/conf/httpd.conf</b>
<b>/etc/httpd/conf/httpd.conf</b>


Les lignes commençant par :
Chercher les lignes suivantes :


<pre>
<pre>
Ligne 40 : Ligne 51 :
Instructions :
Instructions :


* Décommenter la seconde ligne
* Décommenter la ligne <b>ServerName</b>
* Nommer correctement le serveur en lien avec votre configuration réseau (/etc/sysconfig/network)
* Adapter le nom en fonction de votre configuration réseau (/etc/sysconfig/network)
* Définir l’écoute sur toutes les interfaces


Configuration finale :
Configuration finale :
Ligne 50 : Ligne 62 :
</pre>
</pre>


== <span style="color:#21618c;">Démarrage du service HTTPD</span> ==
---


Démarrage du service :
== <span style="color:#ca6f1e;">Démarrage du service HTTPD</span> ==
 
Démarrage du service Apache :


<pre>
<pre>
Ligne 58 : Ligne 72 :
</pre>
</pre>


Création du lien symbolique (si aucune erreur tout fonctionne correctement) :
Activation automatique au démarrage du système (création du lien symbolique) :


<pre>
<pre>
Ligne 64 : Ligne 78 :
</pre>
</pre>


== <span style="color:#21618c;">Vérification du service</span> ==
---
 
== <span style="color:#ca6f1e;">Vérification du service</span> ==


Vérifier que le service fonctionne correctement :
Vérifier que le service fonctionne correctement :
Ligne 72 : Ligne 88 :
</pre>
</pre>


Si le service fonctionne correctement, deux lignes apparaissent (ports 80 et 443 en écoute).
Si Apache fonctionne correctement, les ports **80 (HTTP)** et **443 (HTTPS)** doivent apparaître en écoute.
 
---


== <span style="color:#21618c;">Ouverture des ports dans iptables</span> ==
== <span style="color:#ca6f1e;">Ouverture des ports dans iptables</span> ==


Dans iptables ouvrir les ports 80 et 443 pour permettre le bon fonctionnement de votre futur site.   
Pour rendre votre site accessible depuis le réseau, il est nécessaire d’ouvrir les ports 80 et 443.   
Sans cela vous aurez une erreur de connexion refusée.
Sans cette étape, votre navigateur affichera une erreur de connexion refusée.
 
Modifier :


<pre>
<pre>
Ligne 83 : Ligne 103 :
</pre>
</pre>


Ajouter ces deux lignes :
Ajouter les règles suivantes :


<pre>
<pre>
Ligne 90 : Ligne 110 :
</pre>
</pre>


Puis recharger la configuration :
Appliquer les changements :


<pre>
<pre>
Ligne 96 : Ligne 116 :
</pre>
</pre>


Vérifier que les règles sont bien ajoutées :
Vérifier les règles :


<pre>
<pre>
Ligne 102 : Ligne 122 :
</pre>
</pre>


== <span style="color:#21618c;">Résultat attendu</span> ==
---


Les lignes correspondant aux ports TCP 80 et 443 doivent apparaître.
== <span style="color:#ca6f1e;">Résultat attendu</span> ==
 
Après vérification, vous devez voir apparaître les règles pour les ports HTTP et HTTPS.
 
⚠️ <b>IMPORTANT : les 2 lignes en rouge ci-dessous doivent absolument être visibles.</b> 
Ce sont elles qui autorisent l’accès au serveur web.


<pre>
<pre>
Chain INPUT
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
  pkts bytes target prot opt in out source destination
  pkts bytes target     prot opt in     out     source               destination        
   81  5840 ACCEPT all  --  * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
   81  5840 ACCEPT     all  --  *     *       0.0.0.0/0           0.0.0.0/0           state RELATED,ESTABLISHED
</pre>
<span style="color:#c0392b; font-weight:bold;">    0    0 ACCEPT    tcp  --  *      *      0.0.0.0/0            0.0.0.0/0            tcp dpt:80</span>
<span style="color:#c0392b; font-weight:bold;">    0    0 ACCEPT    tcp  --  *      *      0.0.0.0/0            0.0.0.0/0            tcp dpt:443</span>
    0    0 ACCEPT    icmp --  *      *      0.0.0.0/0            0.0.0.0/0         
    0    0 ACCEPT    all  --  lo    *      0.0.0.0/0            0.0.0.0/0         
    0    0 ACCEPT    tcp  --  *      *      0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
    0    0 REJECT    all  --  *      *      0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited


<div style="background:#fff3cd; padding:8px; border-radius:6px; border:1px solid #f7dc6f; font-family:monospace;">
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
0    0 ACCEPT tcp --  * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
pkts bytes target    prot opt in    out    source              destination       
</div>
    0    0 REJECT    all --  *     *       0.0.0.0/0           0.0.0.0/0           reject-with icmp-host-prohibited


<div style="background:#fff3cd; padding:8px; border-radius:6px; border:1px solid #f7dc6f; font-family:monospace;">
Chain OUTPUT (policy ACCEPT 49 packets, 12544 bytes)
0     0 ACCEPT tcp  --  * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
pkts bytes target    prot opt in    out     source              destination
</div>
</pre>


<pre>
---
    0    0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
    0    0 ACCEPT all  --  lo * 0.0.0.0/0 0.0.0.0/0
    0    0 ACCEPT tcp  --  * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
    0    0 REJECT all  --  * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
</pre>


== <span style="color:#21618c;">Création de la page d’accueil</span> ==
== <span style="color:#ca6f1e;">Création de la page d’accueil</span> ==


Créer la première page de votre site :
Créer la première page de votre site web :


<pre>
<pre>
Ligne 135 : Ligne 160 :
</pre>
</pre>


Exemple de contenu simple :
Exemple de contenu :


<pre>
<pre>
Ligne 141 : Ligne 166 :
</pre>
</pre>


Sans oublier de donner les droits au dossier sinon Apache ne pourra pas y accéder :
Attribuer les droits au dossier pour qu’Apache puisse accéder aux fichiers :


<pre>
<pre>
Ligne 147 : Ligne 172 :
</pre>
</pre>


== <span style="color:#21618c;">Vérification finale</span> ==
---
 
== <span style="color:#ca6f1e;">Vérification finale</span> ==


Tester avec curl suivi de votre adresse IP :
Tester l’accès au serveur avec curl :


<pre>
<pre>
Ligne 155 : Ligne 182 :
</pre>
</pre>


Vous devriez voir le contenu de votre page (ici "web").
Vous devez voir apparaître le contenu de votre page web.
 
---


== <span style="color:#21618c;">Important</span> ==
== <span style="color:#ca6f1e;">Important</span> ==


La procédure doit être répétée sur votre second serveur.
La procédure doit être répétée sur votre second serveur afin de compléter l’infrastructure.

Version du 17 février 2026 à 14:04

Installation et Configuration Apache HTTPD

Cette section décrit l’installation et la configuration complète d’un serveur web Apache (HTTPD) avec SSL. Elle permet de rendre votre serveur accessible sur le réseau et d’héberger des pages web.

1 — Installation et Configuration Apache

Installation et configuration du serveur web Apache HTTPD

Installation des packages

Installation du serveur Apache ainsi que du module SSL pour HTTPS :

dnf install httpd mod_ssl -y

Vérifier que l’installation s’est bien déroulée :

rpm -qa | grep httpd

---

Configuration du serveur

Tout d’abord, il faut paramétrer le nom de la machine ainsi que l’adresse d’écoute du serveur web.

Modifier le fichier :

/etc/httpd/conf/httpd.conf

Chercher les lignes suivantes :

Listen 80
#ServerName www.example.com:80

Instructions :

  • Décommenter la ligne ServerName
  • Adapter le nom en fonction de votre configuration réseau (/etc/sysconfig/network)
  • Définir l’écoute sur toutes les interfaces

Configuration finale :

Listen *:80
ServerName web:80

---

Démarrage du service HTTPD

Démarrage du service Apache :

systemctl start httpd.service --now

Activation automatique au démarrage du système (création du lien symbolique) :

systemctl enable httpd.service --now

---

Vérification du service

Vérifier que le service fonctionne correctement :

ss -atnp | grep httpd

Si Apache fonctionne correctement, les ports **80 (HTTP)** et **443 (HTTPS)** doivent apparaître en écoute.

---

Ouverture des ports dans iptables

Pour rendre votre site accessible depuis le réseau, il est nécessaire d’ouvrir les ports 80 et 443. Sans cette étape, votre navigateur affichera une erreur de connexion refusée.

Modifier :

vi /etc/sysconfig/iptables

Ajouter les règles suivantes :

-I INPUT 2 -p tcp --dport 80 -j ACCEPT
-I INPUT 3 -p tcp --dport 443 -j ACCEPT

Appliquer les changements :

systemctl reload iptables

Vérifier les règles :

iptables -nvL

---

Résultat attendu

Après vérification, vous devez voir apparaître les règles pour les ports HTTP et HTTPS.

⚠️ IMPORTANT : les 2 lignes en rouge ci-dessous doivent absolument être visibles. Ce sont elles qui autorisent l’accès au serveur web.

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   81  5840 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
<span style="color:#c0392b; font-weight:bold;">    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80</span>
<span style="color:#c0392b; font-weight:bold;">    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443</span>
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 49 packets, 12544 bytes)
 pkts bytes target     prot opt in     out     source               destination

---

Création de la page d’accueil

Créer la première page de votre site web :

vi /var/www/html/index.html

Exemple de contenu :

cc

Attribuer les droits au dossier pour qu’Apache puisse accéder aux fichiers :

chown apache.apache -R /var/www/html

---

Vérification finale

Tester l’accès au serveur avec curl :

curl 192.168.10.251

Vous devez voir apparaître le contenu de votre page web.

---

Important

La procédure doit être répétée sur votre second serveur afin de compléter l’infrastructure.