NIS / LDAP Virtualisation Apache serveurs virtuels



Documents pareils
OpenLDAP, un outil d administration Réseau. Une implémentation d OpenLDAP

INSTALLATION ET CONFIGURATION DE OPENLDAP

Configuration d'un annuaire LDAP

Utiliser Améliorer Prêcher. Introduction à LDAP

Outils Logiciels Libres

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

LDAP et carnet d'adresses mail

Déploiement d'un serveur ENT

OpenLDAP. Astuces pour en faire l'annuaire d'entreprise idéal THÈME TECHNIQUE - ADMINISTRATION SYSTÈME. Jonathan CLARKE - jcl@normation.

LINUX Préparation à la certification LPIC-3 (examen LPI 300) - 2ième édition

Description de la maquette fonctionnelle. Nombre de pages :

RTN / EC2LT Réseaux et Techniques Numériques. Ecole Centrale des Logiciels Libres et de Télécommunications

Table des matières Hakim Benameurlaine 1

M2-ESECURE Rezo TP3: LDAP - Mail

TP Service HTTP Serveur Apache Linux Debian

A. À propos des annuaires

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

Introduction aux services de domaine Active Directory

Installation du serveur WEB Apache ( MySQL, PHP) sous Debian 7.

Dans l'épisode précédent

Tutoriel compte-rendu Mission 1

Annuaire LDAP, SSO-CAS, ESUP Portail...

Procédure d'installation

Exposé Nouvelles Technologies et Réseaux LDAP 22/01/ Exposé Nouvelle Technologies Réseaux - LDAP. Lightweight Directory Access Protocol

Réaliser un inventaire Documentation utilisateur

LDAP : pour quels besoins?

Installation d un hébergement Web à domicile

Les serveurs WEBUne introduction

Table des matières Hakim Benameurlaine 1

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

installer_un_serveur_debian - Documentation Ubuntu Francophone Installation complète d'un serveur web sous Debian 6.0

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

Couplage openldap-samba

Afin d'éviter un message d'erreur au démarrage du service Apache du type :

Déploiement d OCS 1.02 RC2 sous Debian Etch 64

Le logiciel. OpenLDAP. Formation. Administration et sécurité. Auteurs : Clément OUDOT, Raphaël OUAZANA et Sébastien BAHLOUL

SERVEUR HTTP Administration d apache

Préparation d un serveur Apache pour Zend Framework

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

1. Présentation du TP

DUT. Vacataire : Alain Vidal - avidal_vac@outlook.fr

L annuaire et le Service DNS

DOCUMENTATION ADMINISTRATEUR

PPE Installation d un serveur FTP

1 Configuration réseau des PC de la salle TP

NOTE: Pour une meilleure sécurisation, nous vous recommandons de faire l installation des outils web à l intérieur d un serveur virtuel.

Introduction aux services Active Directory

Module 7 : Configuration du serveur WEB Apache

Installation et configuration de Vulture Lundi 2 février 2009

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

CDS Invenio Installation et configuration de base

Présentation de Active Directory

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Annuaires LDAP et méta-annuaires

Installation GLPI-OCSNG-SSL Linux Debian Sarge

Exchange Server 2013 Préparation à la certification MCSE Messaging - Examen

titre : CENTOS_BIND_install&config Système : CentOS 5.7 Technologie : Bind 9.3 Auteur : Charles-Alban BENEZECH

Documentation d'installation Plateforme femme actuelle

Windows Server Chapitre 3 : Le service d annuaire Active Directory: Concepts de base

BTS SIO Dossier BTS. PURCHLA Romain

Bind, le serveur de noms sous Linux

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

Service d'authentification LDAP et SSO avec CAS

TP n 2 : Installation et administration du serveur ProFTP. Partie 1 : Fonctionnement du protocole FTP (pas plus de 15min)

Déploiement de (Open)LDAP

Annuaire LDAP + Samba

Serveur Web Apache - SSL - PHP Debian GNU/Linux

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft

Phase 1 : Introduction 1 jour : 31/10/13

