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 OffLiens
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

