notre solution
Transcription
notre solution
Documentation serveurs web apache PPE2 Miramont Julian Contents 1 : Comparaison apache/IIS ................................................................................ 3 1.1 : Apache .................................................................................................... 3 1.2 : IIS ............................................................................................................ 4 1.3 Conclusion ................................................................................................. 4 2 : configuration de ZEN Load-balancer.............................................................. 6 2.1 : Creation d’une ferme .............................................................................. 6 2.2 : Configuration de la ferme : ...................................................................... 8 2.3 : Ajout des deux serveurs Web : .............................................................. 11 3 : Installation du serveur Apache .................................................................... 11 4 : Serveur FTP ................................................................................................. 11 4.1 : Installation ............................................................................................ 11 4.2 : Configuration ........................................................................................ 12 5 : Tests ............................................................................................................ 13 1 : Comparaison apache/IIS Apache et IIS (Internet Information Services) sont de loin les deux plates-formes de serveurs web les plus courants. Nous allons voir les avantages et inconvénients des deux platesformes. 1.1 : Apache Le serveur Web Apache http est une application d’Apache Software Foundation. Ce logiciel est distribué gratuitement et la licence est open-source, ce qui signifie que les utilisateurs peuvent modifier le code à leur guise. Bien qu’Apache fonctionne sur tous les principaux systèmes d’exploitation, il est le plus souvent utilisé sur Linux. Apache est le leader sur le marché du serveur Web, et a une excellente réputation, ce qui peut nous donner confiance pour le choix d’Apache pour les serveurs Web. Niveau performance, Apache est légèrement plus performant que IIS, Mais apache est toujours freiné par de deux ses principales caractéristiques : Apache est un serveur basé sur les processus. Dans un serveur basé sur les processus, chaque connexion simultanée nécessite un thread séparé, ce qui entraîne une surcharge significative. Un serveur asynchrone, d'autre part, est piloté par les événements et traite les demandes en une seule ou très peu de discussions. 1.2 : IIS IIS (Internet Information Services) est le serveur web l'offre de Microsoft. C’est un produit de logiciel fermé et supporté uniquement par Microsoft. Il existe une version Lite appelé IIS Express qui a été installable comme un serveur autonome freeware de Windows XP SP3 partir. Mais cette version ne supporte que HTTP et HTTPS. Solide fonction, des améliorations de performances et de sécurité au cours des années ont fait que IIS est constamment améliorée et gagné du terrain et des parts de marché sur Apache, d'environ 21% en 2010 à environ 32% au février 2014. Pourtant, la comparaison de la sécurité IIS Apache peut ne pas être juste de IIS. La vulnérabilité de IIS peut aussi être largement attribué à son parent de système d'exploitation, puisque la plupart des objectifs de logiciels malveillants sont sur Windows. Comme Apache, IIS utilise également des extensions Web externes pour mettre en œuvre certaines fonctionnalités. Par exemple publication FTP, demande d'application de routage, des services de médias et de la réécriture d'URL sont toutes les nouvelles fonctionnalités introduites dans IIS 7.5 via des extensions. IIS est rapporté comme étant légèrement derrière Apache en termes de performances. Cependant, ces résultats sont entachés parce que l'environnement du système d'exploitation sous-jacent ne peut être égal pour fixer une base égale. IIS est inextricablement liée avec Windows (par exemple IIS peut facilement passer et recevoir des threads de processus du système d'exploitation Windows), et Apache ne peut tout simplement pas fonctionner aussi bien là-bas. 1.3 Conclusion Apache et IIS ont leurs avantages et inconvénients, comme indiqué ci-dessus. Déterminer lequel utiliser est déterminée par plusieurs facteurs : IIS doit être livré avec Windows, mais Apache n'a pas le soutien des entreprises grand nom, Apache a une excellente sécurité, mais ne propose pas un excellent support de .NET de IIS. Et ainsi de suite. Le choix final pourrait bien être un compromis qui sera déterminé selon les besoins. Voici un tableau récapitulatif : Caractéristique IIS Apache OS supportés Fenêtres Linux, Unix, Windows, Mac OS Support aux utilisateurs et correctifs Le soutien des entreprises Soutien communautaire Coût Gratuit, mais livré avec Windows Entièrement gratuit Développement Fermé, exclusif Open source Sécurité Excellent Bien Performance Bien Bien Part de marché 32% 42% 2 : Configuration de ZEN Load-balancer 2.1 : Création d’une ferme Pour accéder à l’interface d’administration entrer l’adresse suivante dans votre navigateur : https://172.31.0.3:444 Login : admin Password : admin Pour créer une nouvelle ferme, dans l'onglet « Manage » puis cliquer sur « Farms » Une fois sur cette page, cliquer sur ; « Add new Farm » : Entrée le nom de la ferme ici et choisir « TCP » comme profile : Ensuite sélectionner l'IP et écrire le port 2.2 : Configuration de la ferme : Entrée les infos comme l'image ci-dessous (Le nom de la ferme ainsi que l'IP que vous souhaitez) : Décochez l'option « Enable client ip adress persistence through memory ». Vous avez la possibilité d’installer un module complémentaire « Farmguardian » qui détectera les erreurs des serveurs. Explication de chaque ligne : -Load Balance Algorithm : - - Round Robin : Chaque client est distribué a tour de rôle sur les deux serveurs. Hash : Chaque client ce voit attribué un numéro. Chaque serveurs dispose également d'un numéro. Avec cette méthode un utilisateur et toujours distribué vers le même serveur Weight : Les clients seront distribués en fonction de la charge de chaque serveur (poids). Priority : Les clients sont automatiquement distribués sur le serveur prioritaire. Enable client ip adress persistence through memory : quelque soit l'algorithme de load balancing un client qui a toujours la même adresse IP sera distribué sur le même serveur web. Max number of clients memorized in the farm : Cette valeur est utile que si on utilise l'option du dessus. Elle permet de définir un nombre maximum de client sur le serveur. Backend response timeout : C'est le temps de réponse maximum du serveur. Max number of simultaneous connections for the virtual IP :Ce paramètre spécifie le nombre simultanée de connections a la ferme. Max number of real ip servers : C'est le nombre maximum de serveur dans la ferme. Add X-Forwarded-For header to http request : Cette option active la redirection d’entête http afin que le serveur web connaisse l'adresse IP du client. Frecuency to check resurrected backends : Cette valeur, en seconde, est la période pour qu'un serveur ne soit plus en blacklist. Use farmguardian to check backend servers :Permet de personnaliser le monitoring des serveurs en utilisant ces propres commandes. 2.3 : Ajout des deux serveurs Web : En bas de la page, cliquer sur Add Real Server : Il nous faudra ensuite mettre les informations nécessaires : - L’adresse réseau. Le port. Le nombre maximum de connexions. Le poids du serveur. Sa priorité par rapport aux autres serveurs. On utilisera les valeurs de l’exemple ci-dessus. 3 : Installation du serveur Apache Se référer au tutoriel vu en cours « Tutoriel Installation Apache sous DEBIAN - Version simple ». 4 : Serveur FTP Le besoin est de créer deux serveurs FTP¨, un sur chaque serveur Web, pour envoyer des fichiers tel que le fichier de configuration de la page Web. 4.1 : Installation Pour installer le package, rien de plus simple, il nous faut utiliser une ligne de commande « apt-get install proftpd » et accepter l’installation du nouveau package. L’installation se fera automatiquement. 4.2 : Configuration On peut modifier le fichier de configuration avec cette commande : nano /etc/proftpd/proftpd.conf Voici les paramètres à changer pour une utilisation standard : ServerName : le nom NETBIOS de votre serveur ftp. Le « DefaultRoot » : sert à définir le dossier d’accueil de l’administrateur FTP, il ne pourra pas accéder aux dossiers parents du dossier choisit. Ici, on choisit /var/www. En dessous de « Anonymous -ftp » : Renseigner l'utilisateur qui aura accès au FTP : NB : Notre serveur n’étant pas SSL, on aura un message d’avertissement à chaque fois qu’on relancera le serveur, à cause du module memcache. Ce message étant indésirable, on peut retirer ce module comme ceci : - Écrire sur le terminal : nano /etc/proftpd/modules.conf . Et commentez la ligne : LoadModule mod_tls_memcache.c . ATTENTION : Il faut également donner les droits à notre utilisateur FTP sur le dossier WWW, avec la commande qui suit : chmod -R 777 /var/www Il faudra se connecter avec l’utilisateur adminftp pour donner les drotis sur le dossier. C’est tout pour la configuration des serveurs Web. 5 : Tests On peut effectuer certains tests pour vérifier que les serveurs Web sont bien fonctionnels, et que le Load Balancer fonctionne bien. On pourra aussi tester les deux serveurs FTP. - Load Balancer : Pour tester Le Load Balancer, il faut se connecter à un des deux serveurs Web (par exemple https://172.31.0.2). Une fois sur le site, maintenir la touche F5 pour actualiser rapidement le site. Cela a pour but de demander d’accéder au site une multitude de fois en peu de temps, et le Load Balancer est sensé nous faire passer d’un site à l’autre. Il suffira donc de regarder l’adresse URL tout en actualisant la page. Si nous passons bien d’une URL à l’autre, le test est OK. - Administration Load Balancer : Pour tester l’administration du Load Balancer, il nous faut ouvrir un navigateur avec l’URL d’administration https://172.31.0.1:444 . Si le site d’administration apparaît, le test est OK. - Fail Over : Pour tester le Fail Over, il nous faudra éteindre un serveur Web. Le deuxième serveur est sensé prendre le relai. Si on est bien redirigé sur l’autre page web, le test est OK. - Serveur FTP : Pour tester le serveur FTP, il nous faudra utiliser FileZilla (qui est un client FTP). Si avec ce logiciel on peut se connecter au serveur et transférer des fichiers, le test est OK.