| Comment bien installer, configurer, utiliser, administrer, personnaliser et optimiser une distribution Debian GNU/Linux | ||
|---|---|---|
| Précédent | Suivant | |
Tableau 2-1. Evolution de cet article
| Date | Ajout(s) / Modification(s) |
|---|---|
| 09 mai 2003 | Version initiale. |
| 12 juillet 2003 | Corrections d'erreurs dans l'annexe suite au mail de Spike LEE |
| 27 octobre 2003 | Relecture. |
Un serveur web est un logiciel permettant à des clients d'accéder à des pages web, c'est-à-dire en réalité des fichiers au format HTML à partir d'un navigateur (aussi appelé browser) installé sur leur ordinateur distant.
Un serveur web est donc un << simple >> logiciel capable d'interpréter les requêtes HTTP arrivant sur le port associé au protocole HTTP (par défaut le port 80), et de fournir une réponse avec ce même protocole.
Apache est le serveur le plus répandu sur Internet. Il s'agit d'une application fonctionnant à la base sur les systèmes d'exploitation de type Unix, mais il a désormais été porté sur de nombreux autres systèmes.
Nous allons installer le paquet phpmyadmin qui contient :
le serveur web Apache
le serveur de bases de données MySQL
le serveur d'application PHP
l'outil phpMyAdmin permettant de gérer des bases MySQL
# apt-get install phpmyadmin |
Une fois le paquet installé, vous devez répondre aux questions suivantes:
Le fichier de configuration est /etc/apache/httpd.conf.
| Tout configurer ! | |
|---|---|
Le fichier de configuration /etc/apache/httpd.conf qui est donné en annexe à cette page contient les commentaires nécessaires pour sa comprenhension. Cependant voici quelques points de la configuration de votre serveur sur lequels j'attire votre attention. |
Par défaut, la racine de votre serveur Web se trouve dans le répertoire /var/www.
Si vous souhaitez modifier cet emplacement vous devez modifier la ligne DocumentRoot du fichier de configuration d'Apache /etc/apache/httpd.conf.
Cette ligne se trouve dans la section 2 du fichier de configuration.
### Section 2: 'Main' server configuration ... DocumentRoot /var/www |
Par défaut c'est le répertoire public_html du répertoire personnel de l'utilisateur qui est accessible à partir de l'adresse http://localhost/~user. Ainsi si votre machine comporte un compte cedric ce dernier pourra stocker ses pages html dans le répertoire :
/home/cedric/public_html |
Si vous apportez des modifications au fichier de configuration, vous devez redémarrer le service pour que les changements soient pris en compte
# /etc/init.d/apache reload |
Si vous souhaitez reconfigurer votre paquet à l'aide de debconf exécutez la commande :
# dpkg-reconfigure phpmyadmin |
http://localhost/ |
| Le << / >> est important | |
|---|---|
Si vous oublier le << / >> à la fin de l'URL vous ne pourrez pas accéder au site ! |
Pour accéder au site de l'utilisateur toto (si cet utilisateur a un répertoire qui lui permet de publier des fichiers à cet effet) :
http://localhost/~toto/ |
# apt-get remove phpmyadmin |
| Supprimer toute trace du package précédement installé | ||
|---|---|---|
Lorsque vous décidez de retirer un package de votre Debian GNU/Linux APT n'efface par les fichiers de configuration de ce package. Ceci permet de réinstaller plus rapidement la package. Cependant si vous souhaitez faire table rase et ne plus entendre parler du package, vous pouvez ajouter l'option --purge lors de la suppression.
|
Si vous souhaitez retirer tous les composants qui ont été installés par le paquet phpmadmin :
# apt-get remove apache apache-common libz2-1-0 libdc4.1 libexpat1 libmm13 libmysqlclient10 mine-support mysql-common php4 php4-mysql wwwconfig-common zlib1g |
| Supprimer toutes les dépendances d'un package précedement installé | ||
|---|---|---|
Un package (père) a souvent besoin d'autres packages pour pouvoir fonctionner correctement. Ces nouveaux packages forment les dépendances du package père. Cependant d'autres packages peuvent avoir des dépendances similaires. Lorsque vous décidez de retirer tous les dépendances d'un package de votre Debian GNU/Linux vous risquez de rendre votre système instable. Pour ne pas avoir ce problème, vérifiez que la commande APT n'efface pas d'autres packages que ceux que vous avez spécifié. Comme dans l'exemple ci-dessous :
|
Voici un extrait commenté du fichier de configuration d'Apache /etc/apache/httpd.conf. Ne copiez-coller pas ce fichier à la place du vôtre car il est incomplet. Il est là juste pour vous permettre d'en comprendre le contenu. Les symboles [...] indiquent qu'un morceau du fichier est manquant !
## httpd.conf -- Apache HTTP server configuration file
## Elements les plus importants à connaître du fichier de configuration
## Par Cédric Lignier (guide_debian@yahoo.fr)
### Section 1: Environment global
#
# On configure ici le comportement du serveur Apache.
#
# ServerType :
# * standalone : le serveur est autonomme
# * inet : le serveur dépend du service inetd
ServerType standalone
# ServerRoot: Emplacement des fichiers de configuration, d'erreurs et
# des différents journaux utilisés par Apache.
ServerRoot /etc/apache
# PidFile: Fichier qui contient le numéro de processus lié au service
# apache lors celui ci démarre
PidFile /var/run/apache.pid
# Timeout: Nombre de secondes avant que le serveur envoie un message
# indiquant que le délai pour obtenir la page que vous avez demandé est
# dépassé
Timeout 300
# KeepAlive:
# * On : autorise les connexions persistantes. Une même
# machine peut se connecter plusieurs fois sur le serveur.
# * Off : n'autorise pas les connexions persistantes
#
KeepAlive On
# MaxKeepAliveRequests: Nombre maximum de demandes durant une
# connexion persistante. Mettez 0 pour un nombre illimité de
# demandes. Il est recommandé de garder une grande valeur pour ce paramètre.
MaxKeepAliveRequests 100
# KeepAliveTimeout: Nombre de secondes a attendre pour la prochaine
# demande du même client sur la même connexion.
KeepAliveTimeout 15
# Apache lance plusieurs copies de son serveur. (plusieurs processus).
# Apache adapte dynamiquement le nombre de processus en fonction de la
# demande pour obtenir les meilleures performances.
# Apache fait cela en effectuant des tests périodiques pour connaître
# le nombre de serveurs qui sont en attente d'une requete.
# * Si il y en a moins que MinSpareServers, Apache en rajoute.
# * Si il y en a plus que MaxSpareServers Apache en détruit.
# Les valeurs par défaut doivent convenir pour la plupart des sites.
MinSpareServers 5
MaxSpareServers 10
# Nombre de serveurs à lancer au démarrage d'Apache
StartServers 5
# Limite le nombre de clients qui peuvent se connecter en même
# temps. C'est également le nombre de serveurs qui tournent sur la
# machine.
MaxClients 150
# MaxRequestsPerChild: Nombre de demandes que chaque processus fils
# (crée par le processus Apache père) peut traiter avant que le
# processus fils ne soit détruit par le processus père
MaxRequestsPerChild 100
# Listen: Autorise Apache à écouter d'autres adresses IP ou d'autres
# port que le port et l'adresse IP par défaut.
#Listen 3000
#Listen 12.34.56.78:80
# Liste des modules à charger pour être utilisés avec le serveur Apache
# LoadModule <module_name> <chemein_du_module>
LoadModule php4_module /usr/lib/apache/1.3/libphp4.so
# ExtendedStatus:
# * On : donne des informations détaillées sur le serveur
# * Off : donne des informations de bases sur le serveur
# Lorsque l'on demande des informations sur le serveur Apache.
# La valeur par défaut est "Off"
<IfModule mod_status.c>
ExtendedStatus On
<IfModule>
### Section 2: Configuration principale du serveur
#
#
# Port: Port sur lequel le serveur Apache écoute.
# Si le port est < 1023, Apache doit être executé en tant que root
Port 80
# User/Group : nom (ou nombre) de l'utilisateur/groupe sur lequel on
# doit éxecuter le serveur Apache.
User www-data
Group www-data
# ServerAdmin: Adresse e-mail de la personne à contacter en cas de
# problèmes avec le serveur. Cette adresse apparait en particulier sur
# les pages d'erreurs générées par le serveur Apache.
ServerAdmin webmaster@LINDEBIAN-SERVEUR
# ServerName: Adresse du serveur. C'est soit un adresse DNS ou
# l'adresse IP de votre machine le cas échéant.
ServerName 192.168.0.1
# DocumentRoot: Répertoire qui contient les documents du serveur Web
DocumentRoot /var/www
[...]
# UserDir: Nom du répertoire dans le répertoire personnel de
# l'utilisateur dans lequel trouver son site personel.
# Ce site est disponible par l'adresse http://<serveur_IP>/~user
<IfModule mod_userdir.c>
UserDir public_html
</IfModule>
# Permissions sur les répertoires personnels des utilisateurs contenant
# des pages Web.
# Ci-dessous un exemple où les répertoires sont en lecture seule.
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Order deny,allow
Deny from all
</Limit>
</Directory>
# DirectoryIndex: Nom des fichiers à regarder dans un répertoire et
# considérés comme des pages HTML.
<IfModule mod_dir.c>
DirectoryIndex index.html index.php index.htm index.shtml index.cgi
</IfModule>
# AccessFileName: Nom du fichier qui contient pour chaque répertoire
# les informations de restriction sur ce dernier.
AccessFileName .htaccess
# Les lignes suivantes permettent d'interdire la consultation des
# fichier de permissions sur les répertoires (les fameux .htaccess)
# Si vous souhaitez que l'on puisse accéder à ces fichiers, vous devez
# décommenter les lignes ci-dessous
# Protégent également les fichiers de mots de passe (.htpasswd)
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
# UseCanonicalName:
# * On : Lorsque l'on clique sur un lien et que le serveur
# doit délivrer l'adresse de ce lien, l'adresse est construite à partir
# de nom du serveur et n'ont pas à partir de l'adresse d'appel de la
# page (cf. adresse de redirection)
# * Off : Desactive cette fonction.
UseCanonicalName On
[...]
# HostnameLookups:
# * On : enregistre la trace du client pas son nom (www.apache.ord)
# * Off : enregistre la trace du client par son adresse IP
# (204.62.129.132)
HostnameLookups Off
# ErrorLog: Emplacement du journal d'erreur.
ErrorLog /var/log/apache/error.log
# LogLevel: Niveau de message stocké dans le journal d'erreur.
# Les valeurs possibles sont : debug, info, notice, warn, error, crit,
# alert et emerg.
LogLevel warn
[...]
# ServerSignature
# * On : Indique qu'il faut afficher une ligne concernant le serveur (sa
# version, l'adresse email de l'administrateur ServerAdmin...)
# en bas des pages
# * Off : desactive cette fonction
ServerSignature On |
| Précédent | Sommaire | Suivant |
| Installer la souris en console (gpm) | Niveau supérieur | Installer un serveur FTP (proftpd) |