Table des matières
Liste des abréviations .............................................................................................................................. 3
Introduction ............................................................................................................................................. 4
I.         Présentation de CentOS ................................................................................................................... 5
      1.       Les avantages de CentOS.......................................................................................................... 5
      2.       Les inconvénients de CentOS .................................................................................................. 5
II.        Configuration des services ............................................................................................................... 6
      1.       Apache ........................................................................................................................................ 6
                 Installation d’apache ............................................................................................................. 6
                 Configuration ......................................................................................................................... 7
      2.       MySQL ....................................................................................................................................... 9
                 Instalation MySQL ............................................................................................................... 9
                 Configuration ....................................................................................................................... 10
      3.       PHP ........................................................................................................................................... 12
                 Installation de PHP ............................................................................................................. 12
                 Test........................................................................................................................................ 13
      4.       Phpmyadmin ............................................................................................................................ 14
                 Installation de phpmyadmin............................................................................................... 14
                 Test........................................................................................................................................ 15
      5.       Webmin .................................................................................................................................... 16
                 Installation de webmin ....................................................................................................... 16
                 Test........................................................................................................................................ 16
      6.       FTP ........................................................................................................................................... 17
                 Installation VSFTPD .......................................................................................................... 17
                 Configuration ....................................................................................................................... 18
                 Test........................................................................................................................................ 18
      7.       DNS ........................................................................................................................................... 19
                 Installation de DNS ............................................................................................................. 19
                 Configuration ....................................................................................................................... 19
      8.       SSH ........................................................................................................................................... 24
                 Installation de OpenSSH..................................................................................................... 24



                                                                                 1
      Configuration ....................................................................................................................... 25
   9.       Pop Imap .................................................................................................................................. 27
              Installation dovecot ............................................................................................................ 27
              Configuration ....................................................................................................................... 28
              Test........................................................................................................................................ 28
   10.         Postfix ................................................................................................................................... 29
              Installation de postfix ......................................................................................................... 30
              Configuration ....................................................................................................................... 30
   11.         Htaccess ................................................................................................................................ 31
   12.         Les captures du site web ..................................................................................................... 35
Conclusion.............................................................................................................................................. 36




                                                                             2
Liste des abréviations



PHP:       Personal Home Page (Hypertext Preprocessor)

RHEL:      Red Hat Enterprise Linux

RHN:       Red Hat Network

SELinux:   Security-Enhaced Linux

RPM:       Red Hat Package Manager

HTTP:      Hypertext Transfer Protocol

RFC:       Requests For Comments

API:       Application Programming Interface

SQL:       Structured Query Language

CGI:       Common Gateway Interface

ASP:       Active Server Page de Microsoft

FTP:       File Transfer Protocol

BSD:       Berkeley Software Distribution

DNS:       Domain Name System

SSH:       Secure Shell

POP:       Post Office Protocol

IMAP:      Internet Message Access Protocol




                                            3
Introduction
Pour compléter notre formation en première année cycle ingénieur et pour clôturer le module
« Technologies web » il nous a été attribué de configurer les différents services du système
d’exploitation CentOS et la réalisation d’un site web en php sous Linux; pour une liaison
entre le système d’exploitation et la programmation web.

CentOS a un grand nombre d'avantages par rapport aux autres systèmes d'exploitation, surtout
en ce qui concerne la facilité de la configuration des services, puisque la documentation et les
tutoriaux sont disponibles que ce soit sur internet ou en bouquin.

Dans ce rapport, on présentera une vision sur le projet effectué et plus de détails à propos des
tâches effectuées.




                                               4
I. Présentation de CentOS
CentOS(abréviation          de        Système
communautaire d'exploitation d'entreprise)
de la distribution Linux est une entreprise
de qualité, librement disponible, le système
d'exploitation open source qui est dérivé du
code source de Red Hat Enterprise Linux
(RHEL) et développé et maintenu par le
projet CentOS.


Le projet CentOS est plus que juste une distribution Linux. Les membres du projet travaillent
à fournir un appui, du matériel de formation, et, dans l'avenir, même des certifications. Bien
qu'à sa base, le projet CentOS englobe tout un écosystème de logiciels, développeurs, et des
projets. i
    1.   Les avantages de CentOS

        Support gratuit, mises à jour applicatives et les patchs de sécurité réguliers.
        Stabilité quasi-équivalente à la distribution Red Hat utilisé dans de gros
         environnements de production.
        Cycle de développement suivant celui de Red Hat (7ans pour une release).
        L'outil "YUM" facilitant l'exploitation et la gestion des paquets au format RPM.
        Arrivée du projet Spacewalk (dérivé de RHN Satellite) offert par Red Hat à la
         communauté.
        Nombreux manuels en ligne (en anglais et en français) de Red Hat, 100% compatibles
         CentOS Linux.
        SELinux pour les contraintes de sécurité.ii


    2. Les inconvénients de CentOS

        Absence des supports applicatifs de la part des gros fabricants de matériels.
        Limite au niveau des dépôts standards fournissant les paquets RPM.
        Difficulté de création de ses propres paquets RPM.


                                                  5
