HTTPD
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