SERVEUR WEB LINUX LAMP. Raymond RAZAFIMAMONJY Administration LINUX / UNIX Chapitre 15 www.razafimamonjy.fr



Documents pareils
SERVEUR HTTP Administration d apache

Module 7 : Configuration du serveur WEB Apache

UE5A Administration Réseaux LP SIRI

CYBERGATE -TP-APACHE_2.DOC

INSTALLATION APACHE POUR WINDOWS (XP OU 2000)

2011 Hakim Benameurlaine 1

Installation d un hébergement Web à domicile

Travaux Pratiques Introduction aux réseaux IP

Table des matières Hakim Benameurlaine 1

Les serveurs WEBUne introduction

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

TP Service HTTP Serveur Apache Linux Debian

Utilisation de l espace personnel (Serveur DATA)

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

Programmation Internet Cours 4

Dans l'épisode précédent

BTS SIO Dossier BTS. PURCHLA Romain

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

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

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

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

Hébergement de site web Damien Nouvel

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

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

Pratique et administration des systèmes

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Serveur Web Apache - SSL - PHP Debian GNU/Linux

Tutoriel compte-rendu Mission 1

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

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

Architectures web/bases de données

L3 informatique TP n o 2 : Les applications réseau

Le serveur Web : Apache

Préparation d un serveur Apache pour Zend Framework

Comment avoir le logiciel? Le serveur web APACHE peut être téléchargé gratuitement du site web de APACHE:

Présentation Serveur Apache et pour RePeGlio

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

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

SQUID P r o x y L i b r e p o u r U n i x e t L i n u x

1. La plate-forme LAMP

Installation et configuration d Apache sous Linux RedHat 7.1. Pascal AUBRY Ambroise DIASCORN IFSIC Université de Rennes 1

MANUEL D INSTALLATION D UN PROXY

Proxy et reverse proxy. Serveurs mandataires et relais inverses

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

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

FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur)

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

Simple Database Monitoring - SDBM Guide de l'usager

TAGREROUT Seyf Allah TMRIM

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens

Configuration du serveur Web Apache. Master 1 STIC-Informatique 1

Installation et configuration de Vulture Lundi 2 février 2009

Serveur Subversion Debian GNU/Linux

Serveur Mandataire SQUID

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

CDS Invenio Installation et configuration de base

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

CASE-LINUX MAIL - ROUNDCUBE

Procédure d'installation

Serveur d application WebDev

CAHIER DES CHARGES SITE WEB : Steve Mind Magicien Close-up & Mentaliste - 1 -

STATISTICA Version 12 : Instructions d'installation

Raspberry pi : Développer une petite application web sur Raspberry

Installation des outils OCS et GLPI

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

Réaliser un inventaire Documentation utilisateur

Installation de la messagerie EMWAC IMS Sur Windows NT4 serveur ou Windows 2000 serveur

Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG. EHRHARD Eric - Gestionnaire Parc Informatique

Procédure d'installation du serveur Apache HTTPD pour Windows

Application Web et J2EE

Le serveur web Apache

L installation du module Webmail nécessite également quelques prérequis, à savoir :

Linux sécurité des réseaux

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

But de cette présentation. Proxy filtrant avec Squid et SquidGuard. Serveur proxy. Serveur proxy. Hainaut P

Clauses d'hébergement web

Serveurs de noms Protocoles HTTP et FTP

DOCUMENTATION ADMINISTRATEUR

GUIDE D'INSTALLATION ET DE CONFIGURATION MSCCV

REPARTITION DE CHARGE LINUX

Projet de mise en œuvre d un serveur ftp sur serveur dédié

Diffuser un contenu sur Internet : notions de base... 13

1 / Introduction. 2 / Gestion des comptes cpanel. Guide débuter avec WHM. 2.1Créer un package. 2.2Créer un compte cpanel

CONFIGURATION DE BASE. 6, Rue de l'industrie BP130 SOULTZ GUEBWILLER Cedex. Fax.: Tel.:

Serveur FTP. 20 décembre. Windows Server 2008R2

Installation Installation. Windows. Tout-en-un. Un livre de Wikilivres.

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

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Ce guide détaille pas à pas les étapes d installation et de configuration de la solution jusqu'à la sauvegarde des BDD.

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

Faire fonctionner symfony sous wamp et windows avec des vhost. Installation de wamp

CONFIGURATION IP. HESTIA FRANCE S.A.S 2, rue du Zécart TEMPLEUVE +33 (0) (0) Site internet:

Exemple : vous voulez tester votre site en local avant de l uploader via FTP chez votre hébergeur externe.

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

MANUEL INSTALLATION. GANESHA version 4. Editeur Anéma SAS Département Développement

Transcription:

SERVEUR WEB LINUX LAMP 1

Le Serveur APACHE Définition d un serveur web : - Un serveur http ou démon http ou HTTPd (HTTP daemon) ou (moins précisément) serveur web, est un logiciel servant des requêtes respectant le protocole de communication Hypertext Transfert Protocol (HTTP ), qui a été dévelloppeé pour le World Wide Web. -C est un ordinateur sur lequel fonctionne un serveur HTTP est appelé serveur web,il est utilisé pour héberger un site web, il sert des pages web pour le clients en utilisant le protocole http. -Le terme «serveur web» peut aussi désigner le serveur http (le logiciel) lui même. D'autres ressources du Web comme les fichiers à télécharger ou les flux audio ou vidéo sont en revanche fréquemment servies avec d'autres protocoles. Les serveurs HTTP les plus utilisés sont : -Apache HTTPD de la Apache Software Foudation, successeur du NCSA httpd ; -Internet Information Services de Microsoft (IIS) -Sun one DE Sun Microsystems (anciennement iplanet de Nestcape) -Les serveur Web Zeus de Zeus Technology - WAS (Webspher Application Server) de IBM 2

Le Serveur APACHE HISTORIQUE : Fin 1994 : le serveur web le plus utilisé dans le monde est celui du National Institute for Supercomputing Applications (NCSA httpd 1.3 - Université de l'illinois). Le developpement s'arrête suite au départ du developpeur Rob McCool. Début 1995 : naissance de la première équipe Apache (11 personnes) qui va coordoner la mise en commun de centaines de corrections et d'améliorations faite au serveur par des developpeurs indépendants pour leurs propres besoins. Première version publique de Apache (0.6.2) Début 1996 : suite à la sortie de la version 1.0 et moins d'un an après la création du groupe, Apache dépasse son "papa" en terme d'utilisation et devient le serveur Web le plus utilisé dans le monde Aujourd'hui : Apache est toujours le serveur Web le plus utilisé. La "Apache Software Foundation" compte 132 membres à ce jour, des centaines de contributeurs et développe plusieurs projets liés à la diffusion d'information sur internet (serveur java, produits XML, langages de script...) Le plus populaire est Apache qui sert environ 72% des sites Web en 2008 puis 65 % en 2011. 3

Le Serveur APACHE INSTALLATION: Apache est quasi -disponible pour tous les plateformes de systèmes d exploitation( Unix, Linux, Windows ). Cependant pour intsaller un serveur web, il faut choisir le meilleur OS adapté et optimisé pour le service. Linux étant l OS natif d apache, il est donc le mieux disposer en tant serveur web. les 4 principaux distribution linux dans le monde optimisé pour le web: 4

Le Serveur APACHE INSTALLATION: L installation qui va suivre a été effectuer sur fedora 16 verne Par défaut à l'installation de Fedora. les accès sont restreints en fonction des règles SELinux en vigueur sur la machine. Il est en mode dite «Appliqué» (Enforcing). Afin d éviter toute restriction au bon fonctionnment des services. On va mettre SeLinux en mode debug ( mode permissive). En mode permissif, les règles SELinux seront interrogées, les erreurs d'accès logguées, mais l'accès ne sera pas bloqué. (Disabled) : SELinu est désactivé. Rien ne sera restreint, rien ne sera loggué Pour connaître l etats actuel de SeLinux, il faut faire la commande # getenfoce Enforcing 5

Le Serveur APACHE INSTALLATION: Dans notre cas on doit mettre SeLinux, en mode Permissive, donc on doit passer la commande # setenforce 0 Et inversement, en mode appliqué, donc on repasserai la commande # setenforce 1 Pour la suite on met le mode permissive c est-à-dire setenforce 0 6

INSTALLATION: Le Serveur APACHE //installation du paquet apache #yum install httpd //suppression de la page de test #rm -f /etc/httpd/conf.d/welcome.conf //création d un lien symbolique Perl pour MAJ Perl #ln -s /usr/bin/perl /usr/local/bin/perl 7

Le Serveur APACHE INSTALLATION ET CONFIGURATION: Avant toutes chose, il faut faire un backup du fichier de configuration par defaut d apache # cat /etc/httpd/conf/httpd.conf > /etc/httpd/conf/httpd.conf.old Ouvrez et modifier le fichier httpd.conf avec nano + option numero de ligne # nano -c /etc/httpd/conf/httpd.conf dans etc/httpd/conf/httpd.conf modifier les lignes comme suivantes : //Ligne 43: Pour cacher le type de server utilisé et l OS, on met ServerTokens Prod // Ligne 75: en test et dans notre cas LAN mettre ON KeepAlive On KeepAlive définit si votre serveur autorisera des connexions persistantes (c'est-à-dire plusieurs demandes par connexion). KeepAlive peut être utilisée pour empêcher tout client de consommer trop de ressources du serveur. 8

Le Serveur APACHE INSTALLATION ET CONFIGURATION: #nano c /etc/httpd/conf/httpd.conf dans etc/httpd/conf/httpd.conf modifier les lignes comme suivantes : //Ligne 135: mettez l adresse ip-fixe de votre serveur apache Listen 192.168.1.30: 80 // Ligne 261: email de l admin si log ou change status du server (peut necessiter de configurer un smtp server pour l envoie des mails) ServerAdmin root@dns-serveur.tld // Ligne 275: le dns du serveur auprès du registar ServerName www.dns-serveur.tld:80 Dans le cas où, on a enregistrer un DNS auprès d un registar (en entreprise, les sites web): Exemple : narutopiece.razaray.com. Etape 1 : au niveau du l administration du dns sur le serveur dns du registar faut modifier la table de destination des adressage IP WAN du registart vers votre IPWAN fixe de votre routeur 9

Le Serveur APACHE INSTALLATION ET CONFIGURATION: paramètrage DNS registar 10

Le Serveur APACHE INSTALLATION ET CONFIGURATION: paramètrage table de routage NAT (routeur FAI) Etape 2 : maintenant depuis votre routeur. Aller dans la page d aministration de votre routeur et rediriger les requetes clients sur le port 80 et/ou 8080 vers votre server apache (192.168.1.30) en précisant bien sur que c est TCP puisque c est http. 11

Le Serveur APACHE INSTALLATION ET CONFIGURATION: #nano c /etc/httpd/conf/httpd.conf dans etc/httpd/conf/httpd.conf modifier les lignes comme suivantes : //Ligne 330: permettre au serveur de suivre les liens symbolique (exemple pour les redirections de Url simple et en cgi ) Options Indexes FollowSymLinks ExecCGI (ceci permet aussi d activer les script ou bibliothèque CGI ) // Ligne 337: donner la priorité aux fichiers.htaccess AllowOverride All.htacces: protège l accès à un répertoire ou un fichier par un mot de passe, définir les pages d erreurs personnalisées, gérer la réécriture d url, les restriction d accès à un répertoire ou un fichier. 12

Le Serveur APACHE INSTALLATION ET CONFIGURATION: #nano c /etc/httpd/conf/httpd.conf dans etc/httpd/conf/httpd.conf modifier les lignes comme suivantes : //Ligne 401: le(s) page(s) par defauts afficher par le server lors on accède à sa racine DirectoryIndex index.html index.cgi index.php // Ligne 535: Pour plus de sécurité, masquez l'identification du serveur sur les pages d'erreur (message Apache Server + numéro de version). AVEC La ligne 43 précedement «ServerTokens Prod» ServerSignature Off // Ligne 758: apache ne nous dictera pas le norme de nos pages. C est déja defini selon avec la norme W3 dans l entête de nos pages #AddDefaultCharset UTF-8 Exemple: pour dans l entête de nos pages html et/ou php. Ici la balise meta contenttype le definit déjà <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 13

Le Serveur APACHE INSTALLATION ET CONFIGURATION: #nano c /etc/httpd/conf/httpd.conf dans etc/httpd/conf/httpd.conf modifier les lignes comme suivantes : //Ligne 795: La directive ci-dessus indique à Apache qu'il doit permettre l'exécution des fichiers CGI. Vous devez aussi indiquer au serveur quels fichiers sont des fichiers CGI. La directive AddHandler suivante indique au serveur qu'il doit traiter tous les fichiers possédant une extension cgi ou pl en tant que programmes CGI : AddHandler cgi-script.cgi.pl /SAUVER /etc/httpd/conf/httpd.conf et redemarrer apache # service httpd start ; service httpd status ATTENTION NE PAS ACTIVER APACHE AU DEMARRAGE AVEC: # systemctl enable httpd.service ni de #chkconfig --add httpd 14

ADMINISTRATION D APACHE: Le Serveur APACHE Afin de gerer apache et créer facilement et aisement les serveur web on va installer le gestionnaire graphique d apache: #yum install system-config-httpd //on le lance # system-config-httpd // laisser le shell en cours en fonctionnement. Sinon cet outil quittera. 15

Le Serveur APACHE + PHP INSTALLATION DE PHP : #nano c /etc/httpd/conf/httpd.conf On installe php sur le serveur afin de pouvoir executer les scripts php : /# yum install php php-mbstring php-pear Php-mbstring fourni les support de traduction mais aussi Les jeux de caractères multi-octets (ex : les types char, varchar dans Mysql) Pear : pour le framewok php (biblio de dev php) l'authentification, les services web, le chiffrement, le cache et le XML //on le redemarre apache # service httpd stop # service httpd start 16

Le Serveur APACHE + PHP SECURISE L ACCES AU SERVEUR :.htaccess Fonctionnment: L option AccessFileName.htaccess fixe globalement le nom des fichiers de parametres locaux. Un fichier.htaccess, présent dans un répertoire, peut contrôler complètement les accèes à ce répertoire, pourvu que la permission soit accordée par l option AllowOverride AuthConfig ou AllowOverride All Alors, les directives contenues dans ce fichier seront systématiquement respectées avant toute autorisation. Voici les directives usuelles et leur signification : AuthType basic, type d authentification communément adopté, fait hélas circuler les mots de passe en clair ; AuthName texte, affichera le texte comme invite dans la boite de dialogue ; AuthUserFile chemin/fichier, précise le fichier qui contient les comptes et mots de passe des utilisateurs ayant droit d accèes ; Require valid-user liste-noms tous, ou seulement les comptes énumerés dans la liste, auront accès au répertoire. 17

Le Serveur APACHE + PHP SECURISE L ACCES AU SERVEUR :.htaccess exemple 1) On va Créer le répertoire à sécuriser /var/www/html/prive, y placer quelques pages HTML. Tester leur accèssibilite pour tous. Sinon penser à modifier les permissions Linux sur ces fichiers. 2) Créer dans ce répertoire à protéger le fichier.htaccess. En voici une écriture standard : AuthUserFile /etc/httpd/users AuthGroupFile /dev/null AuthName "Accès privé" AuthType Basic # autres clauses # AuthGroupFile /etc/httpd/conf/groups <limit GET> # ATTENTION : GET en majuscules! require valid-user # require user toto dupond # require group profs </limit> 18

Le Serveur APACHE + PHP SECURISE L ACCES AU SERVEUR :.htaccess exemple 3. Dans ces conditions où se trouvera le fichier d authentification? 4. Créer un premier compte Apache avec la commande htpasswd. # cd /etc/httpd/ # htpasswd -c users admin ---> mot de passe demandé (admin), puis confirmer. 5. Examiner le fichier /etc/httpd/users L utilitaire htpasswd a crée (option -c) le fichier users dans le répertoire courant, ici /etc/httpd, et y a enregistré admin avec son mot de passe crypté. 6. Ajouter un second compte, toto, puis d autres htpasswd users toto ---> mot de passe demandé(toto), puis confirmer. 7. Tester l accès au répertoire http://serveur/prive. Pourquoi la protection ne semble-t-elle pas fonctionner? (remarque : service httpd reload permet de prendre en compte les changements de configuration) 8. Rechercher dans le fichier de configuration la section <Directory /var/www/html> qui fixe des directives par défaut pour le site principal. Par sécurité mettre si nécessaire L option AllowOverride None 19

Le Serveur APACHE + PHP SECURISE L ACCES AU SERVEUR :.htaccess exemple 9. Ajouter une option concernant le répertoire privé <Directory /var/www/html/prive> AllowOverride... Options -Indexes... <Directory> 10. Retester normalement avec succès! N oubliez pas de relancer le navigateur quand on change de compte. 20

INSTALLATION DE MYSQL : Le Serveur APACHE + PHP + MySQL Mysql est un SGBD (Système de gestion de base de donées). Il sert a enregistrer, stocker,,trier, modifier, rechercher les données (le contenu d'un formulaire d identité par exemplaire). Pour l installer, lancer la commande: # yum install mysql-server # service mysqld start ; service mysqld status ATTENTION NE PAS ACTIVER MYSQLD AU DEMARRAGE AVEC: # systemctl enable mysqld.service ni de #chkconfig --add mysqld 21

CONFIGURATION DE MYSQL : Le Serveur APACHE + PHP + MySQL Par defaut l utilisateur mysql est root et il n a pas de mots de passe. On va donc définir un mots de passe pour root, en se connectant sur le server mysql: 22

CONFIGURATION DE MYSQL : Le Serveur APACHE + PHP + MySQL 23

CONFIGURATION DE MYSQL : Le Serveur APACHE + PHP + MySQL 24

CONFIGURATION DE MYSQL : Le Serveur APACHE + PHP + MySQL 25

Le Serveur APACHE + PHP + MySQL INSTALLATION DE PHP MYADMIN : Interfaces web d administration de mysql // installation # yum install phpmyadmin php-mysql php-mcrypt // Configurer phpmyadmin pour que vous ayez accèss vous seul à phpmyadmin # nano c /etc/httpd/conf.d/phpmyadmin.conf // ligne 14: ajouter votre adresse IP localhost seuleument + votre masque sous-réseau Allow from 127.0.0.1 10.0.0.0/24 // redemarrer apache # service httpd start ; service httpd status Lancez ensuite phpmyadmin dans votre navigateur web comme ci-dessous: 26