II. Configuration des services
       Apache

Apache est le serveur web le plus répandu sur
Internet (50% des serveurs en sont équipés1). Il
s'agit d'un programme qui tourne sur une machine
(un serveur ou sur un poste en local) qui permet à
des clients d'accéder à des pages web, ou tout autre
fichier présent sur le serveur à partir d'un navigateur
ou tout autre programme supportant le protocole
HTTP.
Apache dispose de nombreuses fonctionnalités, il permet l'utilisation de modules, la
possibilité de définir une configuration spécifique pour chaque répertoire partagé, des
restrictions, ... Il est souvent utilisé avec des modules comme Perl et/ou PHP afin de rendre le
contenu des pages dynamiques.
          • C'est un serveur web HTTP aussi flexible que puissant
          • Il implémente les derniers protocoles, HTTP/1.1 (RFC2616) inclus
          • Il supporte des modules externes 100% configurables
          • Il peut être personnalisé en écrivant soi-même ses propres modules en utilisant l'API
          Apache
          • Son code source est disponible et est accompagné d'une licence non restrictive
          • Il peut tourner sous la plupart des plateformes existantes (autant à base UNIX que
          NT)
          • Il est souvent mis à jour par une équipe très active
          • Il est testé en permanence, et les bugs sont corrigés rapidement.iii

         Installation d’apache


              Avec ligne de commande :
              - yum install httpd



11
     Netcraft en date de janvier 2008

                                                   6
   Configuration




                    7
-   Nous avons créé une page index.html dans le répertoire /var/www/html




    L’exécution du programme




                                        8
 MySQL

MySQL, le plus populaire des serveurs de
bases de données SQL Open Source, est
développé,        distribué     et     supporté
par MySQL        AB. MySQL        AB est     une
société     commerciale,      fondée   par   les
développeurs de MySQL, qui développent
leur activité en fournissant des services
autour de MySQL.
   -      MySQL est un système de gestion de bases de données.
   -      MySQL est un serveur de bases de données relationnelles.
   -      MySQL est Open Source.
   -      Le serveur de bases de données MySQL est très rapide, fiable et facile à utiliser
   -      MySQL Server fonctionne en mode client/serveur ou en système embarqué. iv


         Instalation MySQL v



                                                   9
-   Yum install mysql mysql-server


   Configuration




                                     10
11
 PHP

                                                    PHP, (Personal Home Page) est un
                                                    langage de programmation complet, assez
                                                    proche du C. Il fournit :
                                                         des structures de données.
                                                         des structures de contrôle.
                                                         des instructions de gestion des
                                                    entrées/sorties.
                                                    Il est diffusé également sous licence libre.
                                                    Il permet la création de pages web
                                                    dynamiques.
                                                    Il est considéré comme une alternative à
CGI, Perl, ASP (Active Server Page de Microsoft).
Développé à l'origine pour Linux, il est maintenant portable sur plusieurs environnements
(Windows 9.x, NT).vi

      Installation de PHP


   -   Yum install php



                                            12
   Test
           Programme de la page php




                                      13
Sous Windows




     Phpmyadmin

    Installation de phpmyadmin
On télécharge les sources depuis le site officiel vii
wget       http://surfnet.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-3.1.1-all-
languages.tar.gz



                                                 14
Puis on extrait le tout dans notre répertoire web (on dira ici que c’est /var/www/)

cd /var/www/
tar xvzf phpMyAdmin-3.1.1-all-languages.tar.gz

On va utiliser leur fichier exemple comme fichier de configuration

Mv phpMyAdmin-3.1.1-all-languages phpmyadmin
cd phpmyadmin
cp config.sample.inc.php config.inc.php
vi !$

Ce qui est nécessaire dans ce fichier?

$cfg['blowfish_secret']   =   '2454kndfjn0987';       //entrer   ici   une   suite   de   caracteres
alphanumerique au hasard
$i=0;
$i++;
$cfg['Servers'][$i]['auth_type']   = 'cookie';



       Test




                                                 15
 Webmin

Webmin est un programme qui simplifie                   d’administration système se trouve alors
l’administration des systèmes Linux ou                  grandement simplifié.viii
Unix. En effet pour créer des comptes,
installer un serveur web ou configurer un
serveur de messagerie, il faut généralement
éditer   à      la   main    les   fichiers   de
configuration ou exécuter des commandes.
Webmin permet de réaliser ces tâches via
une interface web en mettant à jour toute la
configuration        nécessaire.   Le    travail



    Installation de webmin ix
Pour installer le webmin on télécharge le paquet suivant :

   -     wget http://prdownloads.sourceforge.net/webadmin/webmin-1.400-1.noarch.rpm
   -     rpm -ivh webmin-1.400-1.noarch.rpm

        Test




                                                   16
 FTP

