Téléchargez comme PDF, TXT ou lisez en ligne sur Scribd
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 24
A lattention de Monsieur Alain RAKOTONIRINA
MISE EN PLACE DUN
SERVEUR LAMP COMPLET
1
REMERCIEMENT Nous tenons remercier Mr Alain, professeur en informatique de la filire informatique dans Administration et Scurit Rseaux - tuteur de notre projet. En premier lieu pour nous avoir permis de raliser ce projet tutor. En effet, nous voulions mener bien un projet dans les rseaux et cest pourquoi nous sommes fier davoir pu obtenir ce sujet. Pour son soutien, son coute et sa disponibilit tout au long de la ralisation du projet, nous la remercions galement.
2
SOMMAIRE
CAHIER DES CHARGES ............................................................................................................................. 4 I. PRESENTATION DE LAMP ET DE BIND ............................................................................................. 5 1. Linux............................................................................................................................................ 5 2. Apache ........................................................................................................................................ 5 3. MySQL ......................................................................................................................................... 6 4. PHP ............................................................................................................................................. 7 5. Bind ............................................................................................................................................. 7 II. INSTALLATION ET CONFIGURATION ................................................................................................ 8 1. Ubuntu 13.10 et Windows XP .................................................................................................... 8 2. Apache 2 ................................................................................................................................... 13 3. PHP ........................................................................................................................................... 14 4. MySQL ....................................................................................................................................... 15 5. phpMyAdmin ............................................................................................................................ 16 III. DEMONSTRATION ET TEST ............................................................................................................ 17 1. Test du DNS .............................................................................................................................. 17 2. Test Apache et PHP................................................................................................................... 19 CONCLUSION ......................................................................................................................................... 21 WEBOGRAPHIE ...................................................................................................................................... 22
3
INTRODUCTION Tout au long de lanne universitaire, nous avons vu le monde de Linux de faon pouvoir intgrer les entreprises avec des qualifications adquates. Nous avons choisis ce projet tutor pour valuer nos connaissances sur un thme prcis. Nous allons tout de suite voir les tapes de la mise en place en place de serveur o nous verrons tout dabord dans la premire partie la prsentation de LAMP et de BIND puis ensuite dans la deuxime partie les installations et les configurations et enfin dans la dernire partie les dmonstrations et tests sur le serveur. 4
CAHIER DES CHARGES Enseignant tuteur Mr Alain RAKOTONIRINA Thme(s) Electronique Informatique/Programmation Rseaux non non oui
Rsum de la proposition
Titre : Mise en place dun serveur LAMP complet
Rsum du travail attendu : Installation dun Domain Name Service (DNS) Ralisation et test du serveur Web
Achat de Matriel ? : non
Outils utilis : Virtualisation de machines sous VMware Workstation
5
I. PRESENTATION DE LAMP ET DE BIND 1. Linux a. Un noyau : Linux dsigne au sens strict un noyau de SE. Le noyau est la couche de base d'un SE. C'est le noyau qui gre la mmoire, l'accs aux priphriques(disuqe dur, carte son, carte rseau), la circulation des donnes, les droits d'accs, les multiples processus qui correspondent aux multiples attaches que l'ordi doit excuter en meme temps , etc Par contre, le noyau ne gre pas le mail, l'affichage de page web ou encore le traitmenet du texte. Ce sont de programme ou applicaion qui s'en charge. Ces programmes vienntent se greffer sur le noyau,et ils doivent tre adapts celui-ci. Ce noyau de SE a l'originalit d'oetre multiutilisateurs et multitache et de fonctionner sur de nombreuses plateformes. b. Une distribution GNU/Linux (Debian, Linux, Kubuntu, Mint ) : Comme nous venons de le voir, Linux ne se suffit pas lui mme. Avec un simple noyau, on ne peut rien faire. Le noyau Linux vient donc l'intrieure de distributions. Une distributon GNU/LINUX, c'est un ensemble cohrent de plusieurs choses. un noyau Linux un ensemble de logiciel de base issue du projet GNU d'autres programmes en libre (un navigateur web, un serveur mail, un serveur FTP,...) issu d'autres projets. Eventuellement quelsques logiciels propritaires. Une mthode pour installer et desinstaller facilement ces programmes. Un programme d'installation du systme d'exploitation.
2. Apache a. Dfinition : 6
Apache est un logiciel libre dvelopp par Apache Software Foundation . Il a un environnement multiplate-forme. Cest un serveur http et il est le plus clbre du Word Wide Web. b. Fonctionnalits : Il a t conu pour prendre en charge plusieurs modules lui donnant des fonctionnalits supplmentaire. Il peut dans ce cas prcis interprter les langages Perl, PHP, Python et Ruby. Mais peut faire galement office de serveur proxy, Common Gateway Interface, Server Side Includes, rcriture dURL, ngociation de contenu, protocoles de communication additionnels, etc.
3. MySQL Le langage SQL (Structured Query Language) est un langage de requte utilis pour interroger des bases de donnes exploitant le modle relationnel. SQL fait l'objet d'une norme ANSI. Cependant, la quasi-totalit des serveurs de bases de donnes proposent des extensions qui rendent les programmes difficilement portables. a. Les points forts de MySQL sont : - implmentation libre et populaire ; - facile mettre en uvre ; - rapide apprendre ; - support multi-plateforme ; - fiable et rapide. b. Ses principaux points faibles sont : - ne possde pas de mcanisme transactionnel dans sa version 3 ; - n'implmente pas les rfrences d'intgrit relationnelles ; - absence de procdures stockes et triggers. Un serveur MySQL gre une ou plusieurs base de donnes. Chaque base de donnes contient diffrents types d'objets (tables, index, fonctions). L'objet le plus reprsent d'une base de donnes est la table. Chaque table (appeles encore relation ) est caractrise par une ou plusieurs colonnes (ou attributs ). 7
Le langage qui permet de grer ces objets est appel Langage de Description des Donnes (LDD). Les donnes sont stockes dans les tables sous forme de lignes (ou tuples ). Le langage qui permet de manipuler les donnes est appel Langage de Manipulation des Donnes (LMD). Cependant, grce la grande popularit de MySQL, d'autres interfaces plus conviviales ont vu le jour. Les plus utilises sont : - phpMyAdmin est, comme son nom l'indique, une interface Web crite en PHP ; - Webmin, il existe un module d'administration de MySQL pour Webmin ; - WinMySQLAdmin est une interface pour les systmes Windows ; 4. PHP PHP ou Hypertext Preprocessor est un langage de programmation libre principalement utilis pour produire des pages Web dynamiques via un serveur http comme Apache. Il a t conu pour permettre la cration dapplications dynamiques le plus souvent dveloppes pour le Web. Cest un langage de script utilis le plus souvent du ct serveur. Le serveur interprte le code PHP des pages web demandes et gnre du code et des donnes.
5. Bind Bind ou Berkeley Internet Name Daemon est le serveur DNS (Domain Name Service) le plus utilis sur Internet surtout dans le onde UNIX.
8
II. INSTALLATION ET CONFIGURATION 1. Ubuntu 13.10 et Windows XP a. Configuraiton des adresses IP Comme nous faisons la dmonstration localement, la configuration de nos ordinateurs se feront comme suit : - Pour le serveur Ubuntu : Avant toute chose, il nous faut avoir les droits dadministrateur pour pouvoir modifier les fichiers systmes de notre systme dexploitation. Pour ce faire, il faut crer un utilisateur root : lancer shell , taper sudo passwd root saisir le nouveau de passe et confirmer/ si ok taper sudo su root /saisir le mot de passe/ cet instant, on est normalement connecter en tant que root .
Nous allons faire un configuration permanente pour la carte rseau : Se connecter au shell ou terminal en tant que root et saisir sudo nano /etc/network/interfaces On est maintenant dans nano et on commence configurer de la manire suivante : 9
Il faut redmarrer le service rseau : sudo /etc/init.d/networking restart Le dns-search info4.org sera notre futur nom de domaine.
- Pour le Windows XP Il suffit daller dans le panneau de configuration\Connexions rseau et proprit de la carte rseau concern et entrer les adresses suivants : 10
Faire en sorte davoir une rponse ping Ubuntu cest--dire ping 192.168.0.223 ( faire une fois que Ubuntu est configur).
b. Installation et configuration de Bind sur Ubuntu Toujours en tant que root Installation : taper sudo apt-get install bind9 Aller dans bind : taper cd /etc/ bind 11
Configuration : taper nano /etc/resolv.conf
c. Tout en tant dans le dossier bind, copier db.255 en db.nom_domaine :taper cp db.255 db.info4.org d. Editer le fichier de zone : taper nano db.info4.org :
La ligne IN MX 10 ubuntu.info4.org est utile pour le ??? .
e. Copier ce db.info4.org en db.info4.org.inv puis modifier comme suit : 12
f. Faire une sauvegarde de named.conf.default-zones : Taper cp named.conf.default-zones named.conf.default-zones.sauv g. Configurer ce fichier : taper nano named.conf.default-zones et ajouter la fin de ligne de ce fichier :
13
h. Redmarrer le service : taper sudo /etc/init.d/bind9 restart on a [ok] [ok] 2. Apache 2 Installer apache2 avec la commande : apt-get install apache2 Editer le fichier hosts : nano /etc/hosts de la manire suivante :
Se placer dans /etc/apache2 puis configurer le fichier suivant : nano ports.conf :
Dsactiver le site par dfaut : taper a2dissite default o est souvent crit It works ! . Le mot default dans a2dissite default est le nom du fichier dans le dossier sites- available de apache2. Il se peut que le nom diffre comme 000-default.conf Redmarrer le service : taper /etc/init.d/apache2 restart puis sudo /etc/init.d/apache2 reload Aller dans /etc/apache2/sites-available et copier default ou 000-default.conf ( diffrent pour Debian et Ubunut) en info4.org.conf puis lditer comme suit : 14
Crer le rpertoire racine : mkdir p /var/www/info4 . A notre tape actuel, notre serveur ne prend quen charge le des site static ( index.html). Cest dans le rpertoire info4 quon met les fichiers pour le web. Acitver le site : taper a2ensite info4.org . Crer le fichier index.html dans /www/info4/index.html . Restarter et reloader le service apache2 Si nous voulons ajouter un site comme : www.koto.mg, il suffit dajouter un zone dans le fichier /etc/bind/named.conf.default-zones. Ensuite, il faut crer le fichier de configuration koto.mg.conf dans /etc/apache2/sites-available. Puis, le rpertoire et les fichiers du site web dans /var/www/koto. Enfin, activer le site en saisissant a2ensite koto.mg . 3. PHP Maintenant que notre serveur Apache2 est oprationnel, nous allons pouvoir lui ajouter le plugin PHP5. Il existe deux types d'installation de PHP5. Soit le mode CGI, soit le module apache (libapache2-mod-php5). Nous utiliserons le mode apache qui a l'avantage d'tre fonctionnel ds son installation avec apache. Installation de PHP : apt-get install libapache2-mod-php5 puis apt-get install php5-gd php5-mcrypt php-pear Dans le rpertoire web, supprimons le fichier index.html de test prcedemment cr, puis crez un nouveau fichier index.php dans ce rpertoire. Plaons nous dans /var/www/info4 puis tapant : rm -rf index.html puis nano index.php : Comme exemple : 15
4. MySQL Passons maintenant l'installation de notre base de donnes MySQL qui est le plus utilis avec PHP. Installation : apt-get install mysql-server Les paquets suivants devraient tre installs: libdbd-mysql-perl libdbi-perl libnet-daemon- perl libplrpc-perl mysql-client-5.0 mysql-server mysql-server-5.0 psmisc. Comme nous l'avions vu prcedemment, il existe un package php5-mysql qui va nous permettre d'installer la prise en charge de MySQL dans PHP. Taper: apt-get install php5-mysql Les paquets suivants devraient tre installs: libmysqlclient15off mysql-common php5-mysql MySQL est maintenant install, passons sa configuration.
Changer le mot de passe de MySQL Premire chose faire, car assez critique, attribuer un mot de passe root votre serveur MySQL si celui-ci ne vous est pas demand lors de l'installation prcdente. Taper les commandes : mysql u root p ensuite entr le mot de passe mysql u root p et saisir le mot de passe. use msql UPDATE user SET password = PASSWORD('VOTREPASSMYSQL') WHERE user = 'root'; Taper: flush privileges; Voil, maintenant votre mot de passe root est dfini (N'oubliez pas de remplacer VOTREPASSMYSQL par notre propre mot de passe) 16
La configuration de base de MySQL suffit pour notre environnement web, pour modifier des options spcifiques, il suffit de modifier le fichier /etc/mysql/my.cnf 5. phpMyAdmin Pour plus de confort, il est recommand d'installer phpMyAdmin qui nous permettra de grer notre base de donnes MySQL visuellement partir de notre navigateur web. Installation : apt-get install phpmyadmin La configuration de phpMyAdmin est prte tre utilise, mais il est imprative dajouter la ligne suivante dans /etc/apache2/apache2.conf : Include /etc/phpmyadmin/apache.conf
17
III. DEMONSTRATION ET TEST 1. Test du DNS Sous Ubuntu : a. Faire un test de ping : taper ping www.info4.org :
b. Faire un test nslookup : taper nslookup 192.168.0.223
Puis nslookup www.info4.org :
18
Puis enfin dig ubuntu.info4.org ou dig info4.org ou dig 192.168.0.223 pour avoir le resultat suivant :
Sous XP : Taper nslookup dans la console windows pour tester si notre bind9 bien fonctionner
19
2. Test Apache et PHP
20
21
CONCLUSION Nous avons pu, partir du projet obtenir un serveur LAMP sous debian permettant d'hberger et de grer vos sites web PHP / MySQL . Il nous faut cependant rgler minutieusement le server, notamment en terme de scurit que nous navons pas eu loccasion de le faire. 22