Assets non résolus lors du passage à Rails 4

Lors du passage d’une de mes applications à Rails 4, je me suis trouvé face à un problème que j’ai eu beaucoup de mal à résoudre. En effet, alors que les assets étaient parfaitement distribués en développement, ce n’était plus le cas en production : tous les assets autre que CSS et JS (images, polices de caractères…)  étaient distribué comme des fichiers de zéro octet.

Après de longues recherches sur le web, j’ai pu trouver la source de mes ennuis grâce au post dont vous trouverez le lien ci-dessous. Une ligne issue d’une version de Rails antérieure à la version 4 causait le problème. Il restait en effet dans le fichier config/environments/production.rb la ligne suivante :

config.action_dispatch.x_sendfile_header ="X-Sendfile"

Je l’ai donc commentée, puis ensuite ai supprimé le répertoire assets sur le serveur, et enfin redéployé mon application pour régénérer les assets Rails. Un redémarrage ensuite de mon serveur Web, et le problème était réglé !

Via stackoverflow

Impossible de déployer l’application : erreur ssh: Could not resolve hostname

Je me suis retrouvé face à un problème qui m’a fait m’arracher les cheveux; après avoir modifié ma configuration réseau, impossible de déployer mon application. Capistrano me renvoyait l’erreur suivante :

ssh: Could not resolve hostname xxx: Temporary failure in name resolution

De plus la connexion à mon serveur en ssh était très aléatoire lorsque je me connectais avec le nom de domaine, alors qu’avec l’adresse IP, tout se passait correctement.

En fait, j’avais tout simplement oublié de modifier la passerelle par défaut donc le fichier /etc/network/interfaces. Il m’a suffi de changer la passerelle  comme vous le voyez ci-dessous :

iface eth0 inet static
   address 192.168.1.100
   network 192.168.1.0
   netmask 255.255.255.0
   gateway 192.168.1.15

Redémarrer ensuite le réseau :

sudo /etc/init.d/networking restart

Et voilà !