Está en la página 1de 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

WEBOGRAPHIE
www.lafermeduweb.net/billet/tutorial-creer-un-serveur-web-complet-sous-debian-
4-postfix-et-courier-168.html
www.tutoriels-video.fr/installation-et-configuration-dun-serveur-dedie-
debia/index.html
www.doc.ubuntu-fr.org/lamp
http://www.commentcamarche.net/faq/7971-installation-rapide-de-lamp-apache-
mysql-php-sous-linux