Serveur Apache (ss Linux) 1.
Présentation
1.
Historique et caractéristiques Arborescence installée Fichiers de configuration Httpd.conf Ajout de modules
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 – ./cgi-bin
: sites web statiques : 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
[email protected] 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)
ServerName test.esat.terre.def # nom de site ServerAdmin [email protected] DocumentRoot /var/www/html/test DirectoryIndex index.html ErrorLog /logs CustomLog /logs
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: •
•
– Administrer à l’aide du programme Webmin préalablement installé
httpd.conf : Protection site (1/2) (s2-3) TP : protection dudusite ■
Répertoires et fichiers Options None | All | Indexes | FollowSymLinks | ExecCGI AllowOverride None | All
… … ■
Filtrage d’@IP order allow, deny allow from all deny from « autres réseaux »
httpd.conf : Protection site (2/2) (s2-3) TP : protection dudusite ■
Utilisateurs du service Web AuthUserFile # fichier des utilisateurs AuthGroupFile # fichier des groupes AuthName # texte de l’invite AuthType basic # type d'authentification require # groupes et utilisateurs autorisés
■
Mots de passe encryptés par : /usr/bin/htpasswd