configuration des services web sous centos

38

Upload: sarah

Post on 15-May-2015

26.193 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Configuration des services web sous CentOS
Page 2: Configuration des services web sous CentOS

1

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

Page 3: Configuration des services web sous CentOS

2

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

Page 4: Configuration des services web sous CentOS

3

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

Page 5: Configuration des services web sous CentOS

4

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.

Page 6: Configuration des services web sous CentOS

5

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.

Page 7: Configuration des services web sous CentOS

6

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

Page 8: Configuration des services web sous CentOS

7

Configuration

Page 9: Configuration des services web sous CentOS

8

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

L’exécution du programme

Page 10: Configuration des services web sous CentOS

9

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

Page 11: Configuration des services web sous CentOS

10

- Yum install mysql mysql-server

Configuration

Page 12: Configuration des services web sous CentOS

11

Page 13: Configuration des services web sous CentOS

12

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

Page 14: Configuration des services web sous CentOS

13

Test

Programme de la page php

Page 15: Configuration des services web sous CentOS

14

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

Page 16: Configuration des services web sous CentOS

15

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

Page 17: Configuration des services web sous CentOS

16

Webmin

Webmin est un programme qui simplifie

l’administration des systèmes Linux ou

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

d’administration système se trouve alors

grandement simplifié.viii

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

Page 18: Configuration des services web sous CentOS

17

FTP

Le serveur FTP (File Transfer Protocol)

permet, comme son nom l'indique de

transférer des fichiers par Internet ou par le

biais d'un réseau informatique local

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

ProFTPd.

Pure-FTP.

VsFTPd.x

Installation VSFTPD xi

Yum install vsftpd

Page 19: Configuration des services web sous CentOS

18

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

Page 20: Configuration des services web sous CentOS

19

DNS

DNS (Domain Name System) est un

système d’appellation d’ordinateurs et de

services réseau organisé selon une

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,

les services DNS peuvent résoudre ce nom

en une autre information qui lui est

associée, par exemple une adresse IP. xii

Installation de DNS

yum install bind-chroot

Configuration

Pour la configuration du DNS on a utilisé webmin

Page 21: Configuration des services web sous CentOS

20

Démerrer le dns

Service bind start

Page 22: Configuration des services web sous CentOS

21

Adresse

Serveur

Alias

Page 23: Configuration des services web sous CentOS

22

Page 24: Configuration des services web sous CentOS

23

- Test

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

host.

Sous windows

Page 25: Configuration des services web sous CentOS

24

SSH

SSH est un shell sécurisé (Secure SHell)

qui vous permet de vous connectez à une

machine distante à travers le réseau, cela

peut être une machine de votre réseau local

mais également une machine située à

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.

SSH permet d’établir un canal de

communication sécurisée et de

s’authentifier de manière forte (mise en

place de paire de clés) sur le serveur

distant.xiii

Installation de OpenSSHxiv

- Yum install openssh

Page 26: Configuration des services web sous CentOS

25

Configuration

Page 27: Configuration des services web sous CentOS

26

Page 28: Configuration des services web sous CentOS

27

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

Page 29: Configuration des services web sous CentOS

28

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

Page 30: Configuration des services web sous CentOS

29

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

Page 31: Configuration des services web sous CentOS

30

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.

Page 32: Configuration des services web sous CentOS

31

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.

Page 33: Configuration des services web sous CentOS

32

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.

Page 34: Configuration des services web sous CentOS

33

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

Page 35: Configuration des services web sous CentOS

34

Page 36: Configuration des services web sous CentOS

35

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…)

Page 37: Configuration des services web sous CentOS

36

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.

Page 38: Configuration des services web sous CentOS

37

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