Apache

De Linuxmemo.


Sommaire

[modifier] Modules

[modifier] Lister les modules

apache2ctl -t -D DUMP_MODULES
ou
apache2ctl -M  
(a synonym for -t -D DUMP_MODULES)

  • (static) signifiant que le module est compilé dans Apache.
  • (shared) signifiant que le module est chargé.

[modifier] Information sur les modules

http://httpd.apache.org/docs/2.0/mod/

http://httpd.apache.org/docs/2.2/mod/

[modifier] Activer ou désactiver un module

Active le module nom_module

a2enmod nom_module

Désactive le module nom_modul

a2dismod nom_module

[modifier] Configuration

[modifier] Connaître sa version

#apache2 -v
Server version: Apache/2.2.20 (Ubuntu)
Server built:   Feb 14 2012 16:35:35

[modifier] Fichiers de configuration

  • httpd.conf est le fichier utilisé par apache1, il est conservé vide dans Apache2 pour assurer la rétrocompatibilité. Il ne nous servira pas ;
  • envvars est utilisé pour définir des variables d'environnement propres à Apache ;
  • ports.conf contient la directive listen qui spécifie les adresses et les ports d'écoutes ;
  • apache2.conf est le fichier principal de configuration c'est à partir de lui que tous les autres fichiers sont chargés ;
  • conf.d est un répertoire qui contient plusieurs petits fichiers qui seront analysés par apache. Le seul fichier pour le moment est charset, qui spécifie l'encodage à utiliser par défaut ;
  • mods-available contient la liste des modules d'apache installés ;
  • mods-enabled celle des modules utilisés ;
  • sites-available contient la liste des vhosts installés ;
  • sites-enabled celle des vhosts utilisés.

[modifier] Tester la syntaxe du fichier de configuration

apache2ctl configtest
apache2ctl 
Usage: /usr/sbin/apache2ctl start|stop|restart|graceful|graceful-stop|configtest|status|fullstatus
       /usr/sbin/apache2ctl <apache2 args>

[modifier] VirtualHost

[modifier] Activer ou désactiver un VirtualHost

Active

a2ensite nom_virtualhost

Désactive

a2dissite nom_virtualhost

[modifier] VirtualHost basé sur le nom - config mini

NameVirtualHost 192.168.0.1      Cette directive est souvent ajoutée dans le fichier ports.conf
<VirtualHost 192.168.0.1>
   DocumentRoot /www/example1.com
   ServerName www.example1.com
   # Autres directives ici
</VirtualHost>
<VirtualHost 192.168.0.1>
   DocumentRoot /www/example2.com
   ServerName www.example2.com
   # Autres directives ici
</VirtualHost>

[modifier] VirtualHost basé sur l'ip - config mini

<VirtualHost 192.168.0.1>
   DocumentRoot /www/example1.com
   ServerName www.example1.com
   # Autres directives ici
</VirtualHost>
<VirtualHost 192.168.0.2>
   DocumentRoot /www/example2.com
   ServerName www.example2.com
   # Autres directives ici
</VirtualHost>

[modifier] SSL

  • activation su module
a2enmod ssl
service apache2 force-reload
  • certificats
apt-get install openssl
  • générer un certificat auto-signé
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -out /etc/apache2/server.crt -keyout /etc/apache2/server.key

-x509 -nodes donne le type de certificat voulu
-days 365 indique la durée de validité (en jours) de votre certificat
-newkey rsa:1024 demande une clé RSA de 1024 bits - d'après la doc apache, il est déconseillé de créer une clé plus grosse pour des histoires de compatibilité
-out /etc/apache2/server.crt est le chemin de votre certificat
-keyout /etc/apache2/server.key est le chemin de la clé privée

Répondez alors aux questions posées :

Country Name (2 letter code) [GB]:
Entrez FR si vous êtes situé en France et validez par la touche « Entrée »

State or Province Name (full name) [Some-State]:
Entrez FRANCE et validez par la touche « Entrée »
Locality Name (eg, city) []:
Indiquez ici le nom de votre ville. (exemple : CAEN) et validez par la touche « Entrée »

Organization Name (eg, company; recommended) []:
Indiquez le nom de votre organisation, de votre société. (exemple : france-hosting) et validez par la touche « Entrée ». Si vous n'avez pas de société, vous pouvez mettre un nom fictif, le nom de notre site Web par exemple.
Organizational Unit Name (eg, section) []:
Indiquez ici le nom de la section de votre organisation, de votre société. Si vous n'en avez pas, mettez la même chose que pour la question précédente.
Common Name (eg, YOUR name) []:
Ici, il convient de faire particulièrement attention à ce que vous allez entrer. Vous devez indiquer le nom de domaine que vous désirez sécuriser. En ce qui nous concerne, il s'agit du domaine : nuxwin.com. Nous indiquons donc nuxwin.com et nous validons par la touche « Entrée ».
Email Address []:
Ici, il s'agit d'indiquer l'adresse E-mail de l'administrateur. En ce qui nous concerne, il s'agit de : admin@nuxwin.com. Nous terminons bien entendu en validant par la touche « Entrée ».
Enfin, on empêche les curieux de lire notre clé privée :
sudo chmod 440 /etc/apache2/server.key
  • configuration du virtual host
NameVirtualHost	 192.168.0.2:443
<VirtualHost 192.168.0.2:80>
ServerName nuxwin.com/
Redirect / https://nuxwin.com/
</VirtualHost>
<VirtualHost 192.168.0.2:443>
ServerName nuxwin.com
DocumentRoot /var/www/nuxwin.com
SSLEngine on
SSLCertificateFile /etc/apache2/server.crt
SSLCertificateKeyFile /etc/apache2/server.key
</VirtualHost>
Outils personnels