Serveur Web (2)

1 028 vues

Publié le

Apache configuration, EasyPHP, Proxy

  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Serveur Web (2)

  1. 1. Serveur Web et Gestion de Sites Web (suite) Saïd Radhouani Université de Genève janvier 2005
  2. 2. Les pages Web personnelles <ul><li>Comment permettre aux utilisateurs de publier leurs &quot;pages persos&quot; sur le site Web de l'établissement ? </li></ul><ul><li>Tout naturellement, ces documents devront être placés dans leur répertoire personnel dont ils sont propriétaires et ont le plein accès, tout en permettant l'accès et la lecture à tous </li></ul><ul><li>La page d'accueil doit être présente dans un sous-répertoire du répertoire perso. Par défaut le nom de ce sous-répertoire est fixé à public_html </li></ul><ul><li>Ce sous-répertoire des pages personnelles a un nom spécifié par le paramètre UserDir dans le fichier httpd.conf. </li></ul><ul><ul><li>Par défaut, on y trouve : UserDir «…/apache/users/» </li></ul></ul>
  3. 3. Les pages Web personnelles <ul><li>Plus concrètement, si la page d'accueil s'appelle index.html, pour l'utilisateur toto, sur le serveur mondomaine.ch, son ouverture sur une station du réseau est obtenue en spécifiant l'URL : </li></ul><ul><ul><li>http://mondomaine.ch/~toto/index.html </li></ul></ul><ul><ul><li>ou plus simplement : http://mondomaine.ch/~toto </li></ul></ul><ul><li>On peut n'autoriser l'accès qu'à certains utilisateurs avec les lignes supplémentaires : </li></ul><ul><ul><li>UserDir disabled user1 user2 … </li></ul></ul><ul><ul><li>UserDir enabled user3 user4 … </li></ul></ul>
  4. 4. Alias <ul><li>L’Option DocumentRoot fixe la règle générale de décodage des URL : </li></ul><ul><ul><li>une requ ête de type http://dir1/dir2/fichier.html recherche le fichier :<DocumentRoot>/dir1/dir2/fichier.html </li></ul></ul><ul><li>Ceci implique que l’ensemble des fichiers du site doivent être mis sous une seule arborescence : Documentroot </li></ul><ul><li>Cette règle générale peut être modifiée en associant d’autres chemins de recherche pour les URL particulières </li></ul><ul><li>Cette association URL <=> Chemin de recherche est réalisée par la directive Alias (Comme un raccourci) </li></ul>
  5. 5. Alias <ul><li>Les directives Alias doivent être placées dans la zone de configuration mod_alias.c </li></ul><ul><li>Exemple : Alias /doc/ «C:/Program Files/EasyPHP1-7/apache/documentation» </li></ul><ul><li>En redémarrant le serveur, les différents fichiers du répertoire de documentation sont donc maintenant directement accessible via l’URL coreespondante : http://localhost/doc/ </li></ul>
  6. 6. H ôtes virtuels <ul><li>Que fait un hébergeur pour héberger des centaines de sites Web ? </li></ul><ul><li>Avec Apache, il est possible d’utiliser une seule instance du serveur pour plusieurs sites différents </li></ul><ul><li>Solution souvent utilisée par les hébergeurs (évite de devoir utiliser un serveur Apache par site) </li></ul><ul><li>Apache permet de définir un serveur principal et un nombre, en principe illimité de serveurs virtuels </li></ul><ul><li>L’intérêt est de permettre de déclarer autant de sites indépendants que l’on veut sur une seule machine avec un processus Apache et ses fils unique </li></ul>
  7. 7. H ôtes virtuels <ul><li>Un serveur virtuel est vu du monde entier comme un serveur Web à part entière avec son propre nom </li></ul><ul><li>Il est nécessaire néanmoins de déclarer une entrée à chaque fois dans le DNS pour que les serveurs de noms soient capables de mettre en relation le serveur virtuel avec la vraie machine </li></ul><ul><li>Un ordinateur un peu puissant peut ainsi héberger des milliers de petits sites </li></ul><ul><li>Chaque site correspondra à un répertoire différent </li></ul><ul><li>Deux types de sites virtuels : </li></ul><ul><ul><li>les sites basés sur les numéros IP : un numéro IP par site virtuel (ne pas utiliser) </li></ul></ul><ul><ul><li>les sites basés sur les noms </li></ul></ul>
  8. 8. Configuration des h ôtes virtuels <ul><li>Nous allons stopper Apache durant notre manœuvre </li></ul><ul><li>Une fois Apache stoppé, rendez vous dans le répertoire de configuration d'Apache </li></ul><ul><li>Nous allons créer un nouveau fichier de configuration pour y intégrer notre nouveau Virtual Host </li></ul><ul><ul><li>Nous pourrions bien sûr l'intégrer directement dans le httpd.conf mais cela est beaucoup plus pratique d'avoir un fichier bien distinct (il suffit de faire un include dans le fichier httpd.conf) </li></ul></ul><ul><li>Nous nommerons donc ce fichier vhost.conf </li></ul>
  9. 9. Configuration des h ôtes virtuels <ul><li>NameVirtualHost « nom du Virtual Host » (www.mon-domaine.ch) </li></ul><ul><ul><li>Ou bien mettre l’adresse IP </li></ul></ul><ul><li>< VirtualHost www.mon-domaine.ch > </li></ul><ul><ul><li>Ou bien mettre l’adresse IP </li></ul></ul><ul><li>ServerAdmin « adresse email » (mon-email@domaine.cho) </li></ul><ul><ul><li>cette adresse peut être différente de celle de votre premier domaine. C'est d'ailleurs un des intérêts du Virtual Host </li></ul></ul><ul><li>DocumentRoot «le chemin jusqu'au répertoire de votre site» </li></ul><ul><ul><li>C:/…/www/domaine/ </li></ul></ul><ul><ul><li>Logiquement ce n'est pas le même que votre premier site </li></ul></ul><ul><li>ServerName «le nom du Virtual Host comme nom de Serveur» </li></ul><ul><ul><li>www.mon-domaine.ch </li></ul></ul>
  10. 10. Configuration des h ôtes virtuels <ul><li>ErrorLog « emplacement du fichier log d’erreurs » </li></ul><ul><ul><li>Pour plus de lisibilité, on stocke les erreurs dans un autre fichier que le premier site </li></ul></ul><ul><ul><li>On a le libre choix de nommer ce fichier </li></ul></ul><ul><li>TransferLog «  emplacement du fichier log des accès » </li></ul><ul><ul><li>Les statistiques (logs) </li></ul></ul><ul><li>< /VirtualHost > </li></ul><ul><ul><li>On ferme la configuration </li></ul></ul>
  11. 11. Configuration des h ôtes virtuels <ul><li>Une fois que notre vhost.conf est prêt, nous pouvons l'inclure dans le fichier httpd.conf afin qu'Apache le prenne en compte </li></ul><ul><li>Nous allons donc ouvrir un httpd.conf et décommenter la ligne contenant «Include conf/vhost.conf» </li></ul><ul><li>Vous pensez que c'est le moment de redémarrer Apache et de voir ce que ça donne tout ça ? </li></ul>
  12. 12. Configuration des h ôtes virtuels - fichier Hosts <ul><li>Direction C:WINDOWSsystem32driversetc, le bon fichier est hosts </li></ul><ul><li>Deux cas possibles : </li></ul><ul><ul><li>Soit vous êtes le seul PC et vous ne disposez pas de réseau donc pas besoin de prévoir qu'une autre machine puisse accéder à www.mon-domaine.ch </li></ul></ul><ul><ul><ul><li>Il suffit de rajouter la ligne « 127.0.0.1 www.mon-domaine.ch » </li></ul></ul></ul><ul><ul><li>Soit vous êtes sur un réseau </li></ul></ul><ul><ul><ul><li>Il faut que vous rajoutiez l'adresse IP que vous avez sur votre réseau </li></ul></ul></ul><ul><ul><ul><li>Il suffit de rajouter la ligne « 129.194.x.y www.mon-domaine.ch » </li></ul></ul></ul><ul><ul><ul><li>Vous pouvez rajouter autant de lignes que vous le souhaitez avec la même IP et un &quot;domaine différent &quot; </li></ul></ul></ul>
  13. 13. Configuration des h ôtes virtuels <ul><li>Une fois cela fait, on sauvegarde le fichier hosts et on redémarre Apache, enfin ! </li></ul><ul><li>On teste l'adresse www.mon-domaine.ch et ... ça marche ! </li></ul><ul><li>On peut s’amuser à faire des Sub-Domains du genre « forum.mon-domaine.ch » qui pointe en fait sur un sous-répertoire ! </li></ul>
  14. 14. Exemple <ul><li>NameVirtualHost radhouani.com </li></ul><ul><ul><li><VirtualHost radhouani.com> </li></ul></ul><ul><ul><li> … </li></ul></ul><ul><ul><li>ServerName radhouani.com </li></ul></ul><ul><ul><li>DocumentRoot «C:/Program Files/EasyPHP1-7/www/radhouani/» </li></ul></ul><ul><ul><li> … </li></ul></ul><ul><ul><li></VirtualHost> </li></ul></ul><ul><ul><li><VirtualHost said.com </li></ul></ul><ul><ul><li> … </li></ul></ul><ul><ul><li>ServerName said.com </li></ul></ul><ul><ul><li>DocumentRoot «C:/Program Files/EasyPHP1-7/www/said/» </li></ul></ul><ul><ul><li> … </li></ul></ul><ul><ul><li></VirtualHost> </li></ul></ul><ul><li>Ne pas oublier de mettre à jour le fichier hosts </li></ul>
  15. 15. Serveur proxy <ul><li>C’est un dispositif informatique, constitué d'un ordinateur équipé d'un logiciel adéquat, et placé entre le réseau Internet et des clients (stations de travail pourvues d'un navigateur) </li></ul><ul><li>Principe de fonctionnement : </li></ul><ul><ul><li>Lorsqu'un utilisateur se connecte à internet à l'aide d'une application cliente configurée pour utiliser un serveur proxy, celle-ci va se connecter en premier lieu au serveur proxy et lui donner sa requête </li></ul></ul><ul><ul><li>Le serveur proxy va alors se connecter au serveur que l'application cliente cherche à joindre et lui transmettre la requête </li></ul></ul><ul><ul><li>Le serveur va ensuite donner sa réponse au proxy, qui va à son tour la transmettre à l'application cliente </li></ul></ul>
  16. 16. Serveur proxy - Fonctionnement <ul><li>Source:Commentcamarche.com </li></ul>
  17. 17. Serveur proxy <ul><li>Un serveur proxy est spécifique d'un service Internet particulier: </li></ul><ul><ul><li>proxy web, </li></ul></ul><ul><ul><li>proxy ftp, </li></ul></ul><ul><ul><li>proxy telnet, </li></ul></ul><ul><ul><li>etc. </li></ul></ul><ul><li>Trois rôles lui sont dévolus : </li></ul><ul><ul><li>Mise en mémoire cache, </li></ul></ul><ul><ul><li>Enregistrement des mouvements d'information, </li></ul></ul><ul><ul><li>Filtrage </li></ul></ul><ul><ul><li>On évoque aussi parfois la sécurité du système informatique de l'entreprise, rôle qui peut être dévolu à un autre dispositif appelé firewall </li></ul></ul>
  18. 18. Fonctions du serveur proxy <ul><li>Le rôle premier d'un serveur proxy est de servir de cache ( caching ) </li></ul><ul><ul><li>En informatique, une mémoire cache sert à conserver localement des informations qui ont une certaine probabilité de servir à nouveau </li></ul></ul><ul><ul><li>Exemples : mémoire cache dans tous les micro-processeurs, et dans tous les navigateurs, certains moteurs de recherche </li></ul></ul><ul><li>Un serveur proxy stocke provisoirement les pages Web que les utilisateurs vont chercher sur Internet </li></ul><ul><ul><li>Si un internaute requiert une information qui se trouve déjà dans le cache, il sera servi presque immédiatement </li></ul></ul><ul><ul><li>Dans le cas contraire, il sera servi plus lentement, car la traversée du serveur proxy représente une étape supplémentaire dans le transport de l'information </li></ul></ul>
  19. 19. Fonctions du serveur proxy <ul><li>L'information stockée dans le cache du proxy est conservée pendant un temps limité, 24 heures en général </li></ul><ul><li>Si le cache déborde, l'information la plus récente chasse la plus ancienne </li></ul><ul><li>C'est un non-sens que de se servir d'un proxy pour les services dont l'information peut être mise à jour à tout instant (les news par exemple), à moins que le logiciel ne détecte ces mises à jour (ce qui est rare ) </li></ul>
  20. 20. Fonctions du serveur proxy <ul><li>La fonction d'enregistrement : </li></ul><ul><ul><li>Un serveur proxy garde une trace de tous les échanges d'information qui le traversent : </li></ul></ul><ul><ul><ul><li>l'adresse de l'internaute, l'heure, le site web demandé, les pages consultées, etc. </li></ul></ul></ul><ul><li>La fonction de filtrage : </li></ul><ul><ul><li>On peut configurer un serveur web de telle sorte qu'il examine l'information qui le traverse </li></ul></ul><ul><ul><ul><li>Exemple : refuser de délivrer les fichiers contenant une chaîne de caractères donnée </li></ul></ul></ul>
  21. 21. Exemples d'implantation de serveur proxy <ul><li>Le réseau local d'une entreprise peut être relié à Internet via un serveur proxy </li></ul><ul><li>Dans ce cas, le proxy est utile si : </li></ul><ul><ul><li>il dessert un grand nombre d'utilisateurs, </li></ul></ul><ul><ul><li>et ces utilisateurs ont des besoins en information fortement corrélés </li></ul></ul><ul><li>En réalité, dans une entreprise bien gérée, on ne trouve pas deux personnes faisant exactement la même chose </li></ul><ul><ul><li>=> Les besoins en information des divers membres du personnel se recoupent assez peu </li></ul></ul>
  22. 22. Le serveur proxy est un espion <ul><li>Le serveur proxy est parfait dans le rôle d'espion de ce que chacun fait sur Internet dans l'entreprise : </li></ul><ul><ul><li>Il enregistre tout ce qu'on lui demande </li></ul></ul><ul><ul><li>Le sachant, le personnel évite de surfer pour des motifs autres que professionnels </li></ul></ul><ul><ul><li>Il y a là de quoi séduire un chef d'entreprise qui craint que son personnel ne s'égare dans des sites n'ayant que de lointains rapports avec ses besoins en information </li></ul></ul>
  23. 23. Exemples d'implantation de serveur proxy <ul><li>Un groupe d'établissements d'enseignement </li></ul><ul><li>Exemple : si vous animez une session de formation utilisant Internet => vous avez de bonnes chances de faire faire à peu près la même chose à tous les participants (un cas de figure qui risque de se reproduire souvent) </li></ul><ul><li>Dans ce cas, un serveur proxy parait utile : </li></ul><ul><ul><li>on appelle une seule fois le serveur Web, ensuite l'information se trouve dans le cache, et tous les autres participants vont y accéder rapidement </li></ul></ul>
  24. 24. Exemples d'implantation de serveur proxy <ul><li>Un fournisseur d'accès à Internet peut interposer un serveur proxy entre son réseau et ses clients : </li></ul><ul><li>C’est utile quand il s’agit de plusieurs requ êtes sur des pages dont le contenu est relativement statique </li></ul><ul><li>Mais, le cache peut servir de nombreuses fois pour la météo, les nouvelles du jour, l'horoscope, ou la photo de la dernière actrice à la mode </li></ul><ul><ul><li>Dans ce cas, l’internaute sera servi plus lentement, car la traversée du serveur proxy représente une étape supplémentaire dans le transport de l'information </li></ul></ul><ul><ul><li>Astuce : se transformé en &quot;portail du web » en proposant sur son site toutes les informations que le public consulte couramment </li></ul></ul><ul><ul><li>=> plus besoin de proxy... si ce n'est pour conserver la trace de ce que font ses clients </li></ul></ul>

×