VHost et DNS local sous Mac OS X

28 avril 2009

Lorsque je travaille sur des applis web, j’aime bien avoir un environnement de développement local et lorsque tout est OK, j’envoie ça en production. C’est un processus classique et devenu très facile avec les outils de versioning et de déploiement. C’est encore plus vrai dans l’écosystème de Ruby on Rails où tout est pensé pour facilité cette séparation des environnements d’exécution tout en ayant des procédures de déploiement fiables et simples.

Je travaille actuellement sur un site basé sur WordPress (en PHP donc). Le site n’est pas encore en production, sur un sous-domaine temporaire, pour autant je n’aime pas travailler avec un client FTP et ouvrir les fichiers un par un, … et surtout être dépendant de la connexion internet pour avancer.

J’ai souhaité avoir un environnement pour ça aussi facile qu’avec des applis Rails. Le principal soucis était la gestion d’un domaine local et d’un Virtual Host pour Apache car pour les applis Rails il existe un outil accessible dans les Préférences Système qui s’appelle Passenger Prefpane [1] et qui configure en 3 clics le DNS local et Apache pour servir une application Rails via Apache + Phusion Passenger.

Les purs *nixiens me crieront dessus qu’il suffit d’éditer le fichier /etc/hosts + créer un bout de conf pour le VHost. Je sais parfaitement faire ce genre de manipulations, mais j’ai aussi un goût prononcé pour la stratégie du moindre effort.

De plus, sous Mac OS X il y a mieux qu’éditer le fichier Hosts : dscl – Directory Service command line utility [2]

Un amateur de toute cette facilité, qui comme moi ne trouvait pas son plaisir avec la gestion générale (hors applis Rails) des domaines+VHost a écrit un script en ruby [3] qui permet de créer facilement une entrée DNS et un virtual Host.

$ sudo apacherb create my_app.local /path/to/my_app/

Je suis donc ravi car je peux très facilement ajouter des domaines + VHost locaux, en une seule ligne.

Mise à jour

Apacherb devient Hostess : http://chrisroos.co.uk/blog/2009-06-23-apacherb-is-now-hostess


Montage NFS qui décroche sur Mac OS X

26 août 2008

Je viens de m’artracher les cheveux pendant 2 bonnes heures pour un problème tout con, qui vient de moi en plus, mais comme le ridicule ne tue pas, j’en fais profiter.

Je travaille sur un Mac OS X (10.5.4) avec TextMate et j’ai un point de montage NFS provenant d’un serveur sous Debian Etch.

Ce matin, alors que je testais un plugin pour TextMate qui l’empêche de faire la mise à jour (très lente car sur le réseau) des metadonnées de chaque fichier de mon projet, la sauvegarde du moindre fichier met plusieurs dizaines de secondes et le montage NFS fini par disparaître, puis réapparaître.

J’ai commencé par désinstaller ce plugin, l’incriminant immédiatement de toutes les fautes du monde. J’ai rebooté mon serveur ET mon client mais rien n’y faisais

L’exploration des logs me dit que lockd ne réponds pas.

J’ai fini par comprendre incidemment que c’est l’activation de mon firewall local (hier soir alors que j’étais fatigué) qui empêchait le dialogue de se faire correctement. Evidemment après l’avoir désactivé, plus de soucis.

Il me reste encore à trouver comment régler manuellement mon firewall pour autoriser le dialogue au niveau de NFS, mais ça sera pour plus tard.