Hébergement des sites web sous Linux OFPPT Lista Marrakech SYBA CHU Marrakech MED VI Hébergement des sites web sous Linux Réalisé par : Encadré par : QESMI Med Elamine ASAKHIR Hassan Année : 2012/2013
Présentation du Centre Hospitalier Universel Mohammed VI Le Centre Hospitalier universitaire Mohammed VI est un établissement public doté de la personnalité morale et de l’autonomie financière. Il est soumis à la tutelle du Ministère de la Santé et a été créé en vertu de la Loi 82.00 promulguée par le Dahir 1.01.206 du 10 joumada II 1422 (30 août 2001) modifiant et complétant la loi 37.80 relative aux centres hospitaliers, promulguée par le Dahir 1.82.5 du 30 rabia I (15 janvier 1983).
Plan Qu'est-ce qu'un serveur web ? Introduction à Apache Installation et configuration graphique Installation et configuration sous console Aspect sécurité
Qu'est-ce qu'un serveur web ? Un serveur web est un logiciel permettant à des clients d'accéder à des pages web à partir d'un navigateur installé sur leur ordinateur distant. Un serveur web est donc un logiciel capable d'interpréter les 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 protocole. Les principaux serveurs web sur le marché sont : Apache Microsoft IIS (Internet Information Server) Microsoft PWS (Personal Web Server) Xitami ...
Introduction à Apache 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 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 vulnérabilités le concernant sont publiées. Apache est actuellement le serveur HTTP le plus utilisé dans l’Internet. Doté de nombreuses fonctionnalités, performant et gratuit, il constitue un choix très intéressant pour ceux qui désirent mettre en place un service WWW.
Installation du Serveur WEB Apache 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 en particulier un répertoire conf qui contient les fichiers de configuration d’Apache. /usr/local/etc/httpd Conf Cgi-bin icons
Installation des paquetages Pour installer tout les paquetages nécessaires on doit aller dans le « Centre de Contrôle » situé dans : menu > Système > Configuration > Configurez votre ordinateur Centre de Contrôle Mandrake
Installer les outils d’administration Installation de paquetages (drakx)
Installer les outils d’administration Installation de paquetages (drakw)
Configuration du serveur Apache Centre de Contrôle Mandrake
Configuration du serveur Apache Centre de Contrôle Mandrake - Assistants serveurs
Configuration du serveur Apache Serveur web - Activer le serveur web pour l’Intranet
Configuration du serveur Apache Serveur web - Permettre aux utilisateurs d’avoir un sous répertoire ...
Configuration du serveur Apache Serveur web - Répertoire web des utilisateurs
Configuration du serveur Apache Serveur web - Répertoire racine du serveur web
Lancement des serveurs Pour lancer le serveur il faut aller dans l’interface de gestion des "Services" :
Installation sous console La première étape consiste à récupérer la distribution la plus récente des sources du logiciel. La source la plus à 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 faut décompresser dans un répertoire source .
Installation sous console Compilation 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 > make.log Installation La phase d’installation est aussi facile que la compilation. Elle s’effectue en tapant la commande make install. De la même façon, il possible de garder une trace de l’installation en tapant : $ make install > install.log Après cette phase, le serveur Apache est prêt à fonctionner moyennant une petite configuration. $ /usr/local/apache/bin/httpd start
Configuration La configuration personnalisée du serveur s'effectue par modification du fichier de configuration située à : /etc/httpd/conf/httpd.conf. Ce qui suit est la description des principaux paramètres, et leur valeur attribuée par défaut à l'installation.
Configuration ServerType standalone Le serveur s'exécutera seul. ServerRoot /etc/httpd Il s'agit du répertoire où le serveur trouvera son répertoire de configuration conf. PidFile /var/run/httpd.pid C'est le fichier où le serveur en exécution stocke son premier numéro de processus (PID) DocumentRoot /var/www/html fixe la racine du serveur Web, c'est-à-dire le répertoire de base où sont cherchées par défaut les pages html Port 80 Apache écoute sur le port tcp usuel User apache (dans commonhttpd.conf) Group apache Apache doit etre démarré par root, mais par sécurité ses processus auront pour propriétaire l'utilisateur apache, sans privilège.
Configuration ServerAdmin root@localhost (dans commonhttpd.conf) S'il a un problème, le serveur écrit un message à cette adresse UserDir public_html l'utilisateur USER peut publier ses pages WEB personnelles dans un sous-répertoire de son répertoire perso, qui doit être nommé public_html, c'est-à-dire dans /home/USER/ public_html. Sa page d'accueil sera alors accessible par:http://serveur/~USER DirectoryIndex index.html index.php index.htm ... 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 une erreur 404 signalant une adresse erronnée. AccessFileName .htaccess 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 nom et mot de passe.
Configuration Réglages d'exécution Timeout 300 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. MinSpareServers 4 MaxSpareServers 20 Nombres maximum et minimum de processus serveurs devant etre en permannence disponibles, en attente de nouvelles connexion clientes MaxClients 150 Nombre maximum de processus qu'Apache peut lancer et gérer simultanément. Ce nombre ne peut pas excéder 254
Intégration du module php Configuration Intégration du module php Télécharger, décompresser, etc., le tout dans le répertoire /usr/local/php. La procédure d'installation est la suivante : $ cd /usr/local/php $ ./configure --with-apache =/usr/local/apache $ make $ make install
Intégration du module php Configuration Intégration du module php Après l’installation du module php .nous recompilons Apache en lui indiquant qu'il doit intégrer Php dans son noyau. $ cd /usr/local/apache $ ./configure --prefix=/www --activate-module=src/modules/php4/libphp4.a $ make $ make install
Les pages WEB personnelles Configuration Les pages WEB personnelles 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. Plus concrétement, si la page d'accueil s'appelle index.html, pour l'utilisateur toto , sur le serveur www.serveur.fr, son ouverture sur une station du réseau 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 supplémentaires : UserDir disable UserDir enable jean toto .... Attention aux droits d'accès ! L'accès de tous à ces sites persos exige que le droit de parcours « x » soit accordé à tous les rép. des utilisateurs et à public_html(droits 771), et que le droit de lecture « r » soit bien sûr accordé aux fichiers des pages pour tous (droits 644)
La protection par domaines Sécurité La protection par domaines Elle consiste à donner ou refuser, l’accès de certains documents en fonction du domaine auquel appartient la machine à partir de laquelle est faite la requête.
Sécurité Exemple : La deuxième directive <Directory> définit un filtre pour les documents dans : /usr/local/etc/httpd/htdocs/local qui ne sont accessibles qu’aux machines appartenant au domaine urec.fr. Dans cette exemple, la première directive <Directory> indique que les documents du serveur sont accessibles à tout le monde.
LA PROTECTION PAR UTILISATEURS Sécurité LA PROTECTION PAR UTILISATEURS Il s'agit au sein d'un service WEB de réglementer l'accès à un espace réservé. Seuls les utilisateurs autorisés pourront y accéder après une procédure d'authentification par nom et mot de passe. Nous allons montrer comment mettre en oeuvre une telle protection.
Un exemple de procédure Sécurité Un exemple de procédure 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 répertoire) Avec les droits de root, on crée le fichier .priv_passwd dans /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 : # cd /home/httpd # htpasswd -c .priv_passwd admin ---> mot de passe demandé, puis confirmé. L'utilitaire htpasswd crée (option -c) le fichier caché .priv_passwd, dans le rép. courant, ici /home/httpd, et y enregistre admin avec son mot de passe crypté.
Sécurité Puis on crée le fichier .htaccess dans le répertoire à protéger. Il doit contenir notamment le chemin vers le fichier /home/httpd/.priv_passwd : AuthUserFile /home/httpd/.priv_passwd AuthGroupFile /dev/null AuthName "Acces prive" AuthType Basic <limit GET> require valid-user </limit>
Merci pour votre attention