serveur-web837 KBJuin 2, 2016 12:20:41

Transcription

serveur-web837 KBJuin 2, 2016 12:20:41
!
!!!!!!
Serveur Web
Mise en place d’un serveur web avec
apache et Webmin (DNS)
!
!
Table des matières
MISE%EN%SITUATION%...............................................................................................................................................%1!
INFORMATIONS%A%VOTRE%DISPOSITION%..................................................................................................................%1!
INSTALLATION%DU%SERVEUR%DNS%............................................................................................................................%1!
TELECHARGEMENT%ET%INSTALLATION%DE%WEBMIN%.................................................................................................%2!
CONFIGURATION%DE%WEBMIN%................................................................................................................................%3!
DEMARRAGE%DE%BIND9%..........................................................................................................................................%4!
CONFIGURATION%DU%DNS%.......................................................................................................................................%5!
CREATION%DE%LA%ZONE%PRIMAIRE%....................................................................................................................................%5!
INSTALLATION%DU%SERVEUR%WEB%...........................................................................................................................%7!
CREATION%DU%SITE%ET%DE%LA%PAGE%WEB%..................................................................................................................%7!
ANNEXE%..................................................................................................................................................................%9!
CONFIGURATION%DU%SERVEUR%HTTP%................................................................................................................................%9!
CONFIGURATION%DU%SERVEUR%DNS%...............................................................................................................................%10!
CONFIGURATION%DU%SERVEUR%FTP%................................................................................................................................%11!
TESTER%UN%SERVEUR%DNS%............................................................................................................................................%12!
MODIFIER%LES%PARAMETRES%RESEAUX%(%3%POSSIBILITES%)%.....................................................................................................%12!
!
Nom : RAMON
Prénom : André
Matière : Informatique
!
Mise en situation
Vous disposez d’une machine virtuelle Debian. Vous devez y configurer un ensemble de serveurs qui doivent
Répondre au cahier des charges ci-dessous.
Cahier des Charges
•! Les serveurs sont accessibles de n’importe où.
•! L’adresse ip de la machine virtuelle qui contient tous les serveurs est imposée
•! Un serveur web gère deux sites :
o! un site intranet : intranet.xxx.test
o! un site extranet auquel correspondent plusieurs url: xxx.test www.xxx.test extranet.xxx.test
o!
Ces 2 sites sont accessibles uniquement par leur url. Tout accès par l’adresse ip du serveur ou une autre
url renvoie sur une page d’accueil spécifique différente de celle des 2 autres sites.
•! Le contenu de chaque site web peut être modifié en utilisant un client ftp avec un compte différent pour
chaque site. Chaque compte ne permet que de voir et de modifier les fichiers du site correspondant. L’accès anonyme
n’est pas autorisé.
•! Les fichiers constituant les sites web sont placés dans les répertoires : /var/www/extranet et
/var/www/intranet.
•! Un serveur DNS doit être configuré pour la zone xxx.test
Informations à votre disposition
!! Une fiche ressources se trouve en annexe de ce document. Elle contient les informations utiles pour configurer
les différents services.
!! Une abondante documentation sur apache, bind, vsftpd est disponible sur internet.
Installation du serveur DNS
Connecter vous en SSH à la VM destinée au serveur DNS (avec Putty pour Windows ou Terminal pour Mac)
avec la commande :
ssh eleve@adresse_ip_du_serveur_dns
Puis tapez « yes » lorsqu’il vous demande « Are you sure you want to continue connecting (yes/no) ? » à la
première connexion.
!
!
Lycée Professionnel Jacques Prévert
7 Avenue Jean Jaurès, 77380 Combs-la-Ville
! : 01 64 13 42 60!
!
Page 1
Nom : RAMON
Prénom : André
Matière : Informatique
Passer en mode « root » avec la commande :
« su » puis taper le mot de passe.
Ensuite installer le package qui servira de serveur DNS : bind9. Avec la commande suivante :
apt-get install bind9
Nous allons maintenant installer une interface web afin de faciliter l’administration de notre serveur DNS.
Nous allons donc installer le package Webmin, il se trouve sur le site, voici le lient pour le télécharger
http://prdownloads.sourceforge.net/webadmin/webmin_1.760_all.deb
Téléchargement et installation de Webmin
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.760_all.deb
!
!
Lycée Professionnel Jacques Prévert
7 Avenue Jean Jaurès, 77380 Combs-la-Ville
! : 01 64 13 42 60!
!
Page.2
Nom : RAMON
Prénom : André
Matière : Informatique
Une fois que nous l’avons téléchargé, on tapera la commande suivante pour l’installer
dpkg --install webmin_1.760_all.deb
Pendant l’installation nous allons rencontrer un problème d’installation, pour remédier à ce problème nous
allons entrer la commande suivante :
apt-get installa -f
Notre interface web de notre serveur DNS est enfin prête, il ne nous reste plus qu’à ouvrir un navigateur et
taper : https://adresse_ip_du_serveur_dns:10000
Attention c’est du HTTPS et sur le port 10000 sinon cela ne fonctionne pas.
Maintenant il reste à nous connecter en tant que « root »
Configuration de Webmin
Nous allons maintenant changer la langue … Pour cela,
rendez-vous dans l’onglet de gauche et déroulez « webmin
» et cliquez sur « Change Language and Theme ».
!
!
Lycée Professionnel Jacques Prévert
7 Avenue Jean Jaurès, 77380 Combs-la-Ville
! : 01 64 13 42 60!
!
Page.3
Nom : RAMON
Prénom : André
Matière : Informatique
Ensuite cliquer sur « Personal choice .. » et choisissez « French (FR.UTF-8) » et « Authentic Theme » et
cliquez sur « Make Changes », la page se recharge… Loading, please wait…
Démarrage de Bind9
Dans l’onglet de gauche, cliquez sur Serveur de nom de domaine BIND. C’est ici que nous allons gérer notre
serveur DNS. Puis, démarrer BIND en haut à droite de votre page.
En activant le service Bind, nous avons démarrer le serveur DNS
!
!
Lycée Professionnel Jacques Prévert
7 Avenue Jean Jaurès, 77380 Combs-la-Ville
! : 01 64 13 42 60!
!
Page.4
Nom : RAMON
Prénom : André
Matière : Informatique
Configuration du DNS
Création de la zone primaire
Nous allons maintenant créer une zone primaire, c’est à dire une le DNS primaire.
Pour ce faire, c’est extrêmement simple il suffit de cliquer sur « Créer une zone primaire »
andre.info
Dans « Nom de domaine / réseau », donner le nom de votre zone par exemple site1.test (ici j’ai choisi
Andre.info) le nom sert juste à repérer votre zone plus facilement lorsque vous en avez plusieurs.
Lycée Professionnel Jacques Prévert
!
7 Avenue Jean Jaurès, 77380 Combs-la-Ville
Page.5
!
! : 01 64 13 42 60!
!
Nom : RAMON
Prénom : André
Matière : Informatique
Dans « Serveur primaire » vous laissez par défaut, et enfin vous mettez votre adresse mail dans le champ
« Adresse électronique ». Pour terminer, cliquer sur « Créer ».
Votre zone est créée, mais si vous voulez y accéder il va falloir lui ajouter une adresse, donc nous allons
cliquer sur « Adresses » Et faire comme suit :
Dans « Ajouter l’enregistrement Adresse » mettre le nom de votre adresse (par exemple : www.andre.info) et
l’adresse IP qui correspond, c’est à dire celle de votre serveur Apache.
www.andre.info
Cliquer sur « Retourner à la liste des zones », puis appliquer la configuration en cliquant sur
Nous pouvons voir la zone que nous avons créée parmi les zones par défaut.
Pour tester le serveur DNS, il suffit de modifier le serveurs DNS sur votre machine physique.
!
!
Lycée Professionnel Jacques Prévert
7 Avenue Jean Jaurès, 77380 Combs-la-Ville
! : 01 64 13 42 60!
!
Page.6
Nom : RAMON
Prénom : André
Matière : Informatique
Installation du serveur Web
Afin d’installer le serveur Web, il faudra se reconnecter en ssh sur la machine virtuelle destinée au serveur
DNS et se connecter en tant que « root ».
Ensuite, nous allons installer le package « Apache 2 », en tapant la commande suivante :
apt-get install apache2
Pour vérifier que votre serveur Apache fonctionne, ouvrez un navigateur et tapez l’adresse
IP de ce dernier dans la barre d’URL.
Création du site et de la page web
Nous allons maintenant créer le site ainsi que la page web dans le dossier suivant : /var/www/
Avec la commande suivante :
mkdir –p /var/www/site
Maintenant que nous avons créer le dossier, nous allons créer la page d’accueil du site en utilisant le langage
HTML dans le dossier « site » en tapant les commandes suivantes :
cd site //nous allons dans le dossier site
nano index.html //nous créons un fichier pour insérer nos codes
Le code HTML est le suivant :
!
!
Lycée Professionnel Jacques Prévert
7 Avenue Jean Jaurès, 77380 Combs-la-Ville
! : 01 64 13 42 60!
!
Page.7
Nom : RAMON
Prénom : André
Matière : Informatique
Nous allons maintenant faire un copier/coller d’un fichier de configuration qui nous intéresse, ce fichier se
nomme « 000-default.conf » qui ce trouve dans le dossier « /etc/apache2/sites-avaible/ » et nous allons le
renommer en « andre.conf » en tapant la commande suivante :
cp 000-default.conf andre.conf
nano andre.conf
Dans ce fichier, nous allons :
-! Ajouter l’adresse IP du serveur dans la balise « <VirtualHost @ip_du_serveur :80> »
-! Ajouter la ligne : « ServerName www.andre.info (ici vous devez mettre l’adresse que vous avez choisie
dans votre serveur DNS.)
-! Modifier la ligne : DocumentRoot /var/www/andre (ici vous devez mettre le chemin où est stocké
votre site web).
Pour activer le site tapez la commande suivante :
a2ensite andre.conf
service apache2 reload
!
!
Lycée Professionnel Jacques Prévert
7 Avenue Jean Jaurès, 77380 Combs-la-Ville
! : 01 64 13 42 60!
!
Page.8
Nom : RAMON
Prénom : André
Matière : Informatique
Annexe
Configuration du serveur http
Le programme qui assure le service web se nomme apache2
Installation : apt-get install apache2
Les fichiers de configuration se trouvent dans le répertoire /etc/apache2/
Le répertoire /etc/apache2/sites-available/ contient autant de fichiers qu’il y a de sites à gérer.
De base il n’y a que deux fichiers dans /etc/apache2/sites-available/, qui contiennent les instructions relatives au
site par défaut (un pour le site en http et l’autre en https). On s’intéressera pour l’instant uniquement au fichier
default qui contient les directives pour le site en http, notamment l’emplacement de la racine du site. Ce fichier ne
sera pas modifié, il servira de base à la création des fichiers d’instructions pour les autres sites.
Les fichiers qui composent un site web se trouvent dans la racine du site tel qu’il est défini dans le fichier
d’instructions du site (DocumentRoot).
Chaque site web peut être activé ou désactivé par les commandes suivantes :
-!
-!
activation : a2ensite « nom du fichier d’instruction du site »
désactivation : a2dissite « nom du fichier d’instruction du site »
Il faut ensuite faire prendre en compte les modifications par la commande : service apache2 reload
Les sites activés apparaissent alors dans le répertoire /etc/apache2/sites-enabled/ (lien symbolique).
Exemple : Contenu du répertoire dans le cas où le site par défaut ainsi que 2 autres sites sont activés :
!
!
Lycée Professionnel Jacques Prévert
7 Avenue Jean Jaurès, 77380 Combs-la-Ville
! : 01 64 13 42 60!
!
Page.9
Nom : RAMON
Prénom : André
Matière : Informatique
Déclaration d’un nouveau site virtuel, accédé avec plusieurs url :
www.masociete.info , masociete.info , extranet.masociete.info
Le fichier d’instructions de ce site contient les instructions suivantes placées en-tête :
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName extranet.masociete.info
ServerAlias masociete.info www.masociete.info
DocumentRoot /var/www/site-externe
<Directory />
………
Configuration du serveur DNS
Le programme qui assure le service web se nomme bind9
Installation : apt-get install bind9
Les fichiers de configuration se trouvent dans le répertoire /etc/bind/
Le fichier /etc/bind/named.conf.local doit être modifié pour y ajouter les instructions nécessaires à la zone que le
serveur dns bind doit connaître.
Par exemple, on veut ajouter la zone correspondant au domaine : masociete.info
On ajoute au fichier les instructions suivantes :
zone "masociete.info" {
type master;
file "/etc/bind/db.masociete.info";
};
!
!
Lycée Professionnel Jacques Prévert
7 Avenue Jean Jaurès, 77380 Combs-la-Ville
! : 01 64 13 42 60!
!
Page.10
Nom : RAMON
Prénom : André
Matière : Informatique
Le fichier /etc/bind/db.masociete.info est à créer. Il contient les enregistrements DNS pour la zone.
; BIND data file for masociete.info
$TTL 38400
masociete.info.
IN SOA srv.masociete.info. webmaster.masociete.info. (
145782
; Serial
10800
; Refresh
3800
; Retry
604800
; Expire
38400 )
; Negative Cache TTL
;
masociete.info.
IN
NS
srv.masociete.info. ; nom du serveur de la zone
srv.masociete.info.
IN
A
192.168.1.47 ; adresse du serveur de la zone
site1.masociete.info.
IN
A
192.168.1.47 ; adresse du site1
extranet.masociete.info.
IN
A
192.168.1.47 ; adresse du site extranet
www.masociete.info.
IN
A
192.168.1.47 ; adresse du site www
masociete.info.
IN
A
192.168.1.47 ; adresse de la zone
Il faut ensuite faire prendre en compte les modifications par la commande : /etc/init.d/bind9 reload
Configuration du serveur FTP
Le programme qui assure le service web se nomme vsftpd
Installation : apt-get install vsftpd
Le fichier de configuration est : /etc/vsftpd.conf
A l’installation un utilisateur ftp est créé. Il correspond à l’accès anonyme. Le répertoire d’accueil du site ftp
correspond à la home de cet utilisateur (on le trouve en consultant le fichier /etc/passwd ).
Les utilisateurs ayant un compte sur le serveur, accèderont à leur home s’ils se connectent en ftp.
Le fonctionnement du serveur suit les directives du fichier de configuration qui ne sont pas précédées de #
On peut lister uniquement les lignes utiles de ce fichier par la commande : grep -v "^\($\|#\)" /etc/vsftpd.conf
Les instructions principales de ce fichier sont :
listen=YES/NO
anonymous_enable=
local_enable=
write_enable=
chroot_local_user=
; le serveur ftp est à l’écoute (YES ou NO)
; l’accès anonyme est autorisé ou pas
; un utilisateur non anonyme peut se connecter par ftp ou pas
; un utilisateur non anonyme peut écrire ou pas
; un utilisateur non anonyme peut explorer tous les répertoires ou pas
Il faut faire prendre en compte les modifications par la commande : /etc/init.d/vsftpd restart
!
!
Lycée Professionnel Jacques Prévert
7 Avenue Jean Jaurès, 77380 Combs-la-Ville
! : 01 64 13 42 60!
!
Page.11
Nom : RAMON
Prénom : André
Matière : Informatique
Tester un serveur DNS
On utilise la commande nslookup qui existe sous linux ou sous windows.
eleve@debianmini:$ nslookup
> server localhost
(localhost si le test est fait depuis le serveur bind, sinon utiliser l’ @ip du serveur bind)
Default server: localhost
Address: 127.0.0.1#53
> www.lpjp.test
(on indique ici le FQDN à tester) FQDN= Full Qualified Domain Name
Server: localhost
Address: 127.0.0.1#53
Name: www.lpjp.test
Address: 192.168.1.47 ( ceci est le réponse du serveur DNS )
>
Modifier les paramètres réseaux ( 3 possibilités )
1-A la volée (la modification sera perdue au redémarrage de la machine) : ifconfig eth0 « @ip »
Ceci est utilisable que vous soyez dans un environnement graphique (gnome, kde) ou non.
Attention, à l’expiration du bail dhcp, votre carte reprendra automatiquement une adresse.
De plus ceci enlève la passerelle par défaut. Il faut la remettre avec : route add default gw @passerelle
2-Avec le menu graphique (utilise NetworkManager) : Système > Préférences > Connexions réseau
(Il faudra désactiver, puis réactiver la connexion pour que le changement soit pris en compte)
Le fichier /etc/NetworkManager/system-connections/Auto eth0 sera alors automatiquement modifié.
3-En modifiant le fichier : /etc/network/interfaces (Uniquement si vous n’avez pas d’environnement graphique)
(Dans l’exemple suivant, la carte eth0 est définie avec des paramètres réseaux fixés sans dhcp)
auto eth0
iface eth0 inet static
address 192.168.0.42
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
!
!
Lycée Professionnel Jacques Prévert
7 Avenue Jean Jaurès, 77380 Combs-la-Ville
! : 01 64 13 42 60!
!
Page.12