Un petit article technique sur quelque chose que j’ai longtemps considéré comme un point de détail, mais qui peut s’avérer important dans quelques rares cas.
Lorsqu’on configure un ordinateur, on lui donne un nom. Jusque-là, tout va bien.
Je pourrais disserter sur la manière de nommer les serveurs. Certaines personnes aiment donner des noms de planètes, des noms d’animaux, des noms de personnages issus de livres ou de films, ou simplement des prénoms ; personnellement, je préfère m’en tenir à des noms techniques qui retirent toute ambiguïté. (“db1”, “db2”… pour les bases de données ; “web1”, “web2”… pour les frontaux web ; et ainsi de suite). Mais ce n’est pas le but de cet article.
Pour l’exemple, on va dire que nous installons un serveur nommé “test1”, faisant partie du domaine “exemple.fr”. Lors de la configuration du serveur, il y a 2 fichiers à modifier (/etc/hostname et /etc/hosts). Leur contenu est moins évident qu’il n’y paraît, et non seulement on peut prendre en considération des documentations comme la RFC 1178, mais il semblerait que les choses soient différentes suivant le système Unix utilisé, voire même la distribution Linux… Je vais donner ici des infos pour les systèmes dérivés de Debian, comme Ubuntu par exemple.
Le fichier /etc/hostname doit contenir le nom de la machine, sans le nom de domaine. Dans notre exemple, ce sera simplement “test1”.
Pour s’assurer qu’il soit pris en compte sans attendre le redémarrage de la machine, il faut en plus exécuter la commande suivante (en tant que root) :
# hostname test1
On peut vérifier que le nom est bien pris en compte en lançant cette commande :
# hostname
Elle devrait afficher simplement :
test1
Le cas du fichier /etc/hosts est un peu plus délicat (enfin bon, n’exagérons rien). En fait, le système se base sur ce fichier pour connaître le nom complet (FQDN = Fully Qualified Domain Name) de la machine.
Donc, on début du fichier, on écrira les deux lignes suivantes :
127.0.0.1 test1.exemple.fr test1 127.0.0.1 localhost.localdomain localhost
On peut vérifier que tout est bon en exécutant :
# hostname --fqdn
On devrait alors obtenir :
test1.exemple.fr
Conclusion : Tout cela ne méritait peut-être pas un article. Mais dans les liens que j’ai fournis plus haut, on trouve des témoignages intéressants (un employé de Digg dit avoir rendu le site indisponible pendant 2 heures à cause d’une modification innocente du fichier /etc/hosts ; et il semblerait que certaines applications d’Oracle nécessitent une configuration différente), donc c’est mieux de savoir ce qu’on fait.