Logo English Web Page
Accueil Association BSD Linux Dev Reseau Infologisme Mac OSX
tl tr
Sujet Adresse IP Date 28-04-2013
Titre Résolution DNS Fichier hosts et hostname - Servir avec Apache sur un Nom Section Dev Reseau
Article

Prérequis

Version de logiciel et serveur requis :

Système d‘exploitation : Arch Linux ou autre Linux – FreeBSD ou autre Unix
Serveur : Apache
Administration Serveur : Webmin


Composants ou Packages nécessaires
Arch Linux
apache 2.2.24-1 A high performance Unix-based HTTP server
FreeBSD
apache-2.2.24 Version 2.2.x of Apache web server with prefork MPM.
Configurer Apache pour le faire servir sur un Nom, il est nécessaire de faire en premier quelques opérations sur le Serveur.

domaine.com représente par exemple : c-extra.com ou le Nom de Domaine primaire du Serveur
nom-site.com représente par exemple : c-extra.com ou c-expresso.fr ou un autre Nom de Domaine de Site Web

Résolution DNS – Fichier hosts et hostname

Concept un peu complexe, un Serveur pour héberger un Site Web sur un Nom et pas sur une Adresse ou sur un Port, cela représente beaucoup d‘abstraction avec les DNS et l‘adressage IP.

Quand on installe une Distribution Linux ou un Unix, vient le moment d‘interrogation devant trois petits champs magiques et un Nom de machine ou « Hostname ». Tout le monde pense, vive le DHCP et l'on verra un peu 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 le domaine, exemple c-extra, fait partie et le nom du Serveur est production. Ce qui nous donne :

production.domaine.com ou production.c-extra.com

Voilà pour le nom du Serveur, maintenant le Serveur DNS est le premier à servir le domaine, donc on met l‘adresse IP du Serveur de Nom 192.168.1.1 par principe on met toujours le Serveur DNS en 1 dans la classe IP concernée, mais lorsque l‘on a plusieurs serveurs dans la même classe réseau, on choisit 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 :
Adresse Serveur : 192.168.1.1
DNS Primaire : 80.10.246.2
DNS Secondaire : 80.10.246.129
Remarque : Adresse IP des Serveurs DNS primaire et secondaire de Orange.fr – 80.10.246.2 – 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
Mettre a jour le " hostname" dans les adresses en cas de modification
Ordre de résolution


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 domaine.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 constituée de 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 DNS ou Noms de Domaines avec Bind et Apache.

Avec Webmin à la section Réseau puis Configuration Réseau puis Adresses de la machine cela doit être configuré comme ci-dessous.
Sélectionner tout. | Inverser la sélection. | Ajouter une nouvelle adresse de machine.
Adresse IP Nom de machine
127.0.0.1 production.domaine.com , production , localhost.domaine.com , localhost
::1 production.domaine.com , production , localhost.domaine.com , localhost
192.168.1.1 nom-site.com , www.nom-site.com , ftp.nom-site.com , mail.nom-site.com
192.168.1.1 nom-site.net , www.nom-site.net , ftp.nom-site.net , mail.nom-site.net
192.168.1.1 nom-site2.com , www.nom-site2.com , ftp.nom-site2.com , mail.nom-site2.com
192.168.1.1 nom-site2.net , www.nom-site2.net , ftp.nom-site2.net , mail.nom-site2.net
192.168.1.1 nom-site3.com , www.nom-site3.com , ftp.nom-site3.com , mail.nom-site3.com
192.168.1.1 nom-site3.net , www.nom-site3.net , ftp.nom-site3.net , mail.nom-site3.net
Sélectionner tout. | Inverser la sélection. | Ajouter une nouvelle adresse de machine.
Le ficher hosts qui se trouve dans le dossier ou répertoire /etc/hosts le montre également.


Version Arch Linux


