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

De The Linux Craftsman
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 aurait manqué des étapes les voici:

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

Installation

HTTP

# yum -y install httpd

HTTP et HTTPS

# yum -y install httpd mod_ssl 

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

Premier démarrage

Maintenant on peut démarrer httpd

# service httpd start
Démarrage de httpd :                                       [  OK  ]

Vérification

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

# netstat -atnp | grep httpd
tcp        0      0 :::80                       :::*                        LISTEN      1202/httpd
tcp        0      0 :::443                      :::*                        LISTEN      1202/httpd

Enregistrement dans le chargeur de démarrage

# chkconfig httpd on

Ajout d'une page html

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

Vous pouvez donc créez 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 que 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

favicon.ico ??

Quand on parcours le fichier access_log on peut croiser la ligne suivante

192.168.200.12 - - [28/Dec/2013:19:58:13 +0100] "GET /favicon.ico HTTP/1.1" 404 278 "-" "Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0"

Et on peut se demander pourquoi le navigateur demande favicon.ico ?? En faite, il s'agit de l'icône qui figure dans l'onglet, à côté du titre

Vous pouvez la générer grâce au site suivant www.favicon.cc et la placer à la racine du site web (/var/www/html)

Fonction Virtual Host

La fonction Vhost permet de faire tourner plusieurs site Web différent sur un même serveur. Les moyens de différenciations sont multiples:

  • l'adresse IP
  • le port TCP
  • le nom DNS
  • un sous-ensemble de ces trois éléments

Emplacement du fichier de configuration

VHost par adresses IP

VHost par port TCP

VHost par noms DNS