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