Upload
bartholomieu-cornu
View
119
Download
9
Embed Size (px)
Citation preview
Hébergement des sites webHébergement des sites websous Linuxsous Linux
OFPPT Lista Marrakech SYBA CHU Marrakech MED VI
Réalisé par :Réalisé par : Encadré par :Encadré par :
QESMI Med Elamine ASAKHIR Hassan
Année : 2012/2013Année : 2012/201311
Présentation du Centre Hospitalier Universel Présentation du Centre Hospitalier Universel Mohammed VI Mohammed VI
Le Centre Hospitalier universitaire Mohammed VI Le Centre Hospitalier universitaire Mohammed VI est un établissement public doté de la est un établissement public doté de la personnalité morale et de l’autonomie financière. personnalité morale et de l’autonomie financière. Il est soumis à la tutelle du Ministère de la Santé Il est soumis à la tutelle du Ministère de la Santé et a été créé en vertu de la Loi 82.00 et a été créé en vertu de la Loi 82.00 promulguée par le Dahir 1.01.206 du 10 joumada promulguée par le Dahir 1.01.206 du 10 joumada II 1422 (30 août 2001) modifiant et complétant la II 1422 (30 août 2001) modifiant et complétant la loi 37.80 relative aux centres hospitaliers, loi 37.80 relative aux centres hospitaliers, promulguée par le Dahir 1.82.5 du 30 rabia I (15 promulguée par le Dahir 1.82.5 du 30 rabia I (15 janvier 1983).janvier 1983).
22
PlanPlan
Qu'est-ce qu'un serveur web ?Qu'est-ce qu'un serveur web ? Introduction à ApacheIntroduction à Apache Installation et configuration graphiqueInstallation et configuration graphique Installation et configuration sous consoleInstallation et configuration sous console Aspect sécurité Aspect sécurité
33
Qu'est-ce qu'un serveur web ?Qu'est-ce qu'un serveur web ? Un serveur web est un logiciel permettant à des clients d'accéder à Un serveur web est un logiciel permettant à des clients d'accéder à
des pages web à partir d'un navigateur installé sur leur ordinateur des pages web à partir d'un navigateur installé sur leur ordinateur distant. distant.
Un serveur web est donc un logiciel capable d'interpréter les Un serveur web est donc un logiciel capable d'interpréter les requêtes HTTP arrivant sur le port associé au protocole HTTP (par requêtes HTTP arrivant sur le port associé au protocole HTTP (par défaut le port 80), et de fournir une réponse avec ce même défaut le port 80), et de fournir une réponse avec ce même protocole. protocole.
Les principaux serveurs web sur le marché sont : Les principaux serveurs web sur le marché sont : Apache Apache Microsoft IIS (Internet Information Server) Microsoft IIS (Internet Information Server) Microsoft PWS (Personal Web Server) Microsoft PWS (Personal Web Server) Xitami Xitami ... ... 44
Introduction à ApacheIntroduction à Apache
Apache tire son nom de la façon dont il a été mis au point Apache tire son nom de la façon dont il a été mis au point car il est le fruit d'une multitude de correctifs logiciels car il est le fruit d'une multitude de correctifs logiciels afin d'en faire une solution très sûre. En effet Apache est afin d'en faire une solution très sûre. En effet Apache est considéré comme sûr dans la mesure où peu de considéré comme sûr dans la mesure où peu de vulnérabilités le concernant sont publiées.vulnérabilités le concernant sont publiées.
Apache est actuellement le serveur HTTP le plus utilisé Apache est actuellement le serveur HTTP le plus utilisé dans l’Internet. Doté de nombreuses fonctionnalités, dans l’Internet. Doté de nombreuses fonctionnalités, performant et gratuit, il constitue un choix très intéressant performant et gratuit, il constitue un choix très intéressant pour ceux qui désirent mettre en place un service WWW.pour ceux qui désirent mettre en place un service WWW.
55
Installation du Serveur WEB Installation du Serveur WEB ApacheApache
L’installation du logiciel Apache se fait, par défaut, dans le L’installation du logiciel Apache se fait, par défaut, dans le répertoire /usr/local/etc/httpd. Ce répertoire contient 3 répertoires et répertoire /usr/local/etc/httpd. Ce répertoire contient 3 répertoires et en particulier un répertoire conf qui contient les fichiers de en particulier un répertoire conf qui contient les fichiers de configuration d’Apache.configuration d’Apache.
/usr/local/etc/httpd/usr/local/etc/httpd
Conf Cgi-bin icons
66
Installation des paquetagesInstallation des paquetages Pour installer tout les paquetages nécessaires on doit aller Pour installer tout les paquetages nécessaires on doit aller
dans le « Centre de Contrôle » situé dans :dans le « Centre de Contrôle » situé dans :
menu > Système > Configuration > Configurez votre ordinateurmenu > Système > Configuration > Configurez votre ordinateur
Centre de Contrôle Mandrake 77
Installer les outils d’administrationInstaller les outils d’administration
Installation de paquetages (drakx) 88
Installer les outils d’administrationInstaller les outils d’administration
Installation de paquetages (drakw) 99
Configuration du serveur ApacheConfiguration du serveur Apache
Centre de Contrôle Mandrake 1010
Configuration du serveur ApacheConfiguration du serveur Apache
Centre de Contrôle Mandrake - Assistants serveurs
1111
Configuration du serveur ApacheConfiguration du serveur Apache
Serveur web - Activer le serveur web pour l’Intranet 1212
Configuration du serveur ApacheConfiguration du serveur Apache
Serveur web - Permettre aux utilisateurs d’avoir un sous répertoire ... 1313
Configuration du serveur ApacheConfiguration du serveur Apache
Serveur web - Répertoire web des utilisateurs 1414
Configuration du serveur ApacheConfiguration du serveur Apache
Serveur web - Répertoire racine du serveur web 1515
Lancement des serveursLancement des serveurs
Pour lancer le serveur il faut aller dans l’interface de gestion des "Services" :Pour lancer le serveur il faut aller dans l’interface de gestion des "Services" :
1616
Installation sous consoleInstallation sous console
La première étape consiste à récupérer la distribution La première étape consiste à récupérer la distribution la plus récente des sources du logiciel. La source la plus à la plus récente des sources du logiciel. La source la plus à jour est le site du groupe de développement Apache : jour est le site du groupe de développement Apache : http://www.apache.org..
Le fichier récupéré est un archive tar compressée qu’il Le fichier récupéré est un archive tar compressée qu’il faut décompresser dans un répertoire source .faut décompresser dans un répertoire source .
1717
Installation sous consoleInstallation sous console
CompilationCompilationLa compilation est exécutée simplement en tapant la commande La compilation est exécutée simplement en tapant la commande
make. Il est possible de garder une trace de la compilation en exécutant :make. Il est possible de garder une trace de la compilation en exécutant :$ make > make.log$ make > make.log
InstallationInstallationLa phase d’installation est aussi facile que la compilation. Elle La phase d’installation est aussi facile que la compilation. Elle
s’effectue en tapant la commande s’effectue en tapant la commande make installmake install..De la même façon, il possible de garder une trace de l’installation De la même façon, il possible de garder une trace de l’installation
en tapant :en tapant :$ make install > install.log$ make install > install.log
Après cette phase, le serveur Apache est prêt à fonctionner Après cette phase, le serveur Apache est prêt à fonctionner moyennant une petite configuration.moyennant une petite configuration.
$ /usr/local/apache/bin/httpd start $ /usr/local/apache/bin/httpd start
1818
ConfigurationConfiguration
La configuration personnalisée du serveur La configuration personnalisée du serveur s'effectue par modification du fichier de s'effectue par modification du fichier de configuration située à : configuration située à : /etc/httpd/conf/httpd.conf/etc/httpd/conf/httpd.conf..
Ce qui suit est la description des principaux Ce qui suit est la description des principaux paramètres, et leur valeur attribuée par défaut à paramètres, et leur valeur attribuée par défaut à l'installation.l'installation.
1919
ConfigurationConfigurationServerTypeServerType standalonestandalone
Le serveur s'exécutera seul.Le serveur s'exécutera seul.
ServerRootServerRoot /etc/httpd/etc/httpd Il s'agit du répertoire où le serveur trouvera son répertoire de configuration conf.Il s'agit du répertoire où le serveur trouvera son répertoire de configuration conf.
PidFilePidFile /var/run/httpd.pid /var/run/httpd.pid C'est le fichier où le serveur en exécution stocke son premier numéro de processus (PID)C'est le fichier où le serveur en exécution stocke son premier numéro de processus (PID)
DocumentRootDocumentRoot /var/www/html /var/www/html
fixe la racine du serveur Web, c'est-à-dire le répertoire de base où sont cherchées par fixe la racine du serveur Web, c'est-à-dire le répertoire de base où sont cherchées par défaut les pages htmldéfaut les pages html
Port Port 80 80
Apache écoute sur le port tcp usuelApache écoute sur le port tcp usuel
UserUser apacheapache (dans commonhttpd.conf) (dans commonhttpd.conf)GroupGroup apache apacheApache doit etre démarré par root, mais par sécurité ses processus auront pour Apache doit etre démarré par root, mais par sécurité ses processus auront pour propriétaire l'utilisateur propriétaire l'utilisateur apacheapache, sans privilège. , sans privilège.
2020
ConfigurationConfigurationServerAdminServerAdmin root@localhostroot@localhost (dans commonhttpd.conf) (dans commonhttpd.conf)
S'il a un problème, le serveur écrit un message à cette adresse S'il a un problème, le serveur écrit un message à cette adresse
UserDirUserDir public_html public_html l'utilisateur l'utilisateur USERUSER peut publier ses pages WEB personnelles dans un peut publier ses pages WEB personnelles dans un sous-répertoire de son répertoire perso, qui doit être nommé sous-répertoire de son répertoire perso, qui doit être nommé public_htmlpublic_html, , c'est-à-dire dans c'est-à-dire dans /home/USER/ public_html/home/USER/ public_html..Sa page d'accueil sera alors accessible par:Sa page d'accueil sera alors accessible par:http://serveur/~USERhttp://serveur/~USER
DirectoryIndexDirectoryIndex index.html index.php index.htm ...index.html index.php index.htm ...Il est courant d'omettre le nom du fichier de la page d'accueil d'un site ou Il est courant d'omettre le nom du fichier de la page d'accueil d'un site ou de l'un de ses sous-répertoires. Pour ne pas retourner systématiquement de l'un de ses sous-répertoires. Pour ne pas retourner systématiquement une erreur 404 signalant une adresse erronnée.une erreur 404 signalant une adresse erronnée.
AccessFileName AccessFileName .htaccess .htaccess Cette clause fixe le nom du fichier à trouver dans un répertoire pour que Cette clause fixe le nom du fichier à trouver dans un répertoire pour que son accès soit protégé, en imposant à l'utilisateur une authentification par son accès soit protégé, en imposant à l'utilisateur une authentification par nom et mot de passe.nom et mot de passe.
2121
ConfigurationConfiguration
Réglages d'exécutionRéglages d'exécutionTimeoutTimeout 300300
Paramètre important qui fixe le temps (en ms) d'attente maximum du serveur d'une réponse à Paramètre important qui fixe le temps (en ms) d'attente maximum du serveur d'une réponse à une requete envoyée à un programme extérieur.une requete envoyée à un programme extérieur.
MinSpareServers MinSpareServers 44MaxSpareServersMaxSpareServers 2020 Nombres maximum et minimum de processus serveurs devant etre en permannence Nombres maximum et minimum de processus serveurs devant etre en permannence disponibles, en attente de nouvelles connexion clientesdisponibles, en attente de nouvelles connexion clientes
MaxClients MaxClients 150 150 Nombre maximum de processus qu'Apache peut lancer et gérer simultanément. Ce nombre ne Nombre maximum de processus qu'Apache peut lancer et gérer simultanément. Ce nombre ne peut pas excéder 254peut pas excéder 254
2222
ConfigurationConfiguration
Intégration du module phpIntégration du module php
Télécharger, décompresser, etc., le tout dans le répertoire /usr/local/php.Télécharger, décompresser, etc., le tout dans le répertoire /usr/local/php.
La procédure d'installation est la suivante :La procédure d'installation est la suivante :
$ cd /usr/local/php$ cd /usr/local/php$ ./configure --with-apache =/usr/local/apache $ ./configure --with-apache =/usr/local/apache
$ make$ make$ make install$ make install
2323
ConfigurationConfiguration
Intégration du module phpIntégration du module php
Après l’installation du module php .nous recompilons Apache en Après l’installation du module php .nous recompilons Apache en lui indiquant qu'il doit intégrer Php dans son noyau.lui indiquant qu'il doit intégrer Php dans son noyau.
$ cd /usr/local/apache$ cd /usr/local/apache
$ ./configure --prefix=/www $ ./configure --prefix=/www --activate-module=src/modules/php4/libphp4.a--activate-module=src/modules/php4/libphp4.a
$ make$ make
$ make install $ make install
2424
ConfigurationConfigurationLes pages WEB personnellesLes pages WEB personnelles
Tout naturellement, Les documents d’un utilisateur devront être placés dans Tout naturellement, Les documents d’un utilisateur devront être placés dans leur répertoire personnel dont ils sont propriétaires et ont le plein accès. leur répertoire personnel dont ils sont propriétaires et ont le plein accès.
Plus concrétement, si la page d'accueil s'appelle Plus concrétement, si la page d'accueil s'appelle index.htmlindex.html, pour l'utilisateur , pour l'utilisateur toto toto , sur le serveur , sur le serveur www.serveur.frwww.serveur.fr, son ouverture sur une station du réseau , son ouverture sur une station du réseau est obtenue en spécifiant l'URL : est obtenue en spécifiant l'URL : http://seveur.fr/~toto/index.html..
On peut n'autoriser l'accès qu'à certains utilisateurs avec les lignes On peut n'autoriser l'accès qu'à certains utilisateurs avec les lignes supplémentaires : supplémentaires : UserDir disable UserDir disable UserDir enable jean toto .... UserDir enable jean toto ....
Attention aux droits d'accès !Attention aux droits d'accès ! L'accès de tous à ces sites persos exige que L'accès de tous à ces sites persos exige que le droit de parcours « x » soit accordé à tous les rép. des utilisateurs et à le droit de parcours « x » soit accordé à tous les rép. des utilisateurs et à public_htmlpublic_html(droits 771), et que le droit de lecture « r » soit bien sûr accordé (droits 771), et que le droit de lecture « r » soit bien sûr accordé aux fichiers des pages pour tous (droits 644) aux fichiers des pages pour tous (droits 644)
2525
SécuritéSécurité
La protection par domainesLa protection par domaines
Elle consiste à donner ou refuser, l’accès de certains Elle consiste à donner ou refuser, l’accès de certains documents en fonction du domaine auquel appartient la documents en fonction du domaine auquel appartient la machine à partir de laquelle est faite la requête.machine à partir de laquelle est faite la requête.
2626
SécuritéSécurité
Exemple :
Dans cette exemple, la première Dans cette exemple, la première directive <Directory> indique que les directive <Directory> indique que les documents du serveur sont documents du serveur sont accessibles à tout le monde.accessibles à tout le monde.
La deuxième directive La deuxième directive <Directory> définit un filtre <Directory> définit un filtre pour les documents dans : pour les documents dans : /usr/local/etc/httpd/htdocs/loca/usr/local/etc/httpd/htdocs/local qui ne sont accessibles l qui ne sont accessibles qu’aux machines appartenant qu’aux machines appartenant au domaine au domaine urec.fr.urec.fr.
2727
SécuritéSécurité
LA PROTECTION PAR UTILISATEURSLA PROTECTION PAR UTILISATEURS
Il s'agit au sein d'un service WEB de Il s'agit au sein d'un service WEB de réglementer l'accès à un espace réservé.réglementer l'accès à un espace réservé.Seuls les utilisateurs autorisés pourront y accéder Seuls les utilisateurs autorisés pourront y accéder après une procédure d'authentification par nom et mot après une procédure d'authentification par nom et mot de passe. de passe.
Nous allons montrer comment mettre en Nous allons montrer comment mettre en oeuvre une telle protection. oeuvre une telle protection.
2828
SécuritéSécurité
Un exemple de procédureUn exemple de procédure
Soit à protéger l'accès au répertoire /home/httpd/html/prive/ qui est pour le Soit à protéger l'accès au répertoire /home/httpd/html/prive/ qui est pour le moment accessible par tous (permissions Linux drwxr-xr-x sur ce moment accessible par tous (permissions Linux drwxr-xr-x sur ce répertoire) répertoire)
Avec les droits de root, on crée le fichier Avec les droits de root, on crée le fichier .priv_passwd.priv_passwd dans dans /home/httpd, qui va contenir les utilisateurs ayant droit d'accès. En même /home/httpd, qui va contenir les utilisateurs ayant droit d'accès. En même temps on y place le premier utilisateur privilégié admin par :temps on y place le premier utilisateur privilégié admin par :# cd /home/httpd# cd /home/httpd# htpasswd -c .priv_passwd admin # htpasswd -c .priv_passwd admin ---> mot de passe demandé, puis confirmé.---> mot de passe demandé, puis confirmé.
L'utilitaire htpasswd crée (option -c) le fichier L'utilitaire htpasswd crée (option -c) le fichier caché .priv_passwd, dans le rép. courant, ici /home/httpd, et y enregistre caché .priv_passwd, dans le rép. courant, ici /home/httpd, et y enregistre admin avec son mot de passe crypté. admin avec son mot de passe crypté.
2929
SécuritéSécurité
Puis on crée le fichier Puis on crée le fichier .htaccess.htaccess dans le répertoire à protéger. dans le répertoire à protéger. Il doit contenir notamment le chemin vers le fichier Il doit contenir notamment le chemin vers le fichier /home/httpd/.priv_passwd :/home/httpd/.priv_passwd :
AuthUserFile /home/httpd/.priv_passwd AuthUserFile /home/httpd/.priv_passwd AuthGroupFile /dev/null AuthGroupFile /dev/null AuthName "Acces prive" AuthName "Acces prive" AuthType Basic AuthType Basic <limit GET> <limit GET>
require valid-user require valid-user </limit> </limit>
3030
Merci pour votre attentionMerci pour votre attention
3131