Jonathan Vinial bio photo

Jonathan Vinial

Administrateur Linux dans le domaine du web, passionné d'Open Source et de photographie.

Email Curriculum Vitae Twitter Facebook Google+

Voici une astuce pour passer son site simplement et rapidement en mode maintenance sous Apache.

Pré requis

Vous devez au préalable avoir une page de maintenance (ici index.html).

Configuration du vhost

Intégrez ces quelques lignes à votre vhost.

Alias /maintenance /data/services/web/maintenance
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^111\.111\.111\.111$
RewriteCond %{HTTP:X-Forwarded-For} !^111\.111\.111\.111$
RewriteCond /data/services/web/maintenance/.maintenance -f
RewriteCond %{REQUEST_URI} !^/maintenance
RewriteRule /(.*) /maintenance/index.html [R,L]

Vous pouvez dupliquer la ligne REMOTE_ADDR en ajoutant vos adresses ip. Ces ip ne tomberont pas sur la page de maintenance et pourront accéder directement au site. Bien pratique pour tester avant une mise en production.

Si vous êtes derrière un reverse proxy, il vous faudra utiliser la variable %{HTTP:X-Forwarded-For} au lieu de %{REMOTE_ADDR}.

Passage en mode maintenance
root@local# touch /data/services/web/maintenance/.maintenance
Passage en mode nominal
root@local# rm /data/services/web/maintenance/.maintenance