Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
FORUM LINUX FAQ LINUX TUTORIELS LINUX LIVRES LINUX LINUX TV UNIX GTK+ Qt APACHE
Installer et configurer Linux (premiers pas)

H. Démarrer sous Apache


H.1 Introduction

Popularité de Apache :
Apache est le serveur http le plus populaire. Une étude Netcraft montre que depuis 1996, Apache s'est imposé comme étant le serveur le plus utilisé au monde :



Apache victime de sa popularité, un nombre croissant de hackeurs s'intéresse de près aux failles de sécurité potentielles. Consultez régulièrement le site de Apache et les sites de sécurité pour vous tenir informer : http://www.linuxsecurity.com
Ce chapitre va aborder quelques notions de base de la configuration Apache.


H.2 Le fichier de configuration httpd.conf - où le trouver ?

Si vous avez suivi les instructions du chapitre F. Installer Apache et Php, votre fichier httpd.conf se trouve dans le répertoire : /usr/local/apache/conf

Pour l'éditer avec kwrite :
$ kwrite /usr/local/apache/conf/httpd.conf &
Notez le & qui termine la ligne de commande. Il signifie que le processus est lancé en parallèle et ne bloque pas le prompt de votre shell. Sinon, il faut quitter kwrite pour reprendre la main sur le shell. (Par ailleurs, je vous recommande vivement de vous familiariser rapidement avec l'éditeur vi).

Si vous avez installé plusieurs fois Apache, il se peut qu'il y ait un peu partout des doublons de httpd.conf dans votre système. Voici un truc pour vérifier qu'il sagit du bon fichier. Apache a installé un script apachectl, qui permet de lancer, arrêter, relancer, et tester le serveur http. Si ce script n'est dans le chemin, il se trouve dans /usr/local/apache/bin. Dans votre fichier httpd.conf, tapez n'importe quoi dans la première ligne, par exemple une série de caractères insignifiante : 'zefsgrrg'. Sauvegardez, et testez votre fichier :
$ /usr/local/apache/bin/apachectl configtest
Si une erreur est signalée en ligne 1, vous utilisez le bon fichier. Sinon, partez à la recherche de votre fichier :
$ cd /
$ find -name httpd.conf

Vous donnera toutes les occurences de httpd.conf sur votre système.


H.3 Le fichier de configuration httpd.conf - Configuration

Je vous recommande la lecture des nombreuses documentations en ligne et des livres sur le sujet.
Le fichier est constitué de différentes sections qui vous permettront de configurer individuellement chacun de vos sites. Il est possible de définir des règles de restriction par IP, navigateur, authentification, sur les instructions HTTP : GET et POST ; de diriger les utilisateurs sur un index particulier en fonction de la langue du navigateur, etc. Vous vous apercevrez très vite de la puissance d'Apache ;-P


ServerType standalone
 
ServerRoot "/usr/local/apache" chemin d'installation d'apache
Listen IP:80 ecoute les trames sur le port 80 adressées à la machine ayant IP comme adresse IP (celle de votre serveur)
Port 80 port utilisé par Apache
User nobody utilisateur unix utilisé par l'internaute qui naviguera sur le site
Group nobody groupe de cet utilisateur unix
ServerAdmin votreemail inscrire l'e-mail de l'administrateur
ServerName IP Précisez l'IP du serveur
DocumentRoot "/home/webuser/" chemin physique vers les fichiers html, défini en F.4 Ré-installation de Apache
<Directory "/home/webuser/">
...
</Directory>
dans ce tags, définitions des règles gérant les droits d'accès en d'exécution.
Vous pouvez placer autant de balises <Directory> que vous le désirez.
Order allow,deny
Allow from 192.168.0.
Paramètres à placer entre les balises directory.
Ici, c'est une restriction d'accès par IP. On autorise uniquement les utilisateurs ayant une IP commençant par 192.168.0.
  On peut surcharger ces informations au moyen de la commande AllowOverride. Ainsi, on définit des règles générales pour l'ensemble des sites, et on les change sur certains répertoires.
AccessFileName .htaccess Signifie que les règles d'acces à un répertoire sont gérés en priorité par le fichier .htaccess lorsqu'il y en a un. Dans ce cas, les règles de .htaccess s'appliquent en cascade sur les sous répertoires.
Nous verrons plus loin dans ce chapitre comment s'utilise ce fichier.
ScriptAlias
ScriptAlias /~webuser/cgi-bin/ /home/webuser/cgi-bin/
<Directory "/home/webuser/cgi-bin/">
   AllowOverride None
   Options ExecCGI FollowSymLinks
   Order allow,deny
   Allow from all
</Directory>
Précise les règles d'un répertoire. Ici, le répertoire addressé par http://localhost/cgi-bin se trouve physiquement à l'emplacement /home/webuser/cgi-bin/. Il contient des scripts. Tout le monde a le droit de les lancer.
Vous pouvez écrire autant de ScriptAlias que vous le désirez.
AddLanguage Permet au serveur d'envoyer une page écrite dans la langue du navigateur de l'utilisateur (si elle existe sur le serveur). Les utilisateurs qui arrivent pour la première fois sur le site lisent la home page dans leur langue.
AddType application/x-httpd-php .php3 .php
AddHandler cgi-script .cgi
AddHandler server-parsed .shtml
Précise au serveur que les extensions php3 et php sont des scripts Php. Idem pour le cgi (Perl, Kylix), le shtml.
Logs de connexion De nombreuses options vous permettent de créer des log de connexion extremement complets, par sites, par utilisateur, etc.
Nous n'aborderons pas le sujet dans ce tutorial.
Virtual Host Le Virtual Host vous permet de gérer plusieurs sites internets sur le même serveur linux.
Nous n'aborderons pas ce sujet (très vaste) dans ce tutorial.


Responsable bénévole de la rubrique Linux Professionnel : Olivier Van Hoof - Contacter par EMail :
Vos questions techniques : forum d'entraide Linux Professionnel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.