semaine 2 - virtualisation
Un nom pour votre serveur
Votre serveur a une adresse IP, mais qui veut taper 139.177.198.221 ? Cette semaine : un vrai nom de domaine, des DNS bien configurés, et la magie des VHOST : plusieurs sites sur UN serveur.
- Acheter un nom de domaine chez un registraire.
- Configurer les enregistrements DNS (A, CNAME, wildcard).
- Créer des hôtes virtuels Apache : un serveur, plusieurs domaines.
nom de domaine
Choisir son registraire
Porkbun (recommandé)
Parmi les moins chers, recherche par prix, accepte la crypto.
NameCheap
Le plus populaire, recherche par catégories de TLD.
Name.com
Un nom GRATUIT pour les étudiants avec GitHub Students !
tld-list.com
Le comparateur : trouve le vendeur le moins cher pour chaque TLD.
Les spéciaux de première année valent le magasinage ; on peut transférer le nom ailleurs la deuxième année.
nom de domaine
La recette d'achat chez Porkbun
- Taper soi-même porkbun.com dans la barre d'adresse (le premier lien Google mène ailleurs !).
- Taper le mot recherché, par exemple tictactoe, et cliquer la loupe.
- Descendre et cliquer Show all extensions - AVANT de trier !
- Remonter et cliquer Sort by price.
- Choisir le meilleur nom, l'ajouter au panier, payer.
Un beau nom court à 2 $ la première année, ça existe. Prenez le temps de fouiller les extensions exotiques !
architecture d'internet
Les piliers du monde : 13 serveurs racine
- Quand vous tapez un nom dans le navigateur, la résolution commence tout en haut : les 13 serveurs racine du DNS.
- Plus de 1000 instances réparties sur tous les continents soutiennent l'ensemble d'Internet.
- À explorer : root-servers.org
prenom@serveur:~$ dig +trace tonsite.com
architecture d'internet
Les 14 gardiens des clés d'Internet
- 4 fois par an, 7 gardiens se réunissent dans une salle ultra-sécurisée pour la Root Signing Ceremony.
- Scan biométrique, code PIN, carte à puce : une centaine d'étapes de vérification.
- Ensemble, ils génèrent la clé maîtresse qui sécurise tous les DNS du monde.
- L'ICANN organise la distribution des noms de domaine depuis 1998 ; la cérémonie est diffusée en direct (iana.org/dnssec/ceremonies).
14 personnes. 7 clés. Le destin d'Internet. Et vous, cette semaine, vous entrez dans ce système avec votre propre nom.
enregistrements dns
Les enregistrements essentiels : A et CNAME
A Record
Dirige un domaine vers une
IP. C'est lui qui envoie votre nom vers votre serveur.
CNAME Record
Un
alias : tel sous-domaine suit toujours le domaine du A Record. On change d'IP ? On ne modifie QUE le A, les CNAME suivent.
MX Record
Seulement si vous voulez un serveur de courriel.
enregistrements dns
Les valeurs spéciales : @ et *
@ A 139.177.198.221
* CNAME tonsite.com
- @ = autoréférence : le nom de domaine courant.
- * = wildcard : l'ensemble des sous-domaines possibles.
enregistrements dns
Deux recettes : liste ou wildcard ?
Recette des sous-domaines listés
Plus claire : on voit la liste des sous-domaines configurés. MAIS chaque ajout = retour chez le registraire + attente.
Recette wildcard (*)
Tous les sous-domaines, même les fautes de frappe (www2...), arrivent au serveur. On ne retourne JAMAIS chez le registraire.
Redirigez vos DNS 2 heures avant le laboratoire : la propagation prend du temps !
virtualisation
Un serveur, plusieurs sites : la virtualisation
- Un VPS peut héberger des dizaines de sites : www, blog, wiki, boutique...
- C'est l'intérêt commercial de la virtualisation : mutualiser la machine, multiplier les services.
- Chez Apache, cela s'appelle les hôtes virtuels (VirtualHost ou VHOST).
/var/www/
├── html/
├── www.tonsite.com/
├── blog.tonsite.com/
└── wiki.tonsite.com/
Les répertoires de sites sont À CÔTÉ de html/, jamais dedans !
vhost - etape 1
Préparer les permissions web
prenom@serveur:~$ cd /var/www
prenom@serveur:/var/www$ sudo chown prenom:www-data -R /var/www
prenom@serveur:/var/www$ sudo chmod g+s /var/www
prenom@serveur:~$ jed ~/.bashrc
umask 022
prenom@serveur:~$ source ~/.bashrc
vhost - etape 2
Le répertoire du site
prenom@serveur:~$ cd /var/www
prenom@serveur:/var/www$ sudo mkdir blog.tonsite.com
prenom@serveur:/var/www$ sudo chown prenom:www-data -R blog.tonsite.com
prenom@serveur:/var/www$ sudo chmod 0775 blog.tonsite.com
prenom@serveur:/var/www$ cd blog.tonsite.com
prenom@serveur:...$ echo "blog" > index.php
vhost - etape 3
Écrire le fichier VirtualHost
prenom@serveur:~$ cd /etc/apache2/sites-available
prenom@serveur:...$ sudo jed blog.tonsite.com.conf
<VirtualHost *:80>
ServerAdmin admin@tonsite.com
ServerName blog.tonsite.com
DocumentRoot /var/www/blog.tonsite.com/
ErrorLog ${APACHE_LOG_DIR}/blog.tonsite.com.error.log
CustomLog ${APACHE_LOG_DIR}/blog.tonsite.com.access.log combined
</VirtualHost>
Un fichier .conf par site, dans sites-available. Les fichiers finissant par ~ sont des backups d'éditeurs : à ignorer.
vhost - variantes
ServerAlias et AllowOverride
<VirtualHost *:80>
ServerName tonsite.com
ServerAlias www.tonsite.com
DocumentRoot /var/www/www.tonsite.com/
</VirtualHost>
<VirtualHost *:80>
ServerName portefolio.online
DocumentRoot /var/www/www.portefolio.online/
<Directory /var/www/www.portefolio.online>
AllowOverride All
</Directory>
</VirtualHost>
vhost - etape 4
Activer le site
prenom@serveur:~$ cd /etc/apache2/sites-available/
prenom@serveur:...$ sudo a2ensite blog.tonsite.com.conf
Enabling site blog.tonsite.com.
prenom@serveur:...$ sudo service apache2 reload
a2ensite crée un lien symbolique dans sites-enabled : Apache ne charge que les configs qui y apparaissent. (a2dissite pour désactiver.)
Visitez http://blog.tonsite.com : votre premier hôte virtuel est vivant !
resume
Votre serveur a un nom (et des colocataires)
Nom de domaine
Acheté au meilleur prix chez un registraire sérieux.
DNS
A Record + wildcard : tout arrive chez vous.
VHOST
Répertoire + .conf + a2ensite = un site de plus.
Au laboratoire de la semaine 2 : votre domaine, vos DNS, vos trois premiers sous-domaines !