Passenger, alias mod rails est probablement la meilleure chose qui soit arrivée au web depuis l’invention du navigateur graphique – rien que ça – en faisant du déploiement d’applications Ruby on Rails un véritable jeu d’enfant. Plus besoin de configuration en dehors d’un Vhost des plus standards, mod_rails reconnaît les application Rails et Merb et fait ce qu’il faut. Et pour ne pas faire de jaloux, il fait de même avec les applications Django, il est vrai avec des performances moindres.

Via Ashchan, je viens cependant de découvrir un bug dans la directive RailsBaseURI, qui permet de déployer des applications ailleurs qu’à la racine d’un site, par exemple, https://t37.net/blog au lieu de https://t37.net.

<VirtualHost 91.121.80.167:80>
    ServerName t37.net
    DocumentRoot /path/to/t37.net/public
    RailsBaseURI /blog
</VirtualHost>    

En théorie, Passenger devrait transmettre la directive RailsBaseURI à votre application Rails en initialisant sa variable relativeurlroot. Comme il semble ne pas le faire, en tout cas dans la dernière version, il faut modifier le fichier config/envionment.rb de votre application Rails afin d’y ajouter

config.action_controller.relative_url_root = "/blog"

Et voilà, vous êtes. Quant à moi, je vous laisse, j’ai une version stable de Typo et un patch pour mod_rails à terminer.

Perry the Platypus wants you to subscribe now! Even if you don't visit my site on a regular basis, you can get the latest posts delivered to you for free via Email: