Parece ser que una de las últimas versiones de Passenger (”mod_rails” para los amigos), la 2.2.4, tiene un bug bastante conocido pero sin solución aparente: la carpeta temporal se crea sin permisos de escritura.
Como en todos los lenguajes de servidor, a la hora de subir un archivo se copia el mismo a un directorio temporal, donde permanece hasta que la transferencia ha llegado al 100%. Como paso posterior a este, vendría el momento de moverlo a su ubicación definitiva, pero es mucho antes cuando ocurre el error que estamos tratando.
Si echamos un vistazo al log, veremos que el proceso falla porque dicho directorio no tiene permisos de escritura. Podríamos pensar en dárselos sin más, pero esto sería sólo una solución temporal, pues este path se renueva cada vez que reiniciamos el server. Para arreglar esto de forma definitiva, deberemos abrir el archivo “Utils.cpp” y buscar esta línea:
-
makeDirTree(tmpDir + "/webserver_private", "u=wxs,g=,o=", workerUid, workerGid);
Una vez la hayamos encontrado, la sustituimos por esta y reiniciamos el proceso:
-
makeDirTree(tmpDir + "/webserver_private", "u=wxs,g=wx,o=wx", workerUid, workerGid);
…
Fuente: Fermín, mi compañero de Jet.
Yo estaba a su lado, pero en realidad el cerebrito de todo esto es él, ¡gracias tío! ![]()

Siguiendo con lo que os contaba en el post anterior, en otra ocasión tuve que importar un
Trabajando con Ruby te das cuenta de que en Internet está todo lo que puedas imaginar. No necesitas cursos, profesores ni ejemplos. Nada. Cualquier ayuda extra es bien recibida, aunque sin ella también puedes llegar a la resolución de ese problema que te lleva comiendo la moral una semana.