Concept un peu complexe quand on installe un serveur pour héberger des sites Web sur les noms, c’est beaucoup d’abstraction le DNS et l’IP.
Quand on installe une Fedora Core ou autre distribution Linux ou un Unix, vient le moment d’interrogation devant trois petits champs magiques et un nom de machine ou Hostname. Et tout le monde se dit, vive le DHCP et on verra plus tard, erreur on ne peu plus funeste !
Le nom du poste, nom de machine ou hostname, doit être rentré dans un domaine. Domain Name System ou DNS, le premier domaine est le point com dont nom-site fait parti et le nom du serveur est production. Ce qui nous donne :
production.nom-site.com
Voilà pour le nom du poste, maintenant les Serveurs DNS, le premier à servir le domaine c’est le serveur donc on met l’adresse IP du serveur 192.168.1.1 par principe on met toujours le serveur en 1 dans la classe IP concernée, mais quand on a plusieurs serveurs dans la même classe réseau 1 puis 2 puis 3.
Les deux autres DNS sont le primaire et le secondaire de votre Fournisseur d’Accès Internet (FAI).
Ce qui nous donne :
Server address:
192.168.1.1
Primary DNS:
80.10.246.2
Secondary DNS:
80.10.246.129
Webmin nous permet de visualiser tout cela !
Avec Webmin cliquer sur l’icône Réseau puis Configuration Réseau puis Client DNS doit être configuré comme ci-dessous.
Options du Client DNS
Nom du poste
Ordre de résolution
Mettre a jour le " hostname" dans les adresses en cas de modification
Serveurs DNS
Domaines de recherche
Aucun
Listé
Le ficher resolv.conf qui se trouve dans le dossier ou répertoire /etc/resolv.conf, le montre également.
production nom-site.com
nameserver 192.168.1.1
nameserver 80.10.246.2
nameserver 80.10.246.129
Hostname et nom de machine
Ne jamais enlever la première ligne c’est l’adresse Loopback, 127.0.0.1
La même adresse IP celle du serveur, sert tout les domaines listés ci-dessous. C’est ce type de réglage qu’il faut adopter pour servir sur les noms de domaines DNS avec Bind et Apache.
Encore une fois Webmin nous permet de visualiser tout cela !
Avec Webmin à la section Réseau puis Configuration Réseau puis Adresses de la machine cela doit être réglé comme ci-dessous.
Selectionner tout. | Inverser la sélection. | Ajouter une nouvelle adresse de machine.
Adresse IP
Nom de machine
127.0.0.1
production.nom-site.com , production , localhost.localdomain , localhost
::1
production.nom-site.com , production , localhost.localdomain , localhost
Le Ficher /etc/hosts est à éditer par le logiciel emacs et bien-sur à adapter pour ses propres Sites Web.
Résolution de Nom de Domaine
Configuration d’Apache pour servir sur les nons de domaines
Créer un utilisateur « nom-site.com » avec Webmin, aller sur l’icône Système puis dernière icône Utilisateur et groupes. Respecter la casse du mot « nom-site.com », car les Unix font la différence entre les majuscules et les minuscules.
Détails de l'utilisateur
Nom d'utilisateur
ID d'utilisateur
Automatique
Calculé
Nom réel
Répertoire personnel
Automatique
Répertoire
Interpréteur de commandes
Mot de passe
Aucun mot de passe requis
Aucune connexion autorisée
Mot de passe normal
Mot de passe pré-encrypté
Nom de connexion temporairement désactivé
Options du mot de passe
Options non utilisées pour ces paramètres
Appartenance à un groupe
Groupe primaire
Nouveau groupe du même nom que l'utilisateur
Nouveau groupe
Groupe existant
Groupes secondaires
All groups
In groups
Lors de la création...
Créer un répertoire personnel ?
Oui
Non
Copier les fichiers dans le répertoire personnel ?
Oui
Non
Créer l'utilisateur dans d'autres modules ?
Oui
Non
Après avoir fait un utilisateur et un groupe nom-site.com ayant pour ID Utilisateur 600 pour Linux Fedora ou pour FreeBSD ayant un ID Utilisateur 1000 dans le dossiers :
/home/nom-site.com/
Créer les dossiers suivants :
/home
/nom-site.com
/cgi-bin
/html
/art
/Connect
/doc
/en
/fr
/img
/lib
/txt
/logs
/stats
Rajouter au fichier httpd.conf qui se trouve dans le dossier ou répertoire /etc/httpd/conf/httpd.conf pour Linux Fedora ou pour FreeBSD /usr/local/etc/apache22/httpd.conf les lignes suivantes :
NameVirtualHost 192.168.1.1
<VirtualHost www.nom-site.com>
SuexecUserGroup "#600" "#600" * FreeBSD "#1000" "#1000"
ServerName nom-site.com
ServerAlias www.nom-site.com
DocumentRoot /home/nom-site.com/html
ErrorLog /home/nom-site.com/logs/error_log
CustomLog /home/nom-site.com/logs/access_log "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
ScriptAlias /cgi-bin/ /home/nom-site.com/cgi-bin/
<Directory /home/nom-site.com/html>
Options Indexes IncludesNOEXEC FollowSymLinks
allow from all
# AllowOverride All * Pour linux Fedora
</Directory>
<Directory /home/nom-site.com/cgi-bin>
allow from all
</Directory>
AddDefaultCharset iso-8859-2
DefaultLanguage en
LanguagePriority fr * Ou une autre Localisation
</VirtualHost>
Remarque :
Protéger chaque répertoire /art /Connect /doc /en /fr /img /lib /txt en insérant un Fichier index.php ou index.html dans chaque répertoires qui renvoie au répertoire racine du site /home/nom-site.com/html de ce type :
index.php ou index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<!-- Meta Tags -->
<title>C-extra.com - Informations Systèmes Unix !</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<meta http-equiv="Refresh" content="0; URL=../index.php"> * ou ../index.html
<meta name="DESCRIPTION" lang ="fr" content="C-extra.com - Articles sur l’installation de divers softs Unix - BSD Linux Mac OSX">
<meta name="KEYWORDS" content="c-extra c-extra.com apache bind bsd compilation fedora freebsd informatique installation linux mac osx mysql php linux samba webmin virtualmin">
<meta name="RATING" content="General">
<meta name="ROBOTS" content="index, follow">
<meta name="REVISIT-AFTER" content="1 Week">
<meta name="LANGUAGE" content="FR"> * Ou une autre Localisation
<!-- Meta Tags -->
</head>
<body>
</body>
</html>
Cela n’exclut pas le principe de sécurité et l’utilisation des fichiers .htaccess du Serveur Apache.
A ce stade, il reste à faire le routage par exemple chez Gandi et réglé le routeur et son firewall. Mais attention on ne sert pas encore le domaine, pour ce faire, il faut paramétrer BIND. Ce sera un autre moment de plaisir...