Vous êtes sur la page 1sur 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
■ Histoire
– Apache v1.0 en 1995 (a patchee server)
 v 1.3.26 (cours) , v2.0 disponible
■ 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
■ Répertoires de publication : /var/www
– ./html : sites web statiques
– ./cgi-bin : applications Web de type CGI ou..
■ 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
Présentation :
fichiers de configuration
■ 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
Apache : configuration (1/5)
Directives globales au daemon apache et à ses fils
■ 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
■ 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)
■ 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)
■ 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)
■ 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
■ 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

■ Répertoire virtuel
■ Serveur virtuel
■ Application Web
• de type CGI
• à base de scripts PHP
TP : administration à distance
■ 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é
TP : protection
httpd.conf dudusite
: Protection site (1/2)
(s2-3)

■ 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>
■ Filtrage d’@IP
order allow, deny
allow from all
deny from « autres réseaux »
TP : protection
httpd.conf dudusite
: Protection site (2/2)
(s2-3)

■ 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>
■ Mots de passe encryptés par :
/usr/bin/htpasswd

Vous aimerez peut-être aussi