Apache 2

Apache 2 est le serveur HTTP utilisé. La configuration se fait dans le répertoire /etc/apache2/.

Pour information MySQL a été remplacé par postgresql.

Installation

  1. Installer le serveur HTTP, il faut installer apache2
  2. Installer PHP, il faut installer php4 et libapache2-mod-php4
  3. Enlever la redirection (RedirectMatch ^/$ /apache2-default/) d'apache dans le fichier /etc/apache2/sites-available/default

Virtual Host

Les serveurs virtuels permettent d'associer un nom de domaine à un répertoire précis. Attention il ne faut pas oublier de préciser dans le DNS que le nom de domaine du site pointe sur le serveur. Ainsi http://wiki.debux.org et http://julien.debux.org sont hébergé sur le serveur dédié debux.

Configuration

  1. Copier le fichier /etc/apache2/sites-available/default vers /etc/apache2/sites-available/nom-du-site
  2. Modifier le path du DocumentRoot dans le fichier (2 endroits) vers le répertoire voulu
  3. Indiquer le nom de domaine du site dans ServerName
  4. Modifier les droits accès si souhaité
  5. Executer «a2ensite nom-du-site»

Exemple

Fichier /etc/apache2/sites-available/nom-du-site

<VirtualHost *>
    DocumentRoot nom-de-repertoire
    ServerName nom-de-domaine
    ...
    <Directory />
    ...
    <Directory nom-de-repertoire>
    ...
</VirtualHost>

Accès privé

Pour portéger un répertoire en accès par un mot de passe sur apache, il faut créer deux fichiers :

  1. .htpasswd : créer par la commande htpasswd, il contient les utilisateurs et les mots de passe autorisés, stocké n'importe où avec n'importe quel nom de fichier.
  2. .htaccess : stocké dans le répertoire où on veut limiter les accès par défaut la limitation est en récursif, le nom du fichier est défini dans /etc/apache2/apache2.conf

Exemple type de fichier .htaccess

AuthType Basic
AuthUserFile /home/julien/www/private/.htpasswd
AuthName private
require valid-user
<Files .htaccess>
        order allow,deny
        deny from all
</Files>

HTTPS

Installation

  1. Installer : apt-get install openssl libapache-mod-ssl
  2. Activer du module de sécurité : a2enmod ssl
  3. Activer du module de réécriture d'url : a2enmod rewrite
  4. Ajouter dans /etc/apache2/ports.conf : Listen 443
  5. Génerer du certificat : openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
  6. Configuration Virtual Host :
  NameVirtualHost *:80
  <VirtualHost *:80>
    ...
  </VirtualHost>
  NameVirtualHost *:443
  <VirtualHost *:443>
    ...
 
    SSLEngine on
    SSLCertificateFile /etc/apache2/apache.pem
  </VirtualHost>

N'oublier pas de recharger le serveur apache !

Exemple de site sécurisé

<VirtualHost *:80>
        ServerName url.debux.org
        DocumentRoot /www/with-ssl/
 
        RewriteEngine   on
        RewriteCond     %{SERVER_PORT} ^80$
        RewriteRule     ^/(.*) https://%{SERVER_NAME}/$1 [L,R]
        RewriteLog      "/var/log/apache2/rewrite.log"
        RewriteLogLevel 2
</VirtualHost>
 
<VirtualHost *:443>
        ServerName url.debux.org
        DocumentRoot /www/with-ssl/
        ...
</VirtualHost>
 
serveur_http.txt · Dernière modification: 2007/06/09 20:46 par julien
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki