linuxaddict:administrer:apache2

Ceci est une ancienne révision du document !


Serveur web Apache2

Pour quoi faire ? Héberger son blog, son wiki… et les rendre accessibles par https (liaison chiffrée SSL rendant plus compliquée, par exemple, la capture d'identifiants et mots de passe).

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

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.

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.

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 :

  1. un dossier dévolu au nom de domaine domaine.ext (par exemple claudeclerc.fr) ; on créera un dossier par domaine.
  2. un fichier index.html historique (celui qui indique It works !) ; on pourrait s'en passer.
  3. un dossier pythonCGI (qui peut contenir des scripts python pour faire des pages web dynamiques).

Le dossier domaine.ext contient :

  1. 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.
  2. un dossier logs dont la fonction est évidente.
  3. un dossier www qui contient les fichiers (html, php, images, vidéos etc) et dossiers du domaine et des sous-domaines.
  • linuxaddict/administrer/apache2.1463433311.txt.gz
  • Dernière modification : 16/05/2016, 23:15
  • de Claude Clerc