Installation et configuration d un serveur Web Sauvegarde et restauration Serveur Web Page 1
Sommaire Présentation 3 Configuration d une machine virtuelle 3 Création d une machine virtuelle 3 Configuration du réseau 4 Préparation à l installation 4 Partitionner les disques 4 Configurer l outil de gestion des paquets 5 Sélection des logiciels 5 Configurer le réseau 5 Mise à jour du serveur 6 Installation du serveur Web 6 Apache 6 Transfert de fichier 7-8 PHP 9 Serveur de base de données MySQL 9 Gestionnaire graphique phpmyadmin 10 OpenSSL 11-12 DNS 13-14-15 Conclusion 15 Sauvegarde et restauration 16 Sauvegarde de la base de données 16 Restauration de la base de données 16 Sauvegarde du site web 16 Automatisation de la sauvegarde 16-17 Serveur Web Page 2
Présentation Ce TP a pour but d installer et de configurer un serveur Web sous la distribution Linux Debian, et qui devra avoir comme service: - Un serveur Web, capable de supporter un site internet dynamique, et sécurisé. -Un serveur de transfert de fichier. -Un serveur de base de données. Note: Ce TP ayant été fait chez moi, le serveur aura pour adresse : 192.168.1.3 Configuration d une machine virtuelle Dans VirtualBox : Création d une machine virtuelle : Pour la création d une machine virtuelle, cliquez sur Créer pour accéder à l assistant de création de machine virtuelle. A l étape suivante, indiquer comme nom de machine virtuelle : Debian, ainsi que le système d exploitation : Linux, et la version : Debian 64 bit. Ensuite, nous devons choisir la quantité de RAM allouée à la machine virtuelle. Ici, 1 Go sont suffisants. Serveur Web Page 3
Il faut maintenant créer un disque dur virtuel pour l amorçage de la machine virtuelle. Créer un nouveau disque dur, de type VDI, d une taille fixe de 10Go. Nous pouvons enfin créer la machine. Configuration du réseau : Il faut maintenant configurer la partie réseau de la machine virtuelle. Pour cela, il faut aller dans Configuration, Réseau, et choisir comme mode d accès réseau, Accès par pont, pour que la machine virtuelle puisse communiquer avec les autres machines de réseau local, et accéder à internet. Préparation à l installation : Enfin, il faut monter l image d installation de Debian pour pouvoir finaliser l installation. Pour ce faire, il faut aller dans la partie Stockage, dans Configuration, cliquez sur Contrôleur IDE, puis, et choisir le.iso. Dans la machine virtuelle : Après avoir lancé la machine virtuelle, il faut choisir l option Graphical install. Nous devons tout d abord choisir la langue du système, notre situation géographique ainsi que la langue pour la configuration du clavier. Pour ces 3, nous choisirons français. Il faut ensuite indiquer le nom de la machine : S450-48-1, le mot de passe du superutilisateur sera : btssio, son nom sera : util, et le mot de passe utilisateur : btssio Partitionner les disques : Serveur Web Page 4
Pour la partition du disque, on laissera la configuration proposée par le système en cliquant sur Assisté - utiliser un disque entier, et on choisira la 3eme option proposé par le système : Partitions /home, /var et /tmp séparées. Configurer l outil de gestion des paquets : Nous choisirons comme miroir de l archive Debian France, puis comme serveur ftp.fr.debian.org. On laissera le Mandataire http vide. Sélection des logiciels : Les logiciels à installer sont : Environnement graphique de bureau, et l utilitaire standard du système. Les autres services à installer seront fait manuellement. Configurer le réseau : Il faut maintenant configurer le réseau du serveur pour qu il puisse avoir une IP fixe, pour que les utilisateurs puissent accéder au site internet. Pour ce faire, il faut accéder à l outil réseau qui se trouve dans Application -> Outils système. Sélectionnez (eth1) et modifier. Serveur Web Page 5
192.168.1.3 étant l adresse du serveur 192.168.1.1, l adresse de ma box. Mise à jour du serveur : Pour finaliser la configuration de se serveur, il faut le mettre à jour. Dans le terminal administrateur : apt-get update pour faire la mise à jour de la liste des paquets connus par le système. apt-get upgrade pour faire la mise à jour des paquets. Apache : Installation du serveur Web Apache est un serveur HTTP (protocole de communication client-serveur, couche 7 "Application" du modèle OSI). Il permet la mise en place d'un serveur web et s'occupe d'afficher les différentes pages d un site web. Pour l'installation (dans le terminal) : aptitude install apache2 Pour ajouter des fonctions d'authentification, la gestion du multi-processing et la possibilité de changer le service en mode root: apt-get install apache2-mpm-prefork apt-get install libapache2-mod-chroot apt-get install libapache2-mod-auth-pam apt-get install libapache2-mod-auth-sys-group Pour vérifier si l installation du paquet s est bien déroulée, il faut taper l adresse du serveur dans un navigateur, et un message avec «it works» doit s afficher. Serveur Web Page 6
Transfert de fichier : L'informatique en réseau a permis entre autre le partage de données communes. Il permet depuis un ordinateur, de copier des fichiers vers un autre ordinateur du réseau, ou encore de supprimer ou de modifier des fichiers sur cet ordinateur. Grâce à ce service, on peut implanter, une base de donnée par exemple, depuis n'importe quel ordinateur connecté au même réseau. De nombreux serveurs FTP sont disponibles sous Linux, mais nous avons choisi d'installer ProFTPd. Pour l'installation (dans le terminal) : apt-get install proftpd Si nous ne configurons pas ce service, l utilisateur pour aller dans n importe quel dossier du système. Nous allons donc limiter l accès au dossier /var/www pour l utilisateur util mais il ne pourra pas déposer de dossier, et nous allons créer un compte admin qui aura tous les droits dans ce dossier. Nous allons maintenant créer l utilisateur admin, qui n aura aucune restriction. Adduser admin Pour donner la route par défaut: gedit /etc/proftpd/proftpd.conf Serveur Web Page 7
# Configuration Web GSB DefaultRoot /var/www <Directory /var/www> <Limit READ WRITE> AllowUser admin </Limit> </Directory> DenyAll <- Seul admin a les droits de lire et écrire. <-Refuser tout le monde Pour voir si ce service fonctionne, il faut le tester depuis un client, en entrant comme adresse : ftp://192.168.1.3 Serveur Web Page 8
Quand le compte util essaye de déposer un dossier dans /www, un message apparaît : PHP: Actuellement, notre serveur peut nous afficher que des pages statiques au format HTML. Mais la plupart des sites disposent d'une partie dynamique. C'est pourquoi nous poursuivons par l'installation de PHP 5 pour que le serveur Web puisse gérer les scripts PHP. Pour l'installation (dans le terminal) : aptitude install php5 service apache2 restart Pour vérifier si le paquet a bien été installer, il faut déposer les pages d un site web dynamique dans /var/www Comme nous n avons pas les droits de dépôt dans ce dossier, il faut se les donner : (Dans le terminal) : chmod R 777 /var/www Serveur de base de données MySQL Comme le site dispose d'une base de données, il faut installer un serveur de donnée. Le serveur de base de données est un outil indépendant d'un serveur Web. Son rôle est de permettre le stockage, l'exploitation et la sécurisation de données structurées en bases de données, au sein desquelles seront visibles les tables et occurrences. Pour l'installation (dans le terminal) : apt-get install mysql-server Serveur Web Page 9
Afin de permettre à PHP de communiqué avec MySQL, on doit installer d autres parquets en supplément. aptitude install libapache2-mod-auth-mysql aptitude install php5-mysql service apache2 restart Gestionnaire graphique phpmyadmin phpmyadmin est un gestionnaire de base de données qui utilise MySQL et qui présente une interface graphique. Quelques unes des caractéristiques importantes de phpmyadmin : - La possibilité de créer, supprimer et modifier des bases de données. - Supporte les phrases écrites en SQL. - Permet la création d utilisateurs ayant différents privilèges pour travailler sur la base de données créée ou sur n importe laquelle. Pour l'installation (dans le terminal) : Aptitude install phpmyadmin Il faut ensuite attribuer un mot de passe pour mysql : btssio, puis un mot de passe pour phpmyadmin : btssio Pour tester si le paquet s est bien installé, il faut taper l adresse du serveur et /phpmyadmin : 192.168.1.3/phpmyadmin Serveur Web Page 10
En rentrant comme nom d utilisateur : root, et comme mot de passe : btssio, on accède bien au gestionnaire de base de donnée. OpenSSL SSL est un système qui permet d'échanger des informations entre 2 ordinateurs de façon sûre. Il assure 3 choses: -Confidentialité: il est impossible d'espionner les informations échangées. -Intégrité: il est impossible de truquer les informations échangées -Authentification: Il permet de s'assurer de l'identité du programme, de la personne ou de l'entreprise avec laquelle on communique. Pour l'installation (dans le terminal) : aptitude install openssl Il faut ensuite créer une clé et un certificat pour le VirtualHost correspondant au site par défaut, qui contiendra Appli-Frais : openssl genrsa out /etc/apache2/applifrais.key 1024 Une clé, applifrais, s est créée dans le répertoire apache2 Serveur Web Page 11
openssl req new x509 days 3650 key /etc/apache2/applifrais.key out /etc/apache2/applifrais.crt Après l entrée de cette ligne, le terminal nous demandera des informations comme le pays, l organisation Il faut maintenant activer le module SSL et modifier le fichier /etc/apache2/sitesavailable/default a2enmod ssl gedit /etc/apache2/sites-available/default Mettre ses indications suivantes dans la fenêtre qui s'affiche: Comme le certificat n'a pas été validé par une autorité de certification compétente, un message d'erreur apparait: Cliquer sur: -Je comprends les risques -Ajouter une exception Serveur Web Page 12
-Confirmer l'exception de sécurité Le site est maintenant en https DNS L architecture de réseau TCP/IP sur lequel est basé Internet et la plupart des réseaux locaux actuels, utilisent des adresses IP numériques du type 192.168.0.1. Mais pour faciliter la lecture de ces adresses par l homme, un système permet de transformer ces adresses en adresses plus lisibles. Pour l'installation (dans le terminal) : aptitude install bind9 Après installation, il faut configurer le dossier /etc/bind/named.conf.local Il contient la liste des zones que le DNS doit prendre en charge. zone "sisr3.bts-sio.ozenne.fr" IN { <- Nom du domaine type master; <-Serveur principal de ce domaine file "base.sisr3.bts-sio.ozenne.dns"; <-chemin du fichier qui contiendra la correspondance entre les noms et les adresses IP pour ce domaine. allow-update { any; }; }; zone "0.168.192.in-addr.arpa" IN { type master; file "sisr3.bts-sio.ozenne.inverse"; Serveur Web Page 13
}; allow-update { none; }; Maintenant, il faut créer et configurer le fichier «base.sisr3.bts-sio.ozenne.dns» que l on déposera dans /var/cache/bind $TTL 86400 @ IN SOA sisr3.bts-sio.ozenne.fr root.sisr3.bts-sio.ozenne.fr ( 42 ; <-N de série pour les secondaires 3H ; <-Temps de rafraîchissement des secondaires 15M ; <-Temps d attente entre 2 MAJ (15 min) 1W ; <-Durée de fin d une information (1 week) 1D ) ; <-temps avant la déclaration d invalidité du principal @ IN NS Serv-Debian.sisr3.bts-sio.ozenne.fr. ; <-Declaration du serveur Serv-Debian IN A 192.168.1.3 ; <-association pour le nom de machine www IN A 192.168.1.3 ; <-déclaration d association pour le nom de machine www Et, il faut créer et configurer le fichier «sisr3.bts-sio.ozenne.inverse» que l on déposera dans /var/cache/bind $TTL 86400 @ IN SOA 0.168.192.in-addr-arpa root.0.168.192.in-addr-arpa ( 42 3H 15M 1W 1D ) @ IN NS Serv-Debian.sisr3.bts-sio.ozenne.fr. ; <-Declaration serveurs de noms par nom DNS 3 IN PTR www ; <-association le n 253 vers le nom de machine www 3 IN PTR Serv-Debian.sisr3.bts-sio.ozenne.fr. ; Ensuite, il faut passer aux tests des configurations: Named-checkconf, vérifie la validité des déclarations de zone Il n y a aucun problème sur les déclarations de zone. Named-checkconf, vérifie la validité d une zone. On vérifie d abord la zone sisr3.bts-sio.ozenne.fr Serveur Web Page 14
Ici, tout a l air ok. Enfin, on vérifie la zone 0.168.192.in-addr.arpa Visiblement, ici aussi tout est ok. Maintenant, il faut paramétrer les clients pour qu ils aillent s informer auprès de leur serveur DNS. Dans la carte réseau, il faut mettre comme DNS : 192.168.1.3 Quand je rentre l adresse du serveur : debian.sisr3.bts-sio.ozenne.fr, l adresse est introuvable pour le navigateur. Conclusion : Ce TP m a permis d apprendre à configurer un serveur web Debian avec le service apache, FTP, PHP, MySQL, PhpMyAdmin, SSL ainsi que DNS, malgré le faite que le service DNS ne soit pas fonctionnel. Serveur Web Page 15
Sauvegarde et restauration Sauvegarde de la base de données Pour créer le fichier sauvegarde.sql Mysqldump user=root password=btssio -A >/home/util/backup/sauvegarde-`date I`.sql Restauration de la base de données mysql h localhost u root p (nom de la bd) < sauvegarde-2012-12-21.sql Sauvegarde du site web tar cvf sauvweb.tar /var/www Automatisation de la sauvegarde Script pour la sauvegarde de la base de données Serveur Web Page 16
Script pour la sauvegarde de la base de données et du site web Serveur Web Page 17