Mise en Place d'Un Serveur LAMP Complet

Embed Size (px)

Citation preview

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    1/24

    A lattention de Monsieur Alain RAKOTONIRINA

    MISE EN PLACE DUN

    SERVEUR LAMPCOMPLET

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    2/24

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    3/24

    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.

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    4/24

    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

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    5/24

    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.

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    6/24

    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/25/2018 Mise en Place d'Un Serveur LAMP Complet

    7/24

    5

    I. PRESENTATION DE LAMP ET DEBIND

    1.Linuxa. 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.Apachea. Dfinition :

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    8/24

    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.MySQLLe 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 ).

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    9/24

    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.PHPPHP 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.BindBind ou Berkeley Internet Name Daemon est le serveur DNS (Domain Name

    Service) le plus utilis sur Internet surtout dans le onde UNIX.

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    10/24

    8

    II. INSTALLATION ETCONFIGURATION

    1.Ubuntu 13.10 et Windows XPa.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 pouvoirmodifier 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 :

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    11/24

    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 XPIl suffit daller dans le panneau de configuration\Connexions rseau et proprit de la carte

    rseau concern et entrer les adresses suivants :

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    12/24

    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 UbuntuToujours en tant que root

    Installation : taper sudo apt-get install bind9

    Aller dans bind : taper cd /etc/ bind

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    13/24

    11

    Configuration : taper nano /etc/resolv.conf

    c. Tout en tant dans le dossier bind, copier db.255 en db.nom_domaine :taper cpdb.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.orgen db.info4.org.invpuis modifier comme suit :

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    14/24

    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 deligne de ce fichier :

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    15/24

    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 commesuit :

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    16/24

    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.PHPMaintenant 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 :

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    17/24

    15

    4.MySQLPassons 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 :

    mysqlu rootp ensuite entr le mot de passe

    mysqlu rootp 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)

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    18/24

    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.phpMyAdminPour 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

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    19/24

    17

    III. DEMONSTRATION ET TEST1.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 :

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    20/24

    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

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    21/24

    19

    2.Test Apache et PHP

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    22/24

    20

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    23/24

    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.

  • 5/25/2018 Mise en Place d'Un Serveur LAMP Complet

    24/24

    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