Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

Httpd install start

De The Linux Craftsman
Version datée du 31 mai 2026 à 11:20 par Jc.forton (discussion | contributions) (Page créée avec « {|border=1 class="wikitable" ! !! HTTP !! HTTPS |-align="center" | '''Protocole''' || tcp || tcp |-align="center" | '''Port''' || 80 || 443 |-align="center" | '''Configuration Iptables''' || iptables -I INPUT 2 -p tcp --dport 80 -j ACCEPT || iptables -I INPUT 2 -p tcp --dport 443 -j ACCEPT |} = Préparation = Dans un premier temps, il faudra avoir une connexion à Internet, utiliser un serveur DNS et désactiver SELinux. Pour ceux qui auraient manqué des éta... »)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)
HTTP HTTPS
Protocole tcp tcp
Port 80 443
Configuration Iptables iptables -I INPUT 2 -p tcp --dport 80 -j ACCEPT iptables -I INPUT 2 -p tcp --dport 443 -j ACCEPT

Préparation

Dans un premier temps, il faudra avoir une connexion à Internet, utiliser un serveur DNS et désactiver SELinux.

Pour ceux qui auraient manqué des étapes les voici:

Une fois ces étapes effectuées, entrons dans le vif du sujet !

Installation

HTTP

# dnf -y install httpd

HTTP et HTTPS

# dnf -y install httpd mod_ssl 

HTTP2

Si vous souhaitez accélérer le chargement de votre site, il est intéressant de passer en HTTP2. Pour ça on va installer le paquetage :

# dnf -y install mod_http2 

Configuration de base

Avant le premier démarrage

Tout d'abord il faut paramétrer le nom de la machine ainsi que l'adresse d'écoute

Pour cela cherchez dans le fichier /etc/httpd/conf/httpd.conf les lignes commençant par :

  • Listen 80
  • #ServerName www.example.com:80

La première doit contenir l'adresse IP de la machine ou * pour que httpd écoute sur toutes les interfaces

Listen *:80

La deuxième doit être cohérente avec le nom de la machine qui est précisé dans le fichier network

ServerName web:80

Si vous souhaitez activer HTTP2 n'oubliez pas d'ajouter la ligne suivante dans le fichier /etc/httpd/conf/httpd.conf :

Protocols h2 http/1.1

Premier démarrage

Maintenant on peut démarrer httpd

  • Pour SystemVInit:
# service httpd start
Démarrage de httpd :                                       [  OK  ]
  • Pour SystemD :
# systemctl start httpd.service

Vérification

On peut vérifier que httpd écoute sur la bonne adresse et les bons ports

  • CentOS 6:
# netstat -atnp | grep httpd
tcp        0      0 :::80                       :::*                        LISTEN      1202/httpd
tcp        0      0 :::443                      :::*                        LISTEN      1202/httpd
  • CentOS 7:
# ss -atnp | grep httpd
LISTEN     0      128     :::80    :::*    users:(("httpd",pid=1483,fd=4),("httpd",pid=1482,fd=4),("httpd",pid=1481,fd=4),("httpd",pid=1480,fd=4),("httpd",pid=1479,fd=4),("httpd",pid=1478,fd=4))

Enregistrement dans le chargeur de démarrage

  • Pour SystemVInit:
# chkconfig httpd on
  • Pour SystemD:
# systemctl enable httpd.service

Après le premier démarrage

Essayez de ne jamais JAMAIS jamais redémarrer le serveur Apache avec :

# systemctl restart httpd

"restart" a pour effet de stopper puis démarrer le serveur, si une erreur est présente dans votre configuration le serveur s'arrête sans redémarrer, ce qui ajoute toujours un peu de pression si c'est un serveur de production... ou si c'est vendredi à 17h :)

À la place, préférez vérifier la configuration avec la commande:

# httpd -S

Si une erreur est présente, le fichier et la ligne en question seront mentionnés.

Une fois toutes les vérifications effectuées, utilisez la commande suivante pour recharger la configuration du serveur Apache:

# httpd -k graceful

Si des erreurs sont présentes dans un fichier de configuration, le serveur les affichera mais n'en tiendra pas compte.

Ajout d'une page html

Le dossier de travail de httpd est précisé grâce à la variable DocumentRoot qui a la valeur /var/www/html

Vous pouvez donc créer votre premier site web en ajoutant dans ce dossier le fichier désigné par la variable DirectoryIndex (généralement index.html)

# vi /var/www/html/index.html

Une fois le fichier édité, il ne faut pas oublier de repositionner les bons droits pour qu'apache soit apte à le lire

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

Parcours des logs

httpd log dans le répertoire /var/log/httpd/ et utilise deux fichiers:

  • access_log → pour journaliser tous les accès
  • error_log → pour journaliser toutes les erreurs

Démarrage et erreurs

Le fichier /var/log/httpd/error_log est fait pour ça. Quand vous avez une erreur PHP ou autre, c'est ici qu'il faut venir faire un tour:

[Sat Feb 15 02:32:53 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Sat Feb 15 02:32:53 2014] [notice] Digest: generating secret for digest authentication ...
[Sat Feb 15 02:32:53 2014] [notice] Digest: done
[Sat Feb 15 02:32:54 2014] [notice] Apache/2.2.15 (Unix) DAV/2 mod_ssl/2.2.15 OpenSSL/1.0.0-fips configured -- resuming normal operations

Vérifier l'accès aux pages

Pour vérifier qui demande quoi sur à votre serveur, c'est dans le fichier /var/log/httpd/access_log qu'il faut venir regarder:

192.168.200.254 - - [30/Dec/2013:13:43:38 +0100] "GET / HTTP/1.1" 200 130 "-" "Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0"
192.168.200.254 - - [30/Dec/2013:13:43:39 +0100] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0"
192.168.200.254 - - [30/Dec/2013:13:43:42 +0100] "GET / HTTP/1.1" 200 14 "-" "Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0"
192.168.200.254 - - [30/Dec/2013:13:43:45 +0100] "GET / HTTP/1.1" 200 130 "-" "Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0"