#
# /etc/hosts : static lookup table for host names
#
# <ip-address>    <hostname.domain.org>    <hostname>
#
127.0.0.1       production.domaine.com production localhost.domaine.com localhost
::1             production.domaine.com production localhost.domaine.com localhost
#
192.168.1.1     nom-site.com www.nom-site.com ftp.nom-site.com mail.nom-site.com
192.168.1.1     nom-site.fr www.nom-site.fr ftp.nom-site.fr mail.nom-site.fr
192.168.1.1     nom-site.net www.nom-site.net ftp.nom-site.net mail.nom-site.net
192.168.1.1     nom-site2.com www.nom-site2.com ftp.nom-site2.com mail.nom-site2.com
192.168.1.1     nom-site2.net www.nom-site2.net ftp.nom-site2.net mail.nom-site2.net
192.168.1.1     nom-site3.com www.nom-site3.com ftp.nom-site3.com mail.nom-site3.com
192.168.1.1     nom-site3.net www.nom-site3.net ftp.nom-site3.net mail.nom-site3.net



Version FreeBSD


# Generated by Eric Douzet - Mon Jun 30 12:00:00 2008
#
# FreeBSD /etc/hosts
#
#
::1             production.domaine.com localhost.domaine.com localhost
127.0.0.1       production.domaine.com localhost.domaine.com localhost
#
192.168.1.1     nom-site.com www.nom-site.com ftp.nom-site.com mail.nom-site.com
192.168.1.1     nom-site.fr www.nom-site.fr ftp.nom-site.fr mail.nom-site.fr
192.168.1.1     nom-site.net www.nom-site.net ftp.nom-site.net mail.nom-site.net
192.168.1.1     nom-site2.com www.nom-site2.com ftp.nom-site2.com mail.nom-site2.com
192.168.1.1     nom-site2.net www.nom-site2.net ftp.nom-site2.net mail.nom-site2.net
192.168.1.1     nom-site3.com www.nom-site3.com ftp.nom-site3.com mail.nom-site3.com
192.168.1.1     nom-site3.net www.nom-site3.net ftp.nom-site3.net mail.nom-site3.net
#
#



Le Ficher /etc/hosts est à éditer et bien-sûr à adapter pour ses propres Sites Web.

Apache Configuration – Résolution et Servir sur un Nom de Domaine

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.


Remarque : Le tableau ci-dessous, montre les paramètres de FreeBSD.
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 Arch Linux ou pour FreeBSD ayant un ID Utilisateur 1000 dans le dossier :

/home/nom-site.com/

Créer les dossiers ou répertoires suivants :
/home
/nom-site.com
/cgi-bin
/html
/art
/Connect
/doc
/en
/fr
/img
/lib
/txt
/logs
/stats
Ajouter au fichier httpd.conf qui se trouve dans le dossier ou répertoire /etc/httpd/conf/ pour Arch Linux ou pour FreeBSD /usr/local/etc/apache22/ les lignes suivantes :


NameVirtualHost 192.168.1.1

<VirtualHost www.nom-site.com>
SuexecUserGroup "#1000" "#1000"   * Linux "#600" "#600"
ServerName nom-site.com
ServerAlias www.nom-site.com
DocumentRoot /home/nom-site.com/html
ErrorLog /home/nom-site.com/logs/httpd-error.log
CustomLog /home/nom-site.com/logs/httpd-access.log "%h %l %u %t \"%r\" %>s %b
\"%{Referer}i\" \"%{User-agent}i\""
ScriptAlias /cgi-bin/ /home/nom-site.com/cgi-bin/
DirectoryIndex index.html index.php
<Directory /home/nom-site.com/html>
Options Indexes IncludesNOEXEC FollowSymLinks
allow from all
</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 dossiers ou répertoires /art /Connect /doc /en /fr /img /lib /txt en insérant un fichier index.php ou index.html dans chaque répertoires pour faire un renvoi au répertoire racine du site Web :

/home/nom-site.com/html

Fichier index.php ou index.html avec une syntaxe de ce type :


<!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 arch linux bind bsd compilation freebsd informatique installation linux mac osx mysql mamp php postgresql samba virtualbox virtualmin webmin">
<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>



Remarque : 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...


Article connexe du sujet

BIND Système Nom Domaine - FreeBSD
BIND Système Nom Domaine - Arch Linux
Configuration Oracle VM VirtualBox pour Arch Linux
Configuration Oracle VM VirtualBox pour FreeBSD-8.4
FreeBSD - Installer et Configurer version 8.4-RELEASE

Auteur
Eric Douzet
Début de page
bl br
C-extra.com v. 1.2.2 © 2000-2014, tous droits réservés  –  Mise à jour le 12 Avril 2014 Infologisme.com