Apache + mongrel : avoir une jolie URL

Comme promis précédemment, un petit tuto pour avoir une URL un peu moins brute que http://vds171.sivit.org:8000/ pour ce blog. Pourquoi pas http://pada.chanmasters.com/ ?
Suivez le guide !

Rien de bien compliqué en vérité. Il faut au préalable configurer Bind (ou équivalent) pour que votre sous domaine soit reconnu. Cette étape n’est pas obligatoire, selon votre configuration de DNS et le passif de cette config. 2e étape, mapper cette URL (qui redirige donc vers votre serveur sur le port 80) à votre URL de serveur Mongrel, via un “ProxyPass”. Cette directive peut être utilisée pour redirigée sur une autre machine au passage (c’est ce que fait un “reverse proxy” dans un centre-serveur notamment). Chez moi, tout est dans /etc/apache2/conf.d/vhosts.conf. Mais vous pouvez mettre ces directives dans un “sites-enabled” puis utiliser “a2ensite” pour activer le site. Je suis en Apache 2.2.3, et ça donne donc :

<VirtualHost>
      ServerName pada.chanmasters.com
      ProxyPass / http://pada.chanmasters.com:8000/
      ProxyPassReverse / http://pada.chanmasters.com:8000/
      ProxyPreserveHost on
</VirtualHost>

NB: j’aurais pû mettre http://vds171.sivit.org:8000/ ça aurait fonctionné aussi ! Il semble cependant que “localhost” ne passe pas, le ProxyPass ne fonctionne alors pas. On obtient une erreur 503 “Service Temporarily Unavailable” caractéristique d’un serveur “distant” inaccessible. Comme si le mongrel n’était pas démarré, donc.

Un reload d’Apache suffit ensuite à accéder à votre mongrel :