Serveur web Apache2
Installation
Pour installer Apache2, tous ses petits copains habituels (MySQL, Php5) et même des invités surprise (module Python) :
apt-get install apache2 apache2-mpm-prefork apache2-utils libapache2-mod-fastcgi libapache2-mod-php5 libapache2-mod-wsgi-py3 php5 php5-cli php5-gd php5-json php5-mysql php5-readline mysql-server mysql-client python-mysqldb openssl ssl-cert ca-certificates
Organisation
L'organisation choisie est largement inspirée de celle préconisée par Jean-Baptiste Favre sur cette page.
Cette organisation permet ensuite de configurer aisément avec Apache des hôtes virtuels avec :
- support automatique des sous-domaines, du SSL et de l'authentification,
- support des Alias.
Dans /etc/apache2
Les fichiers de configuration d'Apache2 sont dans /etc/apache2, comme il se doit. (etc = editable text configurations.)
/etc/apache2/ ├── apache2.conf ├── conf-available/ ├── conf-enabled/ ├── envvars ├── magic ├── mods-available/ ├── mods-enabled/ ├── ports.conf ├── sites-available/ └── sites-enabled/
Nous reviendrons sur le contenu de ces fichiers et répertoires.
Dans /var/www
Les sites sont stockés dans /var/www. Nous allons choisir une arborescence particulière :
/var/www/ ├── domaine.ext/ │ ├── config/ │ │ ├── auth/ │ │ ├── htpasswd │ │ ├── ssl/ │ │ │ └── linux -> /var/www/domaine.ext/www/linux/ │ │ └── subdomains/ │ │ ├── apt -> /var/www/domaine.ext/www/apt/ │ │ └── linux -> /var/www/domaine.ext/www/linux/ │ ├── logs/ │ │ ├── access.log │ │ ├── error.log │ │ ├── rewrite.log │ │ └── ssl_error.log │ └── www/ │ ├── apt/ │ └── linux/ ├── index.html └── pythonCGI/
(On n'a pas déployé toute l'arborescence.)
Le premier niveau de /var/www contient :
- un dossier dévolu au nom de domaine domaine.ext (par exemple claudeclerc.fr) ; on créera un dossier par domaine.
- un fichier index.html historique (celui qui indique It works !) ; on pourrait s'en passer.
- un dossier pythonCGI (qui peut contenir des scripts python pour faire des pages web dynamiques).
Le dossier domaine.ext contient :
- un dossier config pour configurer aisément :
- l'authentification basique (par identifiant/mot de passe) : un simple lien dans auth suffira pour protéger une partie d'un site !
- l'accès sécurisé par https (ssl) : là encore, un simple lien suffit.
- les sous-domaines : apt et linux sont deux sous-domaines de domaine.ext (apt.domaine.ext et linux.domaine.ext) ; remarquez le lien et vers où il pointe, vous comprendrez le mécanisme mis en place pour créer un sous-domaine.
- un dossier logs dont la fonction est évidente.
- un dossier www qui contient les fichiers (html, php, images, vidéos etc) et dossiers du domaine et des sous-domaines.
Configuration d'Apache2
Comme on l'a vu, les fichiers de configuration d'Apache2 sont dans /etc/apache2.
Rappel : les variables d'environnement d'Apache2 sont renseignées dans le fichier envvars ; il vaut mieux en prendre connaissance.
Fichier ports.conf
Le port http est par défaut le port 80 ; Apache2 répondra donc aux requêtes effectuées sur ce port. Si l'un des modules ssl_module ou mod_gnutls.c est chargé, alors Apache2 répondra également aux requêtes effectuées sur le port 443 (https).
Listen 80 <IfModule ssl_module> Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule>
Fichier apache2.conf
nano /etc/apache2/apache2.conf
Liens externes
1 personne a visité cette page aujourd'hui et 475 en tout.