Apache2 - Configuration

De wikilivois
Aller à la navigationAller à la recherche
Fonctionnalités Solutions
Serveur Web Apache
Domaines Virtuels Directive <VirtualHost>
Authentification ldap mod_auth_ldap (intégré)
mod_ldap (intégré)
Sécurisation mod_rewrite (intégré)
mod_security
HTTPS mod_ssl (intégré)

Package Gentoo: apache +vhosts +ldap +ssl

Configuration Gentoo : les fichiers de configuration se trouvent dans /etc/apache2

  • httpd.conf : fichier de configuration principal
  • /etc/apache2/modules : paramétrage des modules
  • /etc/apache2/vhosts : configuration des domaines virtuels
  • /etc/apache2/ssl : clés ssl

Configuration de base

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

La configuration par défaut

<licode file=/etc/apache2/httpd/conf>

  1. ServerRoot: The top of the directory tree under which the server's
  2. configuration, error, and log files are kept.

ServerRoot "/usr/lib/apache2" </licode>

<licode file=/etc/apache2/modules.d/00_default_settings.conf>

  1. PidFile: The file in which the server should record its process
  2. identification number when it starts.

PidFile "/var/run/apache2.pid"

  1. KeepAlive: Whether or not to allow persistent connections (more than
  2. one request per connection). Set to "Off" to deactivate.

KeepAlive On

  1. MaxKeepAliveRequests: The maximum number of requests to allow
  2. during a persistent connection. Set to 0 to allow an unlimited amount.
  3. We recommend you leave this number high, for maximum performance.

MaxKeepAliveRequests 100

  1. KeepAliveTimeout: Number of seconds to wait for the next request from the
  2. same client on the same connection.

KeepAliveTimeout 15

  1. HostnameLookups: Log the names of clients or just their IP addresses
  2. e.g., www.apache.org (on) or 204.62.129.132 (off).
  3. The default is off because it'd be overall better for the net if people
  4. had to knowingly turn this feature on, since enabling it means that
  5. each client request will result in AT LEAST one lookup request to the
  6. nameserver.

HostnameLookups Off </licode>

Il faut changer le paramètre ServerAdmin: <licode file=/etc/apache/httpd.conf>

  1. ServerAdmin: Your address, where problems with the server should be
  2. e-mailed. This address appears on some server-generated pages, such
  3. as error documents. e.g. admin@your-domain.com

ServerAdmin christophe_nospam@livois.com </licode>


La gestion des Multi Processing Modules (MPM) se fait dans 00_mpm.conf:

<licode file=/etc/apache2/modules.d/00_mpm.conf>

  1. prefork MPM
  2. This is the default MPM if USE=-threads
  3. MinSpareServers: Minimum number of idle child server processes
  4. MaxSpareServers: Maximum number of idle child server processes

<IfModule mpm_prefork_module>

       StartServers            5
       MinSpareServers         5
       MaxSpareServers         10
       MaxClients                      50
       MaxRequestsPerChild     10000

</IfModule>

  1. worker MPM
  2. This is the default MPM if USE=threads
  3. MinSpareThreads: Minimum number of idle threads available to handle request spikes
  4. MaxSpareThreads: Maximum number of idle threads
  5. ThreadsPerChild: Number of threads created by each child process

<IfModule mpm_worker_module>

       StartServers            2
       MinSpareThreads         25
       MaxSpareThreads         75
       ThreadsPerChild         25
       MaxClients                      150
       MaxRequestsPerChild     10000

</IfModule>

</licode>

Sécurisation

http://httpd.apache.org/docs/2.0/misc/security_tips.html

http://www.securityfocus.com/print/infocus/1694

http://www.securityfocus.com/print/infocus/1786

Limiter la fuite d'information

<licode file=/etc/apache/httpd.conf>

      1. ServerTokens
      2. This directive configures what you return as the Server HTTP response
      3. Header. The default is 'Full' which sends information about the OS-Type
      4. and compiled in modules.
      5. Set to one of: Full | OS | Minor | Minimal | Major | Prod
      6. where Full conveys the most information, and Prod the least.

ServerTokens Prod

      1. Optionally add a line containing the server version and virtual host
      2. name to server-generated pages (error documents, FTP directory listings,
      3. mod_status and mod_info output etc., but not CGI generated documents).
      4. Set to "EMail" to also include a mailto: link to the ServerAdmin.
      5. Set to one of: On | Off | EMail

ServerSignature Off </licode>

Résister aux attaques DOS

Stratégie de défense (apachesecurity.net):

  1. Considérer les attaques DOS comme un des risques possibles.
  2. Connaître le contenu hébergé par le serveur - adapter le serveur (software) en conséquence. (cf § sur gestion des ressources)
  3. Préparer les réactions possibles en cas d'attaque DoS (ex: avoir un contact avec son fournisseur d'accès).
  4. Superviser le serveur pour détecter les attaques au plus tôt
  5. Réagir rapidement lors d'une attaque
  6. Si les attaques s'intensifient, mettre en place des outils de défense automatique.


<licode file=/etc/apache/httpd.conf>

  1. Timeout: The number of seconds before receives and sends time out.

Timeout 60 </licode>

Remarque : Pour tester la charge d'un serveur, différents outils sont listés sur http://www.softwareqatest.com

L'outil ab (Apache Benchmark) est livré avec apache :

#ab -n 1000 -c 100 http://www.livois.com

"Chrooter" Apache

  • Utiliser mod_security ou mod_chroot

http://www.modsecurity.org/documentation/modsecurity-apache/1.9.3/html-multipage/06-special_features.html#N108DC

http://core.segfault.pl/~hobbit/mod_chroot/

  • Définir la directive SecChrootDir (mod_security) ou Chrootdir (mod_chroot)

<licode file=/etc/apache2/modules.d//99_mod_security.conf> SecChrootDir /chroot/apache </licode>

  • Créer différents répertoires à l'intérieur de la prison
#mkdir -p /chroot/apache/var/run/
#mkdir /chroot/apache/var/log
#mkdir /chroot/apache/tmp
#cp -pR /var/www /chroot/apache/var/
  • Ajuster la configuration de mysql

<licode file=/etc/mysql/my.cnf> [client] socket = /chroot/apache/var/run/mysqld/mysqld.sock

[mysqld] socket = /chroot/apache/var/run/mysqld/mysqld.sock </licode>

  • LDAP ?

modsecurity

http://www.modsecurity.org/

http://www.gotroot.com/tiki-index.php?page=mod_security

Package Gentoo: mod_security ~x86

Remarque Gentoo: Au 09/04/06, la version gentoo de base est la 1.8.7. Les règles proposées ne sont valides qu'à partir de la version 1.9. Nous rajoutons donc la ligne net-www/mod_security ~x86 au fichier /etc/portage/package.keywords.

Les fontionnalités de modsecurity sont :

  • Request filtering; incoming requests are analysed as they come in, and before they get handled by the web server or other modules.
  • Anti-evasion techniques; paths and parameters are normalised before analysis takes place in order to fight evasion techniques.
  • Understanding of the HTTP protocol; since the engine understands HTTP, it performs very specific and fine granulated filtering.
  • POST payload analysis; the engine will intercept the contents transmitted using the POST method, too.
  • Audit logging; full details of every request (including POST) can be logged for later analysis.
  • HTTPS filtering; since the engine is embedded in the web server, it gets access to request data after decryption takes place.

<licode file=/etc/apache2/modules.d/99_mod_security.conf> <IfDefine SECURITY>

 <IfModule !mod_security.c>
   LoadModule security_module    modules/mod_security.so
 </IfModule>

</IfDefine>

<IfModule mod_security.c>

   # Turn the filtering engine On or Off
   SecFilterEngine On
   # Make sure that URL encoding is valid
   SecFilterCheckURLEncoding On
   # The audit engine works independently and
   # can be turned On of Off on the per-server or
   # on the per-directory basis. "On" will log everything,
   # "DynamicOrRelevant" will log dynamic requests or violations,
   # and "RelevantOnly" will only log policy violations
   SecAuditEngine RelevantOnly
   # The name of the audit log file
   SecAuditLog logs/audit_log
   SecFilterDebugLog logs/modsec_debug_log
   SecFilterDebugLevel 1
   # Should mod_security inspect POST payloads
   SecFilterScanPOST On
   # Action to take by default
   SecFilterDefaultAction "deny,log,status:500"
   # Prevent OS specific keywords
   SecFilter /etc/passwd
   # Prevent path traversal (..) attacks
   SecFilter "\.\./"
   # Weaker XSS protection but allows common HTML tags
   SecFilter "<space:*script"
   # Prevent XSS atacks (HTML/Javascript injection)
   SecFilter "<(.|\n)+>"
   # Require HTTP_USER_AGENT and HTTP_HOST headers
   SecFilterSelective "HTTP_USER_AGENT|HTTP_HOST" "^$"
   # Forbid file upload
   #SecFilterSelective "HTTP_CONTENT_TYPE" multipart/form-data
   # when allowing upload, only allow images
   # note that this is not foolproof, a determined attacker
   # could get around this
   #<Location /fileupload.php>
   #    SecFilterInheritance Off
   #    SecFilterSelective POST_PAYLOAD "!image/(jpeg|bmp|gif)"
   #</Location>