Le serveur FTP (File Transfer Protocol)
permet, comme son nom l'indique de                        ProFTPd.
transférer des fichiers par Internet ou par le            Pure-FTP.

                                                       
biais   d'un      réseau   informatique   local
                                                           VsFTPd.x
(intranet). Si vous en avez l'autorisation,
vous pouvez télécharger et envoyer des
fichiers sur un ordinateur distant faisant
fonctionner un tel serveur.
Le port par défaut et le plus souvent utilisé
est le port 21.
On trouve de nombreux serveurs FTP pour
Linux/Unix/BSD comme :



       Installation VSFTPD xi


Yum install vsftpd




                                                  17
   Configuration

Dans le fichier /etc/vsftpd/vsftpd.conf :
anonymous_enable=NO, Puis on autorise au utilisateur locaux du système à se connecter au
serveur ftp par dé commenter la ligne suivante :
local_enable=YES
Pour autoriser aux utilisateurs d'uploader des fichiers sur le serveur:
write_enable =YES




      Test

                                                18
 DNS

DNS (Domain Name System) est un                      les services DNS peuvent résoudre ce nom
système d’appellation d’ordinateurs et de            en une autre information qui lui est
services   réseau   organisé    selon    une         associée, par exemple une adresse IP. xii
hiérarchie de domaines. L’attribution de
noms DNS est utilisée sur les réseaux
TCP/IP tels qu’Internet afin de localiser les
ordinateurs et les services au moyen de
noms conviviaux. Lorsqu’un utilisateur
entre un nom DNS dans une application,


      Installation de DNS

yum install bind-chroot


      Configuration

Pour la configuration du DNS on a utilisé webmin



                                                19
Démerrer le dns


Service bind start




                     20
Adresse




Serveur




Alias




          21
22
-    Test

Pour vérifier le fonctionnement de notre serveur DNS, on va le tester avec « nslookup » et
host.


Sous windows




                                           23
 SSH

SSH est un shell sécurisé (Secure SHell)           SSH      permet   d’établir   un   canal   de
qui vous permet de vous connectez à une            communication        sécurisée      et     de
machine distante à travers le réseau, cela         s’authentifier de manière forte (mise en
peut être une machine de votre réseau local        place de paire de clés) sur le serveur
mais également une machine située à                distant.xiii
Londres, Madrid ou New York ! En outre,
il vous permet de lancer des applications
sur la machine distante. Vous pouvez
également effectuer des transferts de votre
machine    locale   sur   le   serveur   et
inversement tout cela de manière sécurisée.


      Installation de OpenSSHxiv

   -   Yum install openssh




                                              24
   Configuration




                    25
26
 Pop Imap

   -   Le protocole POP

Ce protocole est conçu pour un traitement des emails en mode "non-connecté" : tous les
emails sont téléchargés sur le poste de l'utilisateur par le logiciel de messagerie et peuvent être
supprimés du serveur. La connexion n'est alors plus nécessaire que pour vérifier la présence
de nouveaux messages.

   -   Le protocole IMAP

Avec ce protocole, les messages ne sont pas supprimés lors de la récupération, mais toutes les
modifications apportées sur votre compte (déplacement, marquage, suppression) sont
également appliquées coté serveur.

   -   Dovecot

Un serveur de boîte à lettre sécurisé, qui prend en charge les services POP et IMAP, et les
boîtes aux lettres au format mbox ou Maildir.

    Installation dovecot xv

Yum install dovecot

                                                27
   Configuration

Dans le fichier /etc/dovecol.conf




   Protocoles: spécifie les protocoles disponibles aux utilisateurs d'accéder à leur
   messagerie. Dovecot supporte imap (s) et POP3 (s), le tout ou partie peut être utilisée.


   Mail_location: spécifie le format et l'emplacement de chaque boîte à lettre des
   utilisateurs. Ici, nous voyons que nous utilisons le format maildir et chaque utilisateur a sa
   propre boîte à lettres située à ~ / Maildir .On peut trouver des exemples de format mbox
   sont fournis dans le fichier de configuration


   Login_process_size: Les notes de version de CentOS 5.1 indiquent que "le paquet
   dovecot sur les noyaux x86_64 nécessite le paramètre "login_process_size = 64" pour être
   ajouté au fichier / etc / dovecot.conf après une mise à niveau vers CentOS 5.1 ". 32-Bit
   installations ne sont pas affectées et ne nécessitent pas de paramètre.


      Test




                                              28
 Postfix


Postfix est un serveur de messagerie
électronique et un logiciel libre développé
par Wietse       Venema et         plusieurs
contributeurs. Il se charge de la livraison
de courriers électroniques(courriels) et a
été conçu comme une alternative plus
rapide, plus facile à administrer et plus
sécurisée que l'historique Sendmail. xvi




                                               29
   Installation de postfix xvii


Yum install postfix

      Configuration

Postfix fichiers de configuration sont stockés dans / etc / postfix . Les deux principaux fichiers
de configuration de Postfix sont master.cf et main.cf , bien que nous ne serons
traitant main.cf ici. D'abord nous allons faire quelques ajouts ou des modifications
aux main.cf fichier de configuration. Les lignes suivantes doivent être ajoutées, modifiées ou
non commentée:


   myhostname = www.lsi.ma

   mydomain = lsi.ma

   myorigin = $ mydomain

   inet_interfaces = all

   mydestination = $ myhostname, localhost. $ mydomain, localhost, $ mydomain

   mynetworks = 192.168.0.0/24, 127.0.0.0 / 8

   relay_domains =

   home_mailbox = Maildir /

   myhostname: Le nom d'hôte du système (par exemple, le système est appelé mail ou
   mail.example.com).


   mydomain: Le nom de domaine pour le serveur de messagerie (il peut être un nom de
   domaine vrais ou faux).


   myorigin: Le nom de domaine d’où provient le courrier électronique localement posté.


   inet_interfaces: Définit    les    interfaces    réseau   où   Postfix   peut   recevoir    les
   courriers. Celles-ci doivent inclure au moins localhost et le domaine local.




                                               30
mydestination: C'est la liste des domaines qui seront livrés.


    mynetworks: Une liste des adresses IP de confiance qui peut envoyer des messages via le
    serveur. Si les utilisateurs essayant d'envoyer des courriels via le serveur provenant d'une
    adresse IP ne figure pas ici sera rejetée.


    home_mailbox: Définit le chemin de la boîte à lettre relatif au répertoire home de
    l'utilisateur et spécifie également le style de la boîte à lettre pour être utilisé. Postfix
    supporte deux formats Maildir et mbox.


       Test




     Htaccess


Les fichiers .htaccess peuvent être utilisés dans n'importe quel répertoire virtuel ou sous-
répertoire.

Les principales raisons d'utilisation des fichiers .htaccess sont :

   Gérer l'accès à certains fichiers.



                                                 31
   Ajouter un mime-type.

   Protéger l'accès à un répertoire par un mot de passe.

   Protéger l'accès à un fichier par un mot de passe.

   Définir des pages d'erreurs personnalisées.

Il s'agit d'une des applications les plus utiles du fichier .htaccess car elle permet de définir de
façon sûre (à l'aide d'un login et d'un mot de passe) les droits d'accès à des fichiers par
certains utilisateurs.

La syntaxe est la suivante :

AuthUserFile {emplacement du fichier de mot de passe}
AuthGroupFile {emplacement du fichier de groupe}
AuthName "Accès protégé"
AuthType Basic
Require valid-user

La commande AuthUserFile permet de définir l'emplacement du fichier contenant les logins et
les mots de passe des utilisateurs autorisés à accéder à une ressource donnée.
La commande AuthGroupFile permet de définir l'emplacement du fichier contenant les
groupes d'utilisateurs autorisés à s'identifier. Il est possible d'outrepasser cette déclaration en
déclarant le fichier suivant : /dev/null.




                                                32
Sous Windows




    Dossier personnel


Mkdir /home/samia/public_html
Chown samia:samia /home/samia/public_html
Chcon –R –t httpd_sys_content_t /home/samia
Chmod 711 /home/samia/public_html




                                              33
34
Les captures du site web
On a réalisé une application de gestion du personnel à l’aide de l’outil PHP et en utilisant une
base de données MySQL.
Ce site sera utile dans les services ressources humaines des entreprises. Il gère tout ce qui a
une relation avec le personnel de l’administration(congés, récupérations, situation familiale,
saliare…)




                                              35
Conclusion

Au terme de ce projet d’études consacré à la configuration des services sous CentOS, on
possède une très bonne vue d’ensemble sur le sujet grâce à la lecture d’une quantité
volumineuse d’articles, de tutoriaux et de livres. Nous connaissons maintenant comment
utiliser le système d’exploitation CentOS et comment y configurer des services web. Nous
savons aussi à quoi sert chaque service et comment l’exploiter dans nos sites PHP.


       Espérant que ce projet a atteint les objectifs demandés.




                                              36
Références
i
     The Definitive Guide to CentOS Peter Membrey, Tim Verhoeven and Ralph Angenendt edition Apress.
ii
      http://www.centosadmin.net/pourquoi-centos.html
iii
      http://apache.developpez.com/faq/faq-apache.pdf
iv
      http://dev.mysql.com/doc/refman/5.0/fr/what-is.html
v
      http://www.cyberciti.biz/faq/how-to-install-mysql-under-rhel/
vi
      http://www.linux-france.org/prj/edu/archinet/systeme/ch42s06.html
vii
       http://www.aoddy.com/2007/12/12/how-to-install-phpmyadmin-2113-on-centos-5/
viii
       http://www-igm.univ-mlv.fr/~dr/XPOSE2006/Charles_Daniel/presentation.html
ix
      http://thedaneshproject.com/posts/how-to-install-webmin-on-centos-4/
x
      http://fr.wikipedia.org/wiki/Serveur_FTP
xi
      http://www.cyberciti.biz/faq/rhel-centos-linux-install-ftp-server/
xii
       http://technet.microsoft.com/fr-fr/library/cc730775.aspx
xiii
       http://www.math-linux.com/spip.php?article17
xiv
       http://www.croc-informatique.fr/2009/11/installer-openssh-v5-sur-centos-5/
xv
       http://wiki.brossault.org/doku.php/services/imap_pop/dovecot
xvi
       http://fr.wikipedia.org/wiki/Postfix
xvii
       http://wiki.centos.org/HowTos/postfix




                                                            37

Configuration des services web sous CentOS

  • 2.
    Table des matières Listedes abréviations .............................................................................................................................. 3 Introduction ............................................................................................................................................. 4 I. Présentation de CentOS ................................................................................................................... 5 1. Les avantages de CentOS.......................................................................................................... 5 2. Les inconvénients de CentOS .................................................................................................. 5 II. Configuration des services ............................................................................................................... 6 1. Apache ........................................................................................................................................ 6  Installation d’apache ............................................................................................................. 6  Configuration ......................................................................................................................... 7 2. MySQL ....................................................................................................................................... 9  Instalation MySQL ............................................................................................................... 9  Configuration ....................................................................................................................... 10 3. PHP ........................................................................................................................................... 12  Installation de PHP ............................................................................................................. 12  Test........................................................................................................................................ 13 4. Phpmyadmin ............................................................................................................................ 14  Installation de phpmyadmin............................................................................................... 14  Test........................................................................................................................................ 15 5. Webmin .................................................................................................................................... 16  Installation de webmin ....................................................................................................... 16  Test........................................................................................................................................ 16 6. FTP ........................................................................................................................................... 17  Installation VSFTPD .......................................................................................................... 17  Configuration ....................................................................................................................... 18  Test........................................................................................................................................ 18 7. DNS ........................................................................................................................................... 19  Installation de DNS ............................................................................................................. 19  Configuration ....................................................................................................................... 19 8. SSH ........................................................................................................................................... 24  Installation de OpenSSH..................................................................................................... 24 1
  • 3.
    Configuration ....................................................................................................................... 25 9. Pop Imap .................................................................................................................................. 27  Installation dovecot ............................................................................................................ 27  Configuration ....................................................................................................................... 28  Test........................................................................................................................................ 28 10. Postfix ................................................................................................................................... 29  Installation de postfix ......................................................................................................... 30  Configuration ....................................................................................................................... 30 11. Htaccess ................................................................................................................................ 31 12. Les captures du site web ..................................................................................................... 35 Conclusion.............................................................................................................................................. 36 2
  • 4.
    Liste des abréviations PHP: Personal Home Page (Hypertext Preprocessor) RHEL: Red Hat Enterprise Linux RHN: Red Hat Network SELinux: Security-Enhaced Linux RPM: Red Hat Package Manager HTTP: Hypertext Transfer Protocol RFC: Requests For Comments API: Application Programming Interface SQL: Structured Query Language CGI: Common Gateway Interface ASP: Active Server Page de Microsoft FTP: File Transfer Protocol BSD: Berkeley Software Distribution DNS: Domain Name System SSH: Secure Shell POP: Post Office Protocol IMAP: Internet Message Access Protocol 3
  • 5.
    Introduction Pour compléter notreformation en première année cycle ingénieur et pour clôturer le module « Technologies web » il nous a été attribué de configurer les différents services du système d’exploitation CentOS et la réalisation d’un site web en php sous Linux; pour une liaison entre le système d’exploitation et la programmation web. CentOS a un grand nombre d'avantages par rapport aux autres systèmes d'exploitation, surtout en ce qui concerne la facilité de la configuration des services, puisque la documentation et les tutoriaux sont disponibles que ce soit sur internet ou en bouquin. Dans ce rapport, on présentera une vision sur le projet effectué et plus de détails à propos des tâches effectuées. 4
  • 6.
    I. Présentation deCentOS CentOS(abréviation de Système communautaire d'exploitation d'entreprise) de la distribution Linux est une entreprise de qualité, librement disponible, le système d'exploitation open source qui est dérivé du code source de Red Hat Enterprise Linux (RHEL) et développé et maintenu par le projet CentOS. Le projet CentOS est plus que juste une distribution Linux. Les membres du projet travaillent à fournir un appui, du matériel de formation, et, dans l'avenir, même des certifications. Bien qu'à sa base, le projet CentOS englobe tout un écosystème de logiciels, développeurs, et des projets. i 1. Les avantages de CentOS  Support gratuit, mises à jour applicatives et les patchs de sécurité réguliers.  Stabilité quasi-équivalente à la distribution Red Hat utilisé dans de gros environnements de production.  Cycle de développement suivant celui de Red Hat (7ans pour une release).  L'outil "YUM" facilitant l'exploitation et la gestion des paquets au format RPM.  Arrivée du projet Spacewalk (dérivé de RHN Satellite) offert par Red Hat à la communauté.  Nombreux manuels en ligne (en anglais et en français) de Red Hat, 100% compatibles CentOS Linux.  SELinux pour les contraintes de sécurité.ii 2. Les inconvénients de CentOS  Absence des supports applicatifs de la part des gros fabricants de matériels.  Limite au niveau des dépôts standards fournissant les paquets RPM.  Difficulté de création de ses propres paquets RPM. 5
  • 7.
    II. Configuration desservices  Apache Apache est le serveur web le plus répandu sur Internet (50% des serveurs en sont équipés1). Il s'agit d'un programme qui tourne sur une machine (un serveur ou sur un poste en local) qui permet à des clients d'accéder à des pages web, ou tout autre fichier présent sur le serveur à partir d'un navigateur ou tout autre programme supportant le protocole HTTP. Apache dispose de nombreuses fonctionnalités, il permet l'utilisation de modules, la possibilité de définir une configuration spécifique pour chaque répertoire partagé, des restrictions, ... Il est souvent utilisé avec des modules comme Perl et/ou PHP afin de rendre le contenu des pages dynamiques. • C'est un serveur web HTTP aussi flexible que puissant • Il implémente les derniers protocoles, HTTP/1.1 (RFC2616) inclus • Il supporte des modules externes 100% configurables • Il peut être personnalisé en écrivant soi-même ses propres modules en utilisant l'API Apache • Son code source est disponible et est accompagné d'une licence non restrictive • Il peut tourner sous la plupart des plateformes existantes (autant à base UNIX que NT) • Il est souvent mis à jour par une équipe très active • Il est testé en permanence, et les bugs sont corrigés rapidement.iii  Installation d’apache Avec ligne de commande : - yum install httpd 11 Netcraft en date de janvier 2008 6
  • 8.
    Configuration 7
  • 9.
    - Nous avons créé une page index.html dans le répertoire /var/www/html L’exécution du programme 8
  • 10.
     MySQL MySQL, leplus populaire des serveurs de bases de données SQL Open Source, est développé, distribué et supporté par MySQL AB. MySQL AB est une société commerciale, fondée par les développeurs de MySQL, qui développent leur activité en fournissant des services autour de MySQL. - MySQL est un système de gestion de bases de données. - MySQL est un serveur de bases de données relationnelles. - MySQL est Open Source. - Le serveur de bases de données MySQL est très rapide, fiable et facile à utiliser - MySQL Server fonctionne en mode client/serveur ou en système embarqué. iv  Instalation MySQL v 9
  • 11.
    - Yum install mysql mysql-server  Configuration 10
  • 12.
  • 13.
     PHP PHP, (Personal Home Page) est un langage de programmation complet, assez proche du C. Il fournit :  des structures de données.  des structures de contrôle.  des instructions de gestion des entrées/sorties. Il est diffusé également sous licence libre. Il permet la création de pages web dynamiques. Il est considéré comme une alternative à CGI, Perl, ASP (Active Server Page de Microsoft). Développé à l'origine pour Linux, il est maintenant portable sur plusieurs environnements (Windows 9.x, NT).vi  Installation de PHP - Yum install php 12
  • 14.
    Test Programme de la page php 13
  • 15.
    Sous Windows  Phpmyadmin  Installation de phpmyadmin On télécharge les sources depuis le site officiel vii wget http://surfnet.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-3.1.1-all- languages.tar.gz 14
  • 16.
    Puis on extraitle tout dans notre répertoire web (on dira ici que c’est /var/www/) cd /var/www/ tar xvzf phpMyAdmin-3.1.1-all-languages.tar.gz On va utiliser leur fichier exemple comme fichier de configuration Mv phpMyAdmin-3.1.1-all-languages phpmyadmin cd phpmyadmin cp config.sample.inc.php config.inc.php vi !$ Ce qui est nécessaire dans ce fichier? $cfg['blowfish_secret'] = '2454kndfjn0987'; //entrer ici une suite de caracteres alphanumerique au hasard $i=0; $i++; $cfg['Servers'][$i]['auth_type'] = 'cookie';  Test 15
  • 17.
     Webmin Webmin estun programme qui simplifie d’administration système se trouve alors l’administration des systèmes Linux ou grandement simplifié.viii Unix. En effet pour créer des comptes, installer un serveur web ou configurer un serveur de messagerie, il faut généralement éditer à la main les fichiers de configuration ou exécuter des commandes. Webmin permet de réaliser ces tâches via une interface web en mettant à jour toute la configuration nécessaire. Le travail  Installation de webmin ix Pour installer le webmin on télécharge le paquet suivant : - wget http://prdownloads.sourceforge.net/webadmin/webmin-1.400-1.noarch.rpm - rpm -ivh webmin-1.400-1.noarch.rpm  Test 16
  • 18.
     FTP Le serveurFTP (File Transfer Protocol) permet, comme son nom l'indique de  ProFTPd. transférer des fichiers par Internet ou par le  Pure-FTP.  biais d'un réseau informatique local VsFTPd.x (intranet). Si vous en avez l'autorisation, vous pouvez télécharger et envoyer des fichiers sur un ordinateur distant faisant fonctionner un tel serveur. Le port par défaut et le plus souvent utilisé est le port 21. On trouve de nombreux serveurs FTP pour Linux/Unix/BSD comme :  Installation VSFTPD xi Yum install vsftpd 17
  • 19.
    Configuration Dans le fichier /etc/vsftpd/vsftpd.conf : anonymous_enable=NO, Puis on autorise au utilisateur locaux du système à se connecter au serveur ftp par dé commenter la ligne suivante : local_enable=YES Pour autoriser aux utilisateurs d'uploader des fichiers sur le serveur: write_enable =YES  Test 18
  • 20.
     DNS DNS (DomainName System) est un les services DNS peuvent résoudre ce nom système d’appellation d’ordinateurs et de en une autre information qui lui est services réseau organisé selon une associée, par exemple une adresse IP. xii hiérarchie de domaines. L’attribution de noms DNS est utilisée sur les réseaux TCP/IP tels qu’Internet afin de localiser les ordinateurs et les services au moyen de noms conviviaux. Lorsqu’un utilisateur entre un nom DNS dans une application,  Installation de DNS yum install bind-chroot  Configuration Pour la configuration du DNS on a utilisé webmin 19
  • 21.
  • 22.
  • 23.
  • 24.
    - Test Pour vérifier le fonctionnement de notre serveur DNS, on va le tester avec « nslookup » et host. Sous windows 23
  • 25.
     SSH SSH estun shell sécurisé (Secure SHell) SSH permet d’établir un canal de qui vous permet de vous connectez à une communication sécurisée et de machine distante à travers le réseau, cela s’authentifier de manière forte (mise en peut être une machine de votre réseau local place de paire de clés) sur le serveur mais également une machine située à distant.xiii Londres, Madrid ou New York ! En outre, il vous permet de lancer des applications sur la machine distante. Vous pouvez également effectuer des transferts de votre machine locale sur le serveur et inversement tout cela de manière sécurisée.  Installation de OpenSSHxiv - Yum install openssh 24
  • 26.
    Configuration 25
  • 27.
  • 28.
     Pop Imap - Le protocole POP Ce protocole est conçu pour un traitement des emails en mode "non-connecté" : tous les emails sont téléchargés sur le poste de l'utilisateur par le logiciel de messagerie et peuvent être supprimés du serveur. La connexion n'est alors plus nécessaire que pour vérifier la présence de nouveaux messages. - Le protocole IMAP Avec ce protocole, les messages ne sont pas supprimés lors de la récupération, mais toutes les modifications apportées sur votre compte (déplacement, marquage, suppression) sont également appliquées coté serveur. - Dovecot Un serveur de boîte à lettre sécurisé, qui prend en charge les services POP et IMAP, et les boîtes aux lettres au format mbox ou Maildir.  Installation dovecot xv Yum install dovecot 27
  • 29.
    Configuration Dans le fichier /etc/dovecol.conf Protocoles: spécifie les protocoles disponibles aux utilisateurs d'accéder à leur messagerie. Dovecot supporte imap (s) et POP3 (s), le tout ou partie peut être utilisée. Mail_location: spécifie le format et l'emplacement de chaque boîte à lettre des utilisateurs. Ici, nous voyons que nous utilisons le format maildir et chaque utilisateur a sa propre boîte à lettres située à ~ / Maildir .On peut trouver des exemples de format mbox sont fournis dans le fichier de configuration Login_process_size: Les notes de version de CentOS 5.1 indiquent que "le paquet dovecot sur les noyaux x86_64 nécessite le paramètre "login_process_size = 64" pour être ajouté au fichier / etc / dovecot.conf après une mise à niveau vers CentOS 5.1 ". 32-Bit installations ne sont pas affectées et ne nécessitent pas de paramètre.  Test 28
  • 30.
     Postfix Postfix estun serveur de messagerie électronique et un logiciel libre développé par Wietse Venema et plusieurs contributeurs. Il se charge de la livraison de courriers électroniques(courriels) et a été conçu comme une alternative plus rapide, plus facile à administrer et plus sécurisée que l'historique Sendmail. xvi 29
  • 31.
    Installation de postfix xvii Yum install postfix  Configuration Postfix fichiers de configuration sont stockés dans / etc / postfix . Les deux principaux fichiers de configuration de Postfix sont master.cf et main.cf , bien que nous ne serons traitant main.cf ici. D'abord nous allons faire quelques ajouts ou des modifications aux main.cf fichier de configuration. Les lignes suivantes doivent être ajoutées, modifiées ou non commentée: myhostname = www.lsi.ma mydomain = lsi.ma myorigin = $ mydomain inet_interfaces = all mydestination = $ myhostname, localhost. $ mydomain, localhost, $ mydomain mynetworks = 192.168.0.0/24, 127.0.0.0 / 8 relay_domains = home_mailbox = Maildir / myhostname: Le nom d'hôte du système (par exemple, le système est appelé mail ou mail.example.com). mydomain: Le nom de domaine pour le serveur de messagerie (il peut être un nom de domaine vrais ou faux). myorigin: Le nom de domaine d’où provient le courrier électronique localement posté. inet_interfaces: Définit les interfaces réseau où Postfix peut recevoir les courriers. Celles-ci doivent inclure au moins localhost et le domaine local. 30
  • 32.
    mydestination: C'est laliste des domaines qui seront livrés. mynetworks: Une liste des adresses IP de confiance qui peut envoyer des messages via le serveur. Si les utilisateurs essayant d'envoyer des courriels via le serveur provenant d'une adresse IP ne figure pas ici sera rejetée. home_mailbox: Définit le chemin de la boîte à lettre relatif au répertoire home de l'utilisateur et spécifie également le style de la boîte à lettre pour être utilisé. Postfix supporte deux formats Maildir et mbox.  Test  Htaccess Les fichiers .htaccess peuvent être utilisés dans n'importe quel répertoire virtuel ou sous- répertoire. Les principales raisons d'utilisation des fichiers .htaccess sont :  Gérer l'accès à certains fichiers. 31
  • 33.
    Ajouter un mime-type.  Protéger l'accès à un répertoire par un mot de passe.  Protéger l'accès à un fichier par un mot de passe.  Définir des pages d'erreurs personnalisées. Il s'agit d'une des applications les plus utiles du fichier .htaccess car elle permet de définir de façon sûre (à l'aide d'un login et d'un mot de passe) les droits d'accès à des fichiers par certains utilisateurs. La syntaxe est la suivante : AuthUserFile {emplacement du fichier de mot de passe} AuthGroupFile {emplacement du fichier de groupe} AuthName "Accès protégé" AuthType Basic Require valid-user La commande AuthUserFile permet de définir l'emplacement du fichier contenant les logins et les mots de passe des utilisateurs autorisés à accéder à une ressource donnée. La commande AuthGroupFile permet de définir l'emplacement du fichier contenant les groupes d'utilisateurs autorisés à s'identifier. Il est possible d'outrepasser cette déclaration en déclarant le fichier suivant : /dev/null. 32
  • 34.
    Sous Windows  Dossier personnel Mkdir /home/samia/public_html Chown samia:samia /home/samia/public_html Chcon –R –t httpd_sys_content_t /home/samia Chmod 711 /home/samia/public_html 33
  • 35.
  • 36.
    Les captures dusite web On a réalisé une application de gestion du personnel à l’aide de l’outil PHP et en utilisant une base de données MySQL. Ce site sera utile dans les services ressources humaines des entreprises. Il gère tout ce qui a une relation avec le personnel de l’administration(congés, récupérations, situation familiale, saliare…) 35
  • 37.
    Conclusion Au terme dece projet d’études consacré à la configuration des services sous CentOS, on possède une très bonne vue d’ensemble sur le sujet grâce à la lecture d’une quantité volumineuse d’articles, de tutoriaux et de livres. Nous connaissons maintenant comment utiliser le système d’exploitation CentOS et comment y configurer des services web. Nous savons aussi à quoi sert chaque service et comment l’exploiter dans nos sites PHP. Espérant que ce projet a atteint les objectifs demandés. 36
  • 38.
    Références i The Definitive Guide to CentOS Peter Membrey, Tim Verhoeven and Ralph Angenendt edition Apress. ii http://www.centosadmin.net/pourquoi-centos.html iii http://apache.developpez.com/faq/faq-apache.pdf iv http://dev.mysql.com/doc/refman/5.0/fr/what-is.html v http://www.cyberciti.biz/faq/how-to-install-mysql-under-rhel/ vi http://www.linux-france.org/prj/edu/archinet/systeme/ch42s06.html vii http://www.aoddy.com/2007/12/12/how-to-install-phpmyadmin-2113-on-centos-5/ viii http://www-igm.univ-mlv.fr/~dr/XPOSE2006/Charles_Daniel/presentation.html ix http://thedaneshproject.com/posts/how-to-install-webmin-on-centos-4/ x http://fr.wikipedia.org/wiki/Serveur_FTP xi http://www.cyberciti.biz/faq/rhel-centos-linux-install-ftp-server/ xii http://technet.microsoft.com/fr-fr/library/cc730775.aspx xiii http://www.math-linux.com/spip.php?article17 xiv http://www.croc-informatique.fr/2009/11/installer-openssh-v5-sur-centos-5/ xv http://wiki.brossault.org/doku.php/services/imap_pop/dovecot xvi http://fr.wikipedia.org/wiki/Postfix xvii http://wiki.centos.org/HowTos/postfix 37