Mise en place Active Directory / DHCP / DNS

TD4 - Supervision et métrologie des réseaux. 1 Supervision des applications et services réseaux et des ressources locales

Spécialiste Systèmes et Réseaux

Catalogue des formations 2015

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

Prise en main d un poste de travail sous Windows sur le réseau du département MMI de l'upemlv. d après M. Berthet et G.Charpentier

Simple Database Monitoring - SDBM Guide de l'usager

L'AAA, késako? Bruno Bonfils, fr.org>, Novembre Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants :

REPARTITION DE CHARGE LINUX

Joomla! Création et administration d'un site web - Version numérique

Linux. Sécuriser un réseau. 3 e édition. l Admin. Cahiers. Bernard Boutherin Benoit Delaunay. Collection dirigée par Nat Makarévitch

But de cette présentation. Contrôleur de domaine avec Samba (rédigé pour Ubuntu Server) Introduction. Samba: principes

Hébergement de site web Damien Nouvel

Travaux Pratiques Introduction aux réseaux IP

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

GLPI OCS Inventory. 1. Prérequis Installer un serveur LAMP : apt-get install apache2 php5 libapache2-mod-php5 apt-get install mysql-server php5-mysql

Serveur Subversion Debian GNU/Linux

InstallatIon et configuration d une Infrastructure réseau sans-fil. Avec. Interface de gestion utilisateurs

Installation. Conception, mise en œuvre, hébergement, exploitation et

Réseaux Active Directory

Vous y trouverez notamment les dernières versions Windows, MAC OS X et Linux de Thunderbird.

Préparer la synchronisation d'annuaires

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

Services Réseaux - Couche Application. TODARO Cédric

Transcription:

NIS / LDAP Virtualisation Apache serveurs virtuels ASI Master M2 ASR - Luiz Angelo STEFFENEL - L Steffenel 2008 1

Organisation des Cours Mécanismes d'authentification centralisée NIS LDAP La Virtualisation Configuration de serveurs virtuels avec Apache L Steffenel 2008 2

Organisation des Cours Mécanismes d'authentification centralisée NIS LDAP La Virtualisation Configuration de serveurs virtuels avec Apache L Steffenel 2008 3

Les Serveurs NIS Base de données Inventé par Sun Microsystems en 1985 Commune à un réseau Dépendant d un domaine NIS ( domaine DNS ) Organisée en «cartes» ( maps ) Ensembles thématiques 1 ligne 1 entrée 1 clé Accès au service : Utilise les RPC Principalement sous Unix L Steffenel 2008 4

Configuration du NIS Les démons nécessaires : ypbind yptools Le fichier /etc/yp.conf # Valid entries are # #domain NISDOMAIN server HOSTNAME # Use server HOSTNAME for the domain NISDOMAIN. #domain NISDOMAIN broadcast # Use broadcast on the local net for domain NISDOMAIN #ypserver HOSTNAME # Use server HOSTNAME for the local domain. The # IP-address of server must be listed in /etc/hosts. # domain urca broadcast L Steffenel 2008 5

Configuration du serveur Les démons nécessaires : ypserv : le serveur NIS ypxfrd : transfère les infos à un serveur miroir (ypxfr) yppush : transfère les infos à tous les serveurs miroirs Lecture de fichiers du serveur Au format DBM Dans un répertoire spécial /var/yp/nom_de_domaine/ /etc/yp/nom_de_domaine/ 1 carte Plusieurs fichiers créés par makedbm Carte.dbm : l index de la carte (binaire) Carte.dir : les clés contenues dans la carte Carte.pag : les endroits où sont stockés les données L Steffenel 2008 6

Cartes disponibles En général hosts : Liste de machines IP nom_long nom_court aliases : Liste de publipostage Format dépend du logiciel de courrier passwd : Liste d informations utilisateurs login:mot_de_passe:uid:gid:nom_complet:home_directory:shell login : identifiant UNIX mot_de_passe : sous forme criptée UID,GID : Numéros d utilisateur et de groupe nom_complet : ex «Pierre Petit» home_directory : chemin UNIX du répertoire personnel shell : chemin UNIX du shell utilisé par défaut L Steffenel 2008 7

