technologie web - part3

21
Technologie Web Apache, Tomcat Le 3 Décembre 2010

Upload: benoit-simard

Post on 06-Jul-2015

925 views

Category:

Education


0 download

TRANSCRIPT

Page 1: technologie web - part3

Technologie WebApache, Tomcat

Le 3 Décembre 2010

Page 2: technologie web - part3

Plan

1. Apache

2. Tomcat

Page 3: technologie web - part3

Plan

1. Apache

2. Tomcat

Page 4: technologie web - part3

Présentation

• Serveur web

• Le serveur le plus utilisé dans le monde ! ( < 70% de part de marché)

• Logiciel libre (sous licence Apache 2.0)

• Avantages :• Performance• Portable (Linux, Unix, Windows, Mac)• Beaucoup de modules• Très actif

Page 5: technologie web - part3

Présentation

• Serveur web

• Le serveur le plus utilisé dans le monde ! ( < 70% de part de marché)

• Logiciel libre (sous licence Apache 2.0)

Page 6: technologie web - part3

Les répertoires à connaître

• Le répertoire des fichiers de configuration

• sous linux : /etc/apache2/

• Le répertoire des logs (ErrorLogs / AccessLogs)

• Sous linux : /var/log/apache2

• Le répertoire du site (DocumentRoot)

• Sous linux : /var/www/html

Page 7: technologie web - part3

Configuration

• Le fichier de configuration

• /etc/apache2/httpd.conf

• Permet de spécifier

• les modules à activer

• le DocumentRoot (la racine du serveur)

• L'emplacement des fichiers de logs

• L'adresse mail de l'administrateur

• ...

Page 8: technologie web - part3

Les balises à connaître

• Directory

• Permet de spécifier une configuration propre à un répertoire du file system

<Directory /var/www/html>

Redirect permanent http://www.google.fr

</Directory>

Page 9: technologie web - part3

Les balises à connaître

• Location

• Permet de spécifier une configuration propre à un répertoire web

<Location /admin>

Order deny, allow

Allow from 86.73.109.213

</Location>

Page 10: technologie web - part3

Les balises à connaître

• Alias

• Permet de spécifier un répertoire du file system comme répertoire web

Alias /pokemon /var/www/html/admin

<Directory /var/www/html/admin>

Order deny, allow

Allow from 127.0.0.1

</Directory>

<Location /admin>

Order deny, allow

Deny from all

</Location>

Page 11: technologie web - part3

Les balises à connaître

•Virtualhost

•Balise permettant d'héberger plusieurs nom de domaine sur une machine

NameVirtualHost *:80

<Virtualhost *:80>

ServerName thales

DocumentRoot /var/www/html

</Virtualhost>

<Virtualhost *:80>

ServerName bsimard.com

DocumentRoot /var/www/bsimard

<Directory /var/www/bsimard>

Order allow,deny

Allow from all

</Directory>

</Virtualhost>

Page 12: technologie web - part3

Les modules

• mod_rewrite : permet de faire de la réécriture d'url

• mod_proxy & mod_proxy_http : permet de redirigé une requête entrante vers un autre serveur (via http)

• Très utilisé avec les serveurs J2EE

• mod_deflate : permet d'activer la compression gzip

• mode_cache : pour activer le cache

• http://httpd.apache.org/docs/2.2/mod/

Page 13: technologie web - part3

Plan

1. Apache

2. Tomcat

Page 14: technologie web - part3

Présentation

• Le projet Tomcat a +10 ans

• Implémentation Open Source des spécifications Servlet / JSP

• Leader (>60%), communauté importante

• Tomcat n’est pas un serveur d’application ! (pas d'EJB)

Page 15: technologie web - part3

Qu'est qu'une webapp

• Structure :

• /WEB-INF/web.xml

• /WEB-INF/classes/

• /WEB-INF/lib/

• *.html, *.jsp, etc.

• Déployer dans tomcat/webapps

Page 16: technologie web - part3

Structure de Tomcat

Tomcat 5.5 Tomcat 6

Page 17: technologie web - part3

Classloader

• WEB-INF/classes

• WEB-INF/lib

• CATALINA_HOME/common/classes

• CATALINA_HOME/common/lib

• CATALINA_HOME/shared/classes

• CATALINA_HOME/shared/lib

Page 18: technologie web - part3

Configuration

• server.xml

• Paramétrage des ports

• de shutdown (8005)

• des connectors

• Configuration du serveur (des connectors)

• Écoute sur un port particulier

• Activiation du gzip

<Connector port="8181" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8143" compression="on" compressionMinSize="2048" compressableMimeType = "text/html,text/xml,text/css,application/javascript"/>

• SSL

Page 19: technologie web - part3

Configuration

• tomcat-user.xml (Realm)

• Pour laisser Tomcat gérer l'authentification• Paramétrage des utilisateurs• Paramétrages des rôles

<tomcat-users>

<role rolename="manager"/>

<user username="tomcat" password="tomcat" roles="manager"/>

</tomcat-users>

Page 20: technologie web - part3

Exemple de web.xml pour l'authentification

<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app> <security-constraint> <web-resource-collection> <web-resource-name>Timesheets</web-resource-name> <url-pattern>/timesheets/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>employee</role-name> </auth-constraint> </security-constraint> <security-role> <role-name>employee</role-name> </security-role> <login-config> <auth-method>BASIC</auth-method> </login-config></web-app>

Page 21: technologie web - part3

Authentification / Realms

Realms :

• JDBCRealm - Accesses authentication information stored in a relational database, accessed via a JDBC driver.

• DataSourceRealm - Accesses authentication information stored in a relational database, accessed via a named JNDI JDBC DataSource.

• JNDIRealm - Accesses authentication information stored in an LDAP based directory server, accessed via a JNDI provider.

• UserDatabaseRealm - Accesses authentication information stored in an UserDatabase JNDI resource, which is typically backed by an XML document (conf/tomcat-users.xml).

• MemoryRealm - Accesses authentication information stored in an in-memory object collection, which is initialized from an XML document (conf/tomcat-users.xml).

• JAASRealm - Accesses authentication information through the Java Authentication & Authorization Service (JAAS) framework.