sábado, 14 de abril de 2012

Subir Archivos Php sobre IIS en windows server 2008 R2

En pasados días tuve la necesidad de desarrollar una aplicación en php, pero el sevidor web era el IIS que Windows Server 2008 R2 trae instalado. Mi aplicación tenía que ser capaz de subir cierta imagen al servidor y almacenarla. El problema vino cuando mi script en php lanzaba el siguiente error:
failed to open stream: Permission denied
Esto se debe a que el usuario invitado (User guest) a nuestro IIS no tiene los permisos necesarios para escribir en nuestro servidor. Estos permisos son necesarios para realizar la famosa función copy de php para cargar archivos. 


La solución es muy simple y a la vez un poco peligrosa. Consiste en otorgarle a la carpeta root de nuestro IIS los permisos para modificar y escribir información al usuario invitado. Para esto hay que realizar los siguientes pasos:
  1. Dar click derecho en el nombre de la carpeta .../inetpub y seleccionar la opción Propiedades
  2. Después seleccionar el tab de Seguridad.
  3. Dar click en el boton "Editar" y agregar (si no existe aún) el usuario IUSR.
  4. Ororgarle a ese nuevo usuario los permisos de escritura y modificación y Listo !!
Ahora la función copy no deberá lanzar ningún error y deberá escribir correctamente en el servidor las imagenes desde el script de pgp