4. 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
5. Présentation
• Serveur web
• Le serveur le plus utilisé dans le monde ! ( <
70% de part de marché)
• Logiciel libre (sous licence Apache 2.0)
6. 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
7. 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
• ...
8. 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>
9. 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>
10. 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>
11. 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>
12. 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/
14. 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)
18. 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
19. 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>
20. 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>
21. 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.