Apache

Un article de WindowsLinux.net - Astuces pour Windows et Linux !.

Sommaire

Précision

De nombreuses commandes ici concernent Apache 2.2 (Debian).

Sécurité

Idéalement, effectuez un chmod sur les fichiers suivants, avec les droits suivants :

Type de fichier CHMOD xxx
.htpasswd 640
.htaccess 644
.php 600
*config.php 400
Fichier qui nécessite 777 Utilisez de préférence 766 ou en second choix 775

Configuration

Tester la configuration

# apache2ctl configtest

Modules

server-info

Pour fonctionner server-info a besoin d'activer le module info avec a2enmod :

# a2enmod info

mod_rewrite

Mettre un site web (temporairement) sous maintenance et ce très simplement, pour tous les visiteurs sauf la personne avec l'IP 123.123.123.123 (utile pour tout webmaster qui fait une grosse mise à jour de son site) :

RewriteEngine on
#  RewriteCond  %{REMOTE_ADDR}         !^123.123.123.123$
RewriteRule  (.*) /chemin/vers/le/fichie/index.htm [L]

Ces lignes sont à mettre dans votre "VirtualHost". Apache va envoyer le fichier "index.htm" à toute demande.


Si la 2ème ligne est dé-commentée, et si votre adresse ip est 123.123.123.123, vous pourrez surveiller toute modification effectuée au site, pendant que les visiteurs sont dirigés vers la page de mainteannce.

.htaccess

Les fichiers .htaccess peuvent ne pas être pris en compte, si la configuration pour votre site a la directive :

AllowOverride None

Il faut idéalement avoir (entre autre) :

AllowOverride All

Plus d'informations ici : http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride

Vous pouvez aussi lire la page .htaccess de ce wiki.

mod_auth_mysql

Voici un exemple qui fonctionne avec dspam webfrontend :

Exemple dans apache.conf :

<VirtualHost>
 SuexecUserGroup dspam dspam
   <Directory /var/www/dspam>
         Options ExecCGI -Indexes
         Addhandler cgi-script .cgi
         DirectoryIndex dspam.cgi
 AuthName "DSPAM Authentication"
 AuthType Basic
 require valid-user
 AuthUserfile /dev/null
 AuthMySQL_Host                  localhost
 AuthMySQL_DB                    mailserver
 AuthMySQL_Password_Table        view_users
 AuthMySQL_User                  userBDDsql
 AuthMySQL_Password              passwordUserBDDSql
 AuthMySQL_Username_Field        email
 AuthMySQL_Password_Field        password
 AuthMySQL_Encryption_Types      PHP_MD5
 AuthBasicAuthoritative Off
 require valid-user
   </Directory>
 </VirtualHost>

PHP

Veuillez vous rapporter à l'article sur le PHP.


Safe mode

Selon cette page [1], on peut gérer le safe mode de PHP (On ou Off) dans chaque virutalhost, avec la ligne suivante dans un fichier .htaccess ou httpd.conf :

php_admin_flag safe_mode Off

Liens

Externes

Un mémo pour l'utilisation de mod_rewrite : http://www.addedbytes.com/apache/mod_rewrite-cheat-sheet/

Un site contenant de nombreuses informations : http://www.askapache.com

Internes

PHP

.htaccess

mod_security