</IfModule> </licode>

#mkdir /etc/apache2/modules.d/mod_security 
#cd /etc/apache2/modules.d/mod_security 
#wget http://www.modsecurity.org/download/rules/modsecurity-general.conf
#wget http://www.modsecurity.org/download/rules/modsecurity-hardening.conf
#wget http://www.modsecurity.org/download/rules/modsecurity-php.conf

Rajouter ces fichiers à la configuration: <licode file=/etc/apache2/modules.d/99_mod_security.conf> Include /etc/apache2/modules.d/mod_security/modsecurity-hardening.conf Include /etc/apache2/modules.d/mod_security/modsecurity-general.conf Include /etc/apache2/modules.d/mod_security/modsecurity-php.conf </licode>

/etc/conf.d/apache2 Il faut ajouter la directive -D SECURITY à la variable APACHE2_OPTS.

PHP

Package Gentoo : dev-lang/php +apache2 +cli +dba +exif

Voir la liste des modules php compilés.

#php -m

Désactiver certaines options

register globals

http://www.php.net/manual/fr/security.globals.php

Il est important de laisser cette directive à Off (défaut depuis PHP 4.2).

<licode file=/etc/php/apache2-php[4|5]/php.ini>

You should do your best to write your scripts so that they do not require
register_globals to be on; Using form variables as globals can easily lead
to possible security problems, if the code is not very well thought of.

register_globals = Off </licode>

allow_url_fopen

Cette option permet de traiter les urls comme des fichiers. Ainsi, mettre une valeur d'url à une variable permettrait l'exécution d'un code externe lors de la réutilisation de cette variable par les scripts PHP.

<licode file=/etc/php/apache2-php[4|5]/php.ini>

Whether to allow the treatment of URLs (like http
// or ftp://) as files.

allow_url_fopen = Off </licode>

enable_dl

La fonction dl() permet à PHP de charger une extension à la volée. Quelqu'un pourrait écrire un module qui contourne certaines sécurité et le charger ensuite comme le décrit l'article: http://www.phrack.org/phrack/62/p62-0x0a_Attacking_Apache_Modules.txt .

<licode file=/etc/php/apache2-php[4|5]/php.ini>

Whether or not to enable the dl() function. The dl() function does NOT work
properly in multithreaded servers, such as IIS or Zeus, and is automatically
disabled on them

enable_dl = Off </licode>

Remarque : Cette directive est à Off en safe_mode.

safe mode

http://fr3.php.net/manual/fr/features.safe-mode.php

Attention : Ce mode n'est plus préconisé et est supprimé dans PHP6


Le safe_mode est une tentative des développeurs PHP de limiter les risques liés à la programmation "server-side".

L'impact le plus important du safe_mode est la restriction sur l'accès aux fichiers. PHP demande que l'uid du propriétaire du fichier corresponde à l'uid du propriétaire du script exécuté.

<licode file=/etc/php/apache2-php[4|5]/php.ini>

Safe Mode

safe_mode = On

By default, Safe Mode does a UID compare check when
opening files. If you want to relax this to a GID compare,
then turn on safe_mode_gid.

safe_mode_gid = Off </licode>

Mettre le safe_mode_gid à On permet d'assouplir la règle. Il faut que le compte apache et les comptes des développeurs quid déposent les scripts soient dans le même groupe.

La directive open_basedir restreint l'accès de PHP aux répertoires listés. Lorsqu'un serveur apache est configuré en multi- domaines, il vaut mieux définir cette directive par vhost: <licode file="/etc/apache2/vhosts.d/www.livois.com.conf"> <Directory /var/www/www.livois.com/>

 php_admin_value open_basedir /var/www/www.livois.com/

</Directory> </licode>

limiter l'utilisation des ressources

Définir les limites

<licode file=/etc/php/apache2-php[4|5]/php.ini>

Resource Limits ;

max_execution_time = 60  ; Maximum execution time of each script, in seconds max_input_time = 60  ; Maximum amount of time each script may spend parsing request data memory_limit = 8M  ; Maximum amount of memory a script may consume (8MB)


You should do your best to write your scripts so that they do not require
register_globals to be on; Using form variables as globals can easily lead
to possible security problems, if the code is not very well thought of.

register_globals = On

Maximum size of POST data that PHP will accept.

post_max_size = 10M </licode>

Gestion des uploads

<licode file=/etc/php/apache2-php[4|5]/php.ini>

File Uploads ;
Whether to allow HTTP file uploads.

file_uploads = On

Temporary directory for HTTP uploaded files (will use system default if not
specified).
upload_tmp_dir =
Maximum allowed size for uploaded files.

upload_max_filesize = 50M </licode>

Gestion des logs

<licode file=/etc/php/apache2-php4/php.ini> error_reporting = E_ALL

Log errors into a log file (server-specific log, stderr, or error_log (below))
As stated above, you're strongly advised to use error logging in place of
error displaying on production web sites.

log_errors = On

Print out errors (as a part of the output). For production web sites,
you're strongly encouraged to turn this feature off, and use error logging
instead (see below). Keeping display_errors enabled on a production web site
may reveal security information to end users, such as file paths on your Web
server, your database schema or other information.

display_errors = Off

Even when display_errors is on, errors that occur during PHP's startup
sequence are not displayed. It's strongly recommended to keep
display_startup_errors off, except for when debugging.

display_startup_errors = Off

Log errors to specified file.

error_log = /var/log/apache2/php5.log </licode>

La configuration ci-dessus permet de logguer les erreurs dans un fichier de logs et de ne pas les afficher à l'écran.

Autres

PHP5 contient une couche d'abstraction qui permet de filtrer la valeur d'un paramètre avant de l'enregistrer. Un filtre d'exemple est disponible à l'adresse suivante: http://cvs.php.net/viewvc.cgi/php-src/README.input_filter

Domaines virtuels

http://httpd.apache.org/docs-2.0/vhosts/

Créer un répertoire pour chaque domaine virtuel à créer

#mkdir /var/www/www.livois.com/
#mkdir /var/www/www.info.test/

Les vhosts sont définis dans le répertoire /etc/apache2/vhosts.d.

Attention : les fichiers de configuration doivent être de la forme *.conf

Le virtualhost par défaut est défini dans le fichier 00_default_vhost.conf

<licode file=/etc/apache2/vhosts.d/00_default_vhost.conf> NameVirtualHost *:80 <VirtualHost *:80>

 DocumentRoot /var/www/localhost

</VirtualHost>

<Directory /var/www/localhost/>

  ....

</Directory> </licode>

Pour les suivant, il faut indiquer:

  • le ServerName
  • le DocumentRoot
  • le ServerAlias (au cas où plusieurs noms de sites sont acceptés)

<licode file=/etc/apache2/vhosts.d/www.livois.com.conf> <VirtualHost *:80>

 ServerName www.livois.com
 #ServerAlias *.livois.com
 DocumentRoot /var/www/www.livois.com
 Setenv VLOG

</VirtualHost>

<Directory /var/www/www.livois.com/> ... </Directory> </licode>

Authentification LDAP

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

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

Les modules ldap sont inclus dans le package apache2

La configuration de l'authentification LDAP nécessite l'activation de 2 modules:

  • mod_auth_ldap (permet l'authentification LDAP pour apache)

http://httpd.apache.org/docs-2.0/mod/mod_auth_ldap.html

  • mod_ldap (améliore les performances d'authentification)

http://httpd.apache.org/docs-2.0/mod/mod_ldap.html

L'authentification LDAP s'active active par l'intermédiaire de 2 fichiers.

  • L'activation des modules LDAP se fait en indiquant -D AUTH_LDAP -D LDAP dans /etc/conf/apache2, comme l'explique /etc/apache2/conf/modules.d/46_mod_ldap.conf

<licode file=/etc/conf.d/apache2> APACHE2_OPTS="-D AUTH_LDAP -D LDAP" </licode>

<licode file=/etc/apache2/vhosts/www.livois.com.conf> <Directory /var/www/www.livois.com/>

   Options -Indexes FollowSymLinks MultiViews
   AllowOverride All
   AuthType Basic
   AuthBasicProvider ldap #directive requise avec apache2.2
   AuthName "La Page des Livois"
   AuthLDAPURL ldap://ldap.livois.com:389/o=hebergement,dc=livois,dc=com?uid?sub?(&(AccountActive=TRUE)(objectClass=*))
   <IfModule mod_access.c>
     Order allow,deny
     Allow from all
   </IfModule>

</Directory> </licode>

La ligne AuthLDAPURL définit l'authentification LDAP

  • sur le serveur ldap.livois.com, sur le port 389
  • le base DN est o=hebergement, dc=livois,dc=com
  • l'authentification se fait à partir du champ mail
  • si le champ AccountActive=TRUE
  • si le champ uid est non vide

L'autorisation se fait si l'utilisateur (champ uid) est valide et que le mot de passe entré dans le navigateur correspond au mot de passe LDAP du compte.

ldap-status La performance de cache du module mod_ldap est accessible à l'adresse: http://www.livois.com/ldap-status, comme configuré dans 46_mod_ldap.conf

<licode file=/etc/apache2/modules.d/46_mod_ldap.conf> <Location /ldap-status>

       SetHandler ldap-status
       Order deny,allow
       Deny from all
       Allow from 192.168.10.1/24
</Location>

</licode>

HTTPS (TODO)

Modules Apache

mod_dav

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

Package Gentoo: mod_dav

<licode file=/etc/apache2/modules.d/45_mod_dav.conf> <IfDefine DAV>

 <IfModule !mod_dav.c>
   LoadModule dav_module    modules/mod_dav.so
 </IfModule>

</IfDefine>

<IfDefine DAV_FS>

 <IfModule !mod_dav_fs.c>
   LoadModule dav_fs_module   modules/mod_dav_fs.so
 </IfModule>

</IfDefine>

<IfModule mod_dav.c>

   DavMinTimeout 600

</IfModule>

<IfModule mod_dav_fs.c>

   # Location of the WebDAV lock database.
   DavLockDB /var/lib/dav/lockdb

</IfModule> </licode>

Nous configurons l'accès à certains fichiers en protocole WEBDAV avec l'option « Dav On ».

<licode file="fichier de configuration de l'hôte virtuel"> <Directory /var/www/www.livois.com/supervision/> <IfModule mod_dav.c>

 DavMinTimeout 600
 #Options None
 Dav On
 <Limit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
   Require valid-user
 </Limit>

</IfModule> .... </Directory> </licode>

/etc/conf.d/apache2 Il faut ajouter la directive -D DAV -D DAV_FS à la variable APACHE2_OPTS.

Quelques remarques :

  • Attention à bien sécuriser l'accès aux fichier par une authentification apache!
  • Les répertoires doivent être accessible en lecture et en écriture par l'utilisateur apache.

Remarque php : One common request is to use mod_dav to manipulate dynamic files (PHP scripts, CGI scripts, etc). This is difficult because a GET request will always run the script, rather than downloading its contents. One way to avoid this is to map two different URLs to the content, one of which will run the script, and one of which will allow it to be downloaded and manipulated with DAV.

Alias /phparea /home/gstein/php_files

Alias /php-source /home/gstein/php_files

<Location /php-source> DAV On

ForceType text/plain

</Location>

With this setup, http://example.com/phparea can be used to access the output of the PHP scripts, and http://example.com/php-source can be used with a DAV client to manipulate them.

Une autre de solution serait peu-être de configurer un hôte virtuel dédié à l'accès WEBDAV (ex: webdav.livois.com).

Test et utilisation

L'utilitaire litmus sous Linux permet de tester le fonctionnement de webdav.

Des clients possibles sont :

Sécurité avancée

Optimisation des performances

A HOWTO on Optimizing PHP http://phplens.com/lens/php-book/optimizing-debugging-php.php

Tuning Apache and PHP for Speed on Unix http://phplens.com/phpeverywhere/tuning-apache-php

Optimizing apache http://www.linuxquestions.org/questions/answers.php?action=viewarticle&artid=312

Performance-tuning Apache http://www.xs4all.nl/~thomas/oscon2003/PerformanceTuning.html

Optimisation des ressources

Mémoire

Les serveurs virtuels héritent de la configuration du serveur principal. Pour alléger les process apache, il est bon de limiter la configuration du serveur principal.

Programmation des applications

Bande Bassante

  • Bandwith stealing (lien vers une image du site)

Une façon de régler ce problème est d'utiliser mod_rewrite.

<licode>

  1. allow empty referrers, for when a user types the URL directly

RewriteCond %{HTTP_REFERER} !^$

  1. allow users coming from livois.com

RewriteCond %{HTTP_REFERER} !^http://www\.livois\.com [nocase]

  1. only prevent images from being hotlinked - otherwise
  2. no one would be able to link the site at all!

RewriteRule(\.gif|\.jpg|\.png|\.swf)$ $0 [forbidden] </licode>

Accélérateurs PHP

Remarque :Eaccelerator semble plus rapide qu'apc mais ne fonctionne pas avec PHP5.1.

eaccelerator

http://eaccelerator.net/

Package Gentoo: dev-php4/eaccelerator ou dev-php5/eaccelerator ~x86

Configurer apache pour accéder à la page eaccelerator/eaccelrator.php: <licode file=apache-host.conf>

Alias /eaccelerator "/usr/share/eaccelerator/"

</licode>

apc

http://pecl.php.net/package/APC

Package Gentoo: dev-php4/pecl-apc ou dev-php5/pecl-apc ~x86

Configurer apache pour accéder à la page apc/apc.php <licode file=apache-host.conf>

 Alias /apc "/usr/share/apc/"

</licode>

La configuration est réalisée dans apc.ini.

  • activer en passant apc.enabled à 1
  • apc.shm_size donne la taille de la mémoire accordée au cache
  • apc.shm_segments permet d'avoir plusieurs cache en mémoire


<licode file=/etc/php/apache2-php5/ext-active/apc.ini> extension=apc.so apc.enabled="1" apc.shm_segments="1" apc.shm_size="30" apc.num_files_hint="1024" apc.ttl="7200" apc.user_ttl="7200" apc.gc_ttl="3600" apc.cache_by_default="1"

apc.filters=""
apc.mmap_file_mask="/tmp/apcphp5.XXXXXX"

apc.slam_defense="0" apc.file_update_protection="2" apc.enable_cli="0" apc.max_file_size="1M" apc.stat="1" apc.write_lock="1" apc.report_autofilter="0" apc.include_once_override="0" apc.rfc1867="0" apc.rfc1867_prefix="upload_" apc.rfc1867_name="APC_UPLOAD_PROGRESS" apc.rfc1867_freq="0" apc.localcache="0" apc.localcache.size="512" apc.coredump_unmap="0 </licode>

Load Balancing et Fail Over

Linux Mag 78

Répartition de charge par DNS

Répartition de charge par http Redirect

Cette redirection peut être intelligente et s'appuyer sur la localisation géographique du client.

Cette approche fonctionne pour les requêtes du type GET mais n'est généralement pas applicable sur des requêtes de type POST. En effet, les navigateurs ne savent pas ré-émettre des requêtes POST.

Répartition de charge par boîtier

Un serveur frontal redirige le trafic vers un serveur approprié (analyse de la charge et disponibilité des serveurs).

Ces technologies permettent de déployer des clusters verticaux (ensemble de même applications sur un serveur) et horizontaux (ensemble de machines similaires). .

Annexes

Packages Gentoo

Package D Fichiers de configuration
apache apache2
/etc/apache2/
/etc/conf.d/apache2
/etc/apache/httpd.conf
/etc/apache2/vhosts.d/00_default_vhost.conf
/etc/apache2/vhosts.d/www.livois.com.conf
/etc/apache2/modules.d/46_mod_ldap.conf
/etc/apache2/modules.d/45_mod_dav.conf
/etc/apache2/modules.d/99_mod_security.conf
dev-lang/php USE= apache2 cli dba exif
/etc/php/apache2-php4/php.ini
/etc/php/cli-php4/php.ini

Copyright

© 2006-2008 Christophe de Livois

Tête de GNU Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la GNU Free Documentation License, Version 1.2 ou n'importe quelle version ultérieure publiée par la Free Software Foundation; sans section invariante, sans page de garde, sans entête et sans page finale. Pour plus d'informations consulter le site de l'APRIL.