You are on page 1of 13

Serveur Apache (ss Linux

)
1.

Présentation
     Historique et caractéristiques Arborescence installée Fichiers de configuration Httpd.conf Ajout de modules

1.

Installation
 Description des éléments installés

1.

Travaux pratiques
    Publications Administration Sécurité Ajout de modules

Présentation : Histoire & Caractéristiques
s

Histoire
– Apache v1.0 en 1995 (a patchee server)  v 1.3.26 (cours) , v2.0 disponible

s

Caractéristiques
– Logiciel libre (www.apache.org) – Multiplateformes : LINUX (+ qlq UNIX), Windows et Novell – Le plus configurable des serveurs (fichiers texte) – Modulable sans recompiler le serveur – Multilingues – Serveur Web ou serveur proxy

Présentation : arborescence
s

Répertoires de publication : /var/www
– ./html – ./cgi-bin : sites web statiques : applications Web de type CGI ou..

s s

Répertoire de configuration : /etc/httpd/conf Répertoire des fichiers journaux (accès, erreurs) : /var/log/httpd Aide en ligne : /var/www/html/manual Modules additionnels : /usr/lib/apache(extramodules) Sources : /usr/bin/src Démarrage : /etc/rc.d/init.d/httpd ou apachectl

s s

s s

Présentation : fichiers de configuration
s s

Principal fichier : httpd.conf (serveur) Avant la v1.3.14, deux autres fichiers : access.conf, srm.conf (sites) Après la v1.3.14 : httpd.conf seul Après la v1.3.19, autres fichiers pour gérer les autres sites : vhosts.conf, … Depuis la v1.3.26 : common-httpd.conf

s s

s

Apache : configuration (1/5)
Directives globales au daemon apache et à ses fils
s

Fichier httpd.conf (Main Configuration Section)
ServerType standalone ServerRoot /etc/httpd ServerName svrweblinux.esat.terre.def ErrorLog /logs/error_log DocumentRoot /var/www/html Loadmodule vhost_alias_module modules/mod_vhost_alias.so AddModule mod_vhost_alias.c Include conf/commonhttpd.conf

Apache : configuration (2/5)
Directives globales au daemon apache et à ses fils
s

Fichier httpd.conf (Main Configuration Section) #BindAddress * Port 80 Listen 80

# n°port ou @IP

Include conf/vhosts/Vhosts.conf KeepAlive On StartServers 8

Apache : configuration (3/5)
s

Fichier commonhttpd.conf (Common server configuration) User apache Group apache ServerAdmin webmestre@esat.terre.def UserDir public_html DirectoryIndex index.html AccessFileName .htaccess

Apache : configuration (4/5)
s

Fichier commonhttpd.conf (Common server configuration) TypesConfig /conf/apache-mime.types HostnameLookups Off CustomLog /var/log/httpd/access_log combined Alias /icons/ "/var/www/html/icons" ScriptAlias /cgi-bin/ "/var/www/html/cgi-bin/"

Apache : configuration (5/5)
s

Fichier Vhosts.conf (Virtual Hosts )
NameVirtualHost * # adresse IP unique de la station NameVirtualHost 160.192.50.130
# adresse IP assignée au serveur Web (virtuels)

<VirtualHost "adresse IP ou nom de site">
ServerName test.esat.terre.def # nom de site ServerAdmin webmaster-dmsi@esat.terre.def DocumentRoot /var/www/html/test DirectoryIndex index.html ErrorLog /logs CustomLog /logs

</VirtualHost>

TP : publication de sites
s

Serveur par défaut
• • • • Localisation par défaut Changement de racine de site Changement de numéro de port Nom d’entête de l’hôte

s s s

Répertoire virtuel Serveur virtuel Application Web
• de type CGI • à base de scripts PHP

TP : administration à distance
s s

Outil : navigateur Comment :
– Dans le fichier commonhttpd.conf, activer les blocs en autorisant son @IP:
• <Location /server-status> • <Location /server-info>

– Administrer à l’aide du programme Webmin préalablement installé

httpd.conf : Protection site (s2-3) TP : protection dudu site (1/2)
s

Répertoires et fichiers
<Directory /chemin/répertoire>
Options None | All | Indexes | FollowSymLinks | ExecCGI AllowOverride None | All

</Directory> <File /chemin/fichier>…</File> <Location /adresse URL> … </Location>
s

Filtrage d’@IP
order allow, deny allow from all deny from « autres réseaux »

httpd.conf : Protection site (s2-3) TP : protection dudu site (2/2)
s

Utilisateurs du service Web
<Directory /var/www/html/…> AuthUserFile # fichier des utilisateurs AuthGroupFile # fichier des groupes AuthName # texte de l’invite AuthType basic # type d'authentification require # groupes et utilisateurs autorisés </Directory>

s

Mots de passe encryptés par :
/usr/bin/htpasswd