Les commandes NIS ypwhich ypcat Affiche le nom du domaine NIS -x : Affiche la liste des cartes disponibles <nom> : Affiche le contenu de la carte <nom> ypmatch -x : Affiche la liste des cartes disponibles <clé> <carte> : Affiche l entrée <clé> de la carte <carte> L Steffenel 2008 8

Exemple : ypcat x Use "ethers" for map "ethers.byname" Use "aliases" for map "mail.aliases" Use "services" for map "services.byname" Use "protocols" for map "protocols.bynumber" Use "hosts" for map "hosts.byname" Use "networks" for map "networks.byaddr" Use "group" Use "passwd" for map "group.byname" for map "passwd.byname" L Steffenel 2008 9

Exemple 2 ypcat protocols udp 17 UDP pup 12 PUP igp 9 IGP egp 8 EFG tcp 6 TCP ipinip 4 IPinIP ggp 3 GGP igmp 2 IGMP icmp 1 ICMP ip 0 IP ypcat services rqlaser 15000/tcp compost 6604/tcp minitel 4147/tcp sbatchd 3882/tcp pop3s 995/udp pop3 imaps 993/tcp DAServer 987/tcp remotefs 556/tcp rfs_server new-rwho 550/udp new-who talk 517/udp netbios-ns 137/udp nntp 119/tcp usenet pop3 110/tcp postoffice hostnames 101/tcp hostname http 80/tcp ftp 21/tcp L Steffenel 2008 10

Exemple 3 ypcat ethers 08:00:20:21:a2:02 00:02:a5:fc:cf:e7 00:b0:d0:15:26:2d 00:02:a5:a9:8f:95 00:80:c8:4c:90:f1 doggett.maboite.fr mulder.maboite.fr monica.maboite.fr skinner.maboite.fr scully.maboite.fr ypcat passwd grep damaris damaris:erkra6bpym1ou:32817:129:damaris K P:/users/maia/damaris:/bin/tcsh L Steffenel 2008 11

Organisation des Cours Mécanismes d'authentification centralisée NIS LDAP La Virtualisation Configuration de serveurs virtuels avec Apache L Steffenel 2008 12

Historique Annuaire : ouvrage publié chaque année, donnant la liste de membres d'une profession, des abonnés à un service, etc. ex : Annuaire téléphonique Annuaire éléctronique liste d'informations stockés dans un type de base de données organisation hiérarchique mécanismes simples de recherche et de tri selon des critères variables ex : annuaire de l'université L Steffenel 2008 13

Historique Le service d'annuaire X.500 conçu en 1988 par des opérateurs télécom objectif : interconnecter et unifier tout type d'annuaire protocole DAP (Directory Access Protocol) problème : X.500 basé sur protocoles OSI (!!!) 1993 : version plus légère du protocole DAP adaptée aux réseaux TCP/IP LDAP (Lightweight Directory Access Protocol) L Steffenel 2008 14

Caractéristiques des Annuaires Électroniques Dynamisme mises à jour simples et quotidiennes les utilisateurs peuvent mettre à jour leurs propres données Souplesse l'organisation des entrées permet l'indexation avec des critères multiples Sûreté les annuaires en ligne disposent de mécanismes d'authentification et de règles d'accès limite la portée des modifications des utilisateurs réglemente l'interconnexion avec d'autres annuaires Répartition les annuaires peuvent être utilisés seuls (standalone) ou liés dans une arbre global L Steffenel 2008 15

Annuaires vs. Bases de Données Annuaire système léger optimisé pour la lecture organisation en arbre services spécifiques pour la recherche d'informations permet la répartition et la coopération entre différents annuaires Base de Données système complet optimisation dynamique organisation relationnelle (tabulaire) ensemble complet de services pour la gestion des données généralement centralisé L Steffenel 2008 16

Le Protocole LDAP Protocole d'accès à un annuaire Norme qui définit l'échange de données entre clients et serveur modèle d'information modèle de nommage modèle fonctionnel (API) modèle de sécurité (crypto SSL ou TLS, auth. SASL,...) Définit aussi l'échange de données entre serveurs qui coopèrent duplication/synchronisation hiérarchie de serveurs L Steffenel 2008 17

Le serveur open source OpenLDAP Contient : Serveur indépendant (slapd) et serveur de réplication (slurpd) Bibliothèques de connexion (libldap, liblber) Commandes LDAP (ldapsearch, ldapadd, ldapmodify, ldapdelete, ) Commandes de gestion du contenu (slapadd, slapcat, slapindex, ) API (C, C++, TCL, Java) Supporte : LDAPv2 et LDAPv3 Réplication complète et différentielle Délégation d authentification Internationalisation UTF-8 via Unicode L Steffenel 2008 18

Le modèle d'information Le modèle d'information LDAP définit le type de données qui peuvent être stockés dans l'annuaire LDAP (le schéma) il définit aussi les règles pour comparer les attributs Chaque entrée correspond à un objet (abstrait ou réel) une entrée est composée par plusieurs objets Exemple Type d'attribut valeur de l'attribut cn: Yves Martin uid: ymartin telephonenumber: 326000000 mail: ymartin@mail.com L Steffenel 2008 19

Le modèle d'information Les types de donnée binary données binaires (images, video, fichiers,...) boolean attribut constitué d'un bit (vrai ou faux) integer valeur entier directory string chaîne de caractères dn pointeur vers un objet de l'annuaire (distinguished name) Quelques règles de comparaison cis (caseignorematch) attribut texte non sensible à la casse ces (caseexactmatch) attribut texte sensible à la casse dn (distinguishedname) compare deux entrées... L Steffenel 2008 20

Le modèle d'information Heureusement, il y a une liste d'attributs utilisateurs déjà établie (définie dans des schémas) c code du pays (en deux lettres) o organisation ou unité organisationnelle (section, département,...) cn nom de l'objet (common name, nom d'usage) givenname prénom sn nom de famille uid identifiant unique de l'objet mail adresse email... L Steffenel 2008 21

Le modèle d'information Les classes d'objets - possibilité d'établir une structure commune pour les objets classes abstraites classes qui peuvent uniquement être hérités classes structurelles classes instanciables classes auxiliaires classes qui permettent l'ajout d'attributs facultatifs aux classes structurelles Exemple : les attributs sont définis par un nom unique un Object Identifier unique taille une syntaxe et des règles de comparaison - un indicateur d'usage - un format ou limite de L Steffenel 2008 22

Le format d'échange de données LDIF Les données dans LDAP sont stockés dans un format «non texte» Afin de rendre plus facile l'échange de données, LDAP définit un format texte pour l'import/l'export des données la syntaxe est la suivante : [<id>] dn: <distinguished name> <attribut> : <valeur> <attribut> : <valeur>... L Steffenel 2008 23

Le modèle de nommage Les objets LDAP sont classés hiérarchiquement Les entrées sont classées dans un arbre Il existe un objet particulier (rootdse) qui décrit l'arbre (C) FR (O) sociétéa sociétéb (OU1) Direction Département1 Département1 (OU2) division1 division2 division1 (CN) personne1 personne2 personne1 personne2 L Steffenel 2008 24

La localisation des entrées Un objet peut être adressé de deux façons : par son nom rélatif (RDN Relative Distinguished Name) par son nom absolu (DN Distinguished Name) Le nom relatif est composé d'un ou plusieurs paires clé/valeur un objet ne doit posséder qu'un seul RDN le RDN doit être un nom unique dans la branche de l'objet un RDN peut être multivalué (plusieurs paires clé/valeur) Il est important de rendre les attributs d'un RDN obligatoires L Steffenel 2008 25

La localisation des entrées Le DN contient le RDN d'un objet associé à l'ensemble des noms relatifs des entrées parentes Un DN permet de repérer une entrée de manière unique Exemple : uid (user id) o (organization) ou (organization unit) cn (common name) mail... DN - uid=steff01,cn=steffenel,o=univ-reims, mail=xxx@xxxx RDN - uid=steffe01 L Steffenel 2008 26

Le modèle fonctionnel LDAP proose une API avec des fonctions pour l'accès et la modification des entrées dans la base Bind/Unbind connexion/déconnexion d'une session LDAP Add ajoute une entrée au répertoire Delete supprime une entrée Rename modifie le nom d'une entrée Search effectue une recherche Compare compare les entrées selon des critères Abandon abandonne l'opération précédemment envoyé L Steffenel 2008 27

Modes d'installation Depuis les paquets de la distribution Linux : RedHat, Fedora Core et RHES : Obligatoires : openldap-2.3.x.rpm (librairies obligatoires) À installer : openldap-servers-2.3.x.rpm et openldap-clients-2.3.x.rpm Debian, Ubuntu : Obligatoires : libldap2 À installer : slapd, ldap-utils Toutefois les choix de compilation sont imposés ce qui peut ne pas convenir à la maîtrise nécessaire à ce type de composant essentiel! Depuis les sources : Besoin des outils de compilation C (autoconf, make, gcc) Besoin des bibliothèques (fichiers.h) des produits tiers L Steffenel 2008 28

Pré-requis à l'installation Avant de lancer la configuration des sources, il faut déterminer : Le format de stockage (backend) Les fonctionnalités (overlays) Le modèle de sécurité (SSL/TLS, SASL) L architecture des annuaires (classique ou multimaîtres) Et pré-installer les bibliothèques correspondantes : SASL : cyrus-sasl SSL/TLS : OpenSSL ou GnuTLS Backend BDB, HDB : BerkeleyDB 4.2, 4.4 ou 4.5 (pas la 4.3!) Backend SQL : UnixODBC L Steffenel 2008 29

Installation de BerkeleyDB par les sources Télécharger une version de BerkeleyDB depuis le site et les correctifs associés : http://www.oracle.com/technology/software/products/berkeleydb/index.html Désarchiver et appliquer les correctifs Détermination automatique de la configuration locale : cd db-4.x.y/build_unix../dist/configure Calcul des dépendances, compilation et installation : make depend && make sudo make install Le répertoire d installation par défaut est : /usr/local/berkeleydb.4.x L Steffenel 2008 30

Installation d'openldap par les sources Télécharger la dernière version depuis le site : wget c ftp://ftp.openldap.org/pub/openldap/openldaprelease/openldap-2.3.35.tgz Désarchiver : tar xzf openldap-2.3.35.tgz Regarder les options disponibles : cd openldap-2.3.35/./configure --help Si besoin, indiquer l'emplacement des produits tiers : export CPPFLAGS= -I/usr/local/BerkeleyDB.4.x/include export LDFLAGS= -L/usr/local/BerkeleyDB.4.x/lib -R /usr/local/berkeleydb.4.x/lib export LD_LIBRARY_PATH=/usr/local/BerkeleyDB.4.x/lib L Steffenel 2008 31

Installation d'openldap par les sources Indiquer les options (dont le répertoire d'installation) :./configure --enable-bdb --with-tls --without-cyrus-sasl -- prefix=/opt/openldap --enable-monitor --enable-overlays Calcul des dépendances et compilation : make depend && make Passage des tests (optionnel) : make test Installation : sudo make install L Steffenel 2008 32

Installation sous Debian Utilisation du serveur OpenLDAP Installation des packages Debian apt-get install slapd ldap-utils Configuration du serveur éditer le fichier /etc/ldap/slapd.conf choisir le système de base de données à utiliser database bdb définir la racine de l'arbre suffix "dc=mondomaine,dc=org" L Steffenel 2008 33

Installation sous Debian créer «l'objet» administrateur et son mot de passe rootdn "cn=admin,dc=mondomaine,dc=org" rootpw secret astuce : utiliser slappasswd pour créer un mot de passe chiffré ex: $ slappasswd New password: ******* Re-enter new password: ******* {SSHA}5R8i8cDhTs+UsIEmyYED11AoG64x6MQ4 modifier toute autre ligne «dn» qui définit les droits de l'administrateur de la base reinitialiser ldap -> /etc/init.d/slapd restart L Steffenel 2008 34

Fichiers de configuration Fichier principal de configuration du serveur : $prefix/etc/openldap/slapd.conf Configuration (optimisation) de BerkeleyDB : $prefix/var/openldap-data/db_config Fichier de configuration des clients : $prefix/etc/openldap/ldap.conf Localisation des fichiers schémas : $prefix/etc/openldap/schema/ Manuel intégré : man -M $prefix/man slapd.conf L Steffenel 2008 35

Création d'un carnet d'adresses Pour créer une base, il faut définir la structure de la base Nous allons utiliser un fichier texte (ossature.ldif) dans le format LDIF Le fichier LDIF doit définir la racine de l'arbre # D'abord, la racine de la base LDAP dn: dc=mondomaine,dc=org objectclass: top objectclass: dcobject objectclass: organization dc: mondomaine o: mondomaine description: mon carnet d'adresses L Steffenel 2008 36

Création d'un carnet d'adresses Ensuite, l'arborescence de l'arbre # La structure où je trouve mes contacts dn: ou=contacts,dc=mondomaine,dc=org ou: contacts objectclass: top objectclass: organizationalunit description: La structure où je trouve mes contacts Finalement, l'administrateur #La definition de l'administrateur dn: cn=admin,dc=mondomaine,dc=org objectclass: organizationalrole objectclass: simplesecurityobject cn: admin description: administrateur LDAP L Steffenel 2008 37

Remplir la base de données Dans le cas de notre carnet d'adresses, nous allons utiliser les attributs définis par défaut dans le fichier /etc/ldap/slapd.conf include /etc/ldap/schema/xxxx.schema Nous allons utiliser, par exemple, les champs suivants : sn nom de famille (surname) gn prénom (given name) o organisation telephonenumber postaladdress postalcode mail L Steffenel 2008 38

Remplir la base de données Créer un fichier contacts.ldif dn: cn=florent Pepin,dc=mondomaine,dc=org objectclass: top objectclass: person objectclass: organizationalperson objectclass: inetorgperson cn: Florent Pepin gn: Florent sn: Pepin o: Université de Paris XXV telephonenumber: 0101010101 postaladdress: 10 rue des Pepins postalcode: 75999 mail: fpepin@paris15.fr description: un collègue à Paris L Steffenel 2008 39

Rajouter tout à la base Procédure «standard» ldapadd -x -W -D "cn=admin,dc=mondomaine,dc=org" -f fichiers.ldif rédemarrer la base de données /etc/init.d/slapd restart vérifier les entrées ldapsearch -x -b '' -s base '(objectclass=*)' namingcontexts liste tous les objets dans la base ldapsearch -x -b 'dc=mondomaine,dc=org' '(objectclass=*)' liste tous les objets appartenant à la branche mondomaine.org L Steffenel 2008 40

Quelques clients LDAP ldapsearch déjà utilisé pour vérifier la base gq outil linux pour naviguer l'arbre LDAP phpldapadmin interface php pour naviguer votre messagerie favourite thunderbird, exchange OpenOffice L Steffenel 2008 41

Exemples d'utilisation Carnet d'adresses (bien sûr) Contrôle du parc informatique (MACs, IPs, etc.) Authentification unique dans un réseau Linux+Windows remplace NIS à faire avec beaucoup de précaution incompatibilités au niveau des algorithmes de crypto modification des chemins de recherche et des services d'authentification (PAM) http://www.openldap.org/doc/admin23/quickstart.html http://home.subnet.at/~max/ldap http://moduli.net/sysadmin/sarge-ldap-auth-howto.html L Steffenel 2008 42

Organisation des Cours Mécanismes d'authentification centralisée NIS LDAP La Virtualisation Configuration de serveurs virtuels avec Apache L Steffenel 2008 43

Virtualisation En informatique, on appelle virtualisation l'ensemble des techniques matérielles et/ou logicielles qui permettent de faire fonctionner sur une seule machine plusieurs systèmes d'exploitation et/ou plusieurs applications, séparément les uns des autres, comme s'ils fonctionnaient sur des machines physiques distinctes Principe : Abstraction des ressources matérielles Virtualisation Partielle Virtualisation Totale Virtualisation au niveau du système d'exploitation Virtualisation des Applications (Émulation) L Steffenel 2008 44

Virtualisation Processeurs en général sous utilisés : Charge moyenne d'un processeur comprise entre 9 et 12%, peu d IO sur les services Banalisation des processeurs dual-core et quadri-core et des unités multiprocesseurs Partage du matériel d'une machine par plusieurs systèmes d exploitation indépendants (isolés, encapsulés) Répondre aux contraintes de sécurité (séparation des services, isolation) Répondre aux «nouveaux» besoins de maintenance (administration, déploiement, amélioration de la qualité) Répondre aux besoins de tests, expérimentations, délégation Tout en stabilisant ta taille du parc informatique et les coûts associés. L Steffenel 2008 45

Virtualisation Partielle Simulation partielle d'une partie du matériel Approche différente de la virtualisation actuelle Des limitations pour l'exécution des logiciels ont conduit à des approches de Virtualisation Totale L Steffenel 2008 46

Virtualisation Totale Implementée la première fois en 1967 - IBM CP40(VM) Simulation totale du matériel d'un hôte Impossible de différentier par rapport à une machine réelle Originalement dédiée à la création de terminaux avec séparation des environnements Sur les plate-forme x86, on n'atteigne la virtualisation totale qu'au milieu de l'année 2006 Tous les standards actuels pour la virtualisation suivent l'approche de la virtualisation totale les machines virtuelles par définition ne peuvent pas rompre l'isolation de la machine virtuelle L Steffenel 2008 47

Virtualisation au niveau du système d'exploitation Création de Conteneurs Permettent l'isolation d'une partie du système Exemples Chroot linux) OpenVZ Parallels Virtuozzo FreeBSD Jail L Steffenel 2008 48

Emulation Probablement la virtualisation la plus connue Environnements développés pour exécuter des applications appartenant à d'autres plate-formes (jeux d'instruction) Exemples jouer à des ROMs Super Nintendo sur un PC jouer à des jeux Atari sur la Wii L Steffenel 2008 49

Virtualisation des Desktops Exemples Parallels Desktop for Mac Parallels Workstation VMware Fusion VMware Player/Workstation Installer VMWare sur votre machine : http://cosy.univ-reims.fr/ ~lsteffenel/ L Steffenel 2008 50

Organisation des Cours Mécanismes d'authentification centralisée NIS LDAP La Virtualisation Configuration de serveurs virtuels avec Apache L Steffenel 2008 51

Motivations Pourquoi Apache est devenu un standard? Coût nul Code source disponible et modifiable www.apache.org Structuration modulaire modules pour php, LDAP, sécurité, authentification, etc. Stabilité et performance la moitié des sites internet utilise Apache Autre avantage : gestion des hôtes virtuels L Steffenel 2008 52

Exigences Le type d'ordinateur (puissance) dépend surtout du type de pageweb qui sera hébergée Exigences conséquentes de mémoire et vitesse d'accès au disque pour rendre l'accès aux pages plus rapide Une bonne connexion internet Une machine dédiée «SERVEUR INTERNET» LE PLUS IMPORTANT! Sécurité -> une machine ouverte sur l'internet est très exposée à des attaques Performance -> le partage avec d'autres applications et utilisateurs peut conduire à des pertes de performance L Steffenel 2008 53

APACHE Le serveur Apache 2 répond actuellement pour environ 50% des sites web existants (les valeurs varient selon les sources) Serveur web de code source ouvert (open source) opérations très optimisées intégration facile de modules divers (php, ajax, tomcat) sécurité : les failles sont corrigées très rapidement Trois modes «multiprocessus» prefork non threadé worker threadé répond à la charge en variant le nombre de processus perchild threadé répond à la charge en variant le nombre de threads par processus L Steffenel 2008 54

APACHE Installation sous Ubuntu apt-get install apache2-mpm-prefork ou apt-get install apache2-mpm-worker ou apt-get install apache2-mpm-perchild daemon : apache2 port 80 (http) port 443 (https) script de démarrage : apache2 /etc/init.d/apache2 start L Steffenel 2008 55

Configuration de Base Lancer le serveur Apache /etc/init.d/apache2 start Vérifier que Apache tourne correctement ps -aux grep httpd (vérifie si le serveur a été chargé) naviguer sur http://localhost (affiche une page si correct) le répertoire par défaut des fichiers est /var/www/ Recharger les fichiers de configuration (après modification) /etc/init.d/apache2 reload Arrêter le serveur /etc/init.d/apache2 stop L Steffenel 2008 56

Configuration /etc/apache2/apache2.conf Autres fichiers et répertoires utilisés (sous /etc/apache2) httpd.conf ports.conf conf.d/ mods-available mods-enabled/ sites-available/ sites-enabled/ proxy-conf L Steffenel 2008 57

Édition du fichier apache2.conf À l'aide de votre éditeur préféré (vi, nano, etc.), ouvrir le fichier /etc/apache2/apache2.conf On y trouve notamment : utilisateur et groupe qui «tournent» le serveur apache User www-data Group www-data les fichiers par défaut (chargés sans qu'on donne leurs noms) DirectoryIndex index.html index.php index.xhtml le répertoire par défaut des pages des utilisateurs (décommenter) # UserDir public_html L Steffenel 2008 58

Édition du fichier apache2.conf Le journal des erreurs ErrorLog /var/log/apache2/error.log Le fichier à afficher en cas d'erreur ErrorDocument Une sortie formatée des connections CustomLog Le fichier où sont définies les portes d'écoute # Include ports listing Include /etc/apache2/ports.conf L Steffenel 2008 59

Les Serveurs Virtuels L Steffenel 2008 60

Motivation Il est courant d'héberger des dizaines de sites dans un seul serveur. Parfois, ces sites ont des adresses différents (site-1.cpnv.com, mars.ouaga.fr,...) Lorsque les requêtes HTTP atteignent notre serveur http, celui-ci va regarder dans ses règles afin de trouver dans quel répertoire il doit se diriger. C'est là que la gestion des virtualhosts va intervenir. Également, la réponse doit inclure dans l'en-tête http l'adresse virtuelle initialement demandée. En conséquence, nous créerons une entrée pour chaque site hébergé sur notre serveur. Cette entrée contiendra le domaine prévu, et le répertoire de redirection. L Steffenel 2008 61

Configuration Prenons par exemple deux sites, test1.com et test2.com Nous alons créer un répertoire pour chaque site sous /var/www /var/www/test1 /var/www/test2 Pour chaque site nous allons créer un fichier de configuration sous le répertoire /etc/apache2/sitesavailable L Steffenel 2008 62

Fichier de configuration pour test1.com <VirtualHost *> ServerAdmin postmaster@test1.com ServerName www.test1.com ServerAlias test1.com *.test1.com DocumentRoot /var/www/test1/page <Directory /var/www/test1/page> Options -Indexes FollowSymLinks MultiViews AllowOverride All </Directory> ErrorLog /var/www/test1/error.log ErrorDocument 404 /var/www/test1/erreur.html LogLevel warn CustomLog /var/www/test1/logs/access.log combined ServerSignature Off </VirtualHost> L Steffenel 2008 63

Configuration On sauvegarde et on ferme les fichiers. Pour disponibiliser le domaine nous faisons un lien symbolique dans le répertoire sites-enabled : ln -s /etc/apache2/sites-available/test1.com /etc/apache2/sites-enabled/test1.com On redémare apache2 : /etc/init.d/apache2 restart Et on peut accéder à notre répertoire : http://www.test1.com/ L Steffenel 2008 64

En cas de problèmes Lisez les messages d'erreur Cherchez dans /var/log/apache2/... la description des problèmes Google ;) L Steffenel 2008 65