Alojar aplicación PHP en servidor IIS

Publicado el

En este tutorial, aprenderás a alojar una aplicación PHP en un servidor IIS. IIS es un servidor web desarrollado por Microsoft que viene instalado con Windows y es usable tanto en Windows Server como en escritorios Windows 10/11 Pro y Enterprise.

Si no tienes PHP instalado, puedes descargarlo desde php.net y seguir las instrucciones de instalación. También debes tener IIS activado como característica de Windows (en escritorio) o como rol de servidor (en Windows Server).

Para este tutorial, suponemos que estamos usando lo siguiente:

Crear un certificado TLS autofirmado

Para poder acceder a tu servidor de forma segura, necesitas un certificado TLS. Puedes usar un certificado autofirmado para propósitos de desarrollo. Para crear un certificado autofirmado, ejecuta los siguientes comandos en PowerShell:

mkcert -install
mkcert -p12 app.internal

Esto generará un certificado app.internal.p12 en el directorio actual. Posteriormente, hay que ir a IIS e importar el certificado a nivel servidor (en Seguridad -> Certificados de servidor -> Importar y seleccionando “todos los archivos” para encontrar el archivo .p12).

Creación del site

En la barra izquierda, en Sitios hacemos clic derecho y seleccionamos Agregar sitio. En el cuadro de diálogo, rellenamos los campos de la siguiente manera:

Hacemos clic en Aceptar y el sitio se creará. Pero aún hay que configurar PHP y la reescritura de URL (si el enrutamiento se hace por el propio framework, como en Symfony).

Antes de eso, hay que pulsar en la parte derecha en “Configuración básica” y cerciorarse de que el grupo de aplicaciones es DefaultAppPool. Si no lo es, hay que cambiarlo para que el sitio funcione correctamente.

Configuración de PHP

Dentro del Sitio, ir a “Componentes del servidor -> Asignaciones de controlador -> Agregar asignación de módulo” y rellenar los campos de la siguiente manera:

Hacemos clic en Aceptar y el módulo se añadirá. Ahora, hay que configurar la reescritura de URL.

Configuración de la reescritura de URL

Primero, hay que autorizar variables de servidor. Dentro del Sitio, ir a “Caracterísitcas de HTTP -> Reglas de reescritura” y hacer clic en la barra derecha en “Ver variables de servidor”. Añadir las siguientes variables:

Hacer clic en Aceptar y volver a la pantalla de reglas de reescritura. Hacer clic en “Agregar reglas” y seleccionar “Regla de blanco” dentro de “Reglas de entrada”. Rellenar los campos de la siguiente manera:

Hacer clic en Aceptar y la regla se añadirá. Ahora, la aplicación PHP debería estar alojada en el servidor IIS y accesible en https://app.internal.

Conclusión

En este tutorial, aprendiste a alojar una aplicación PHP en un servidor IIS. Aprendiste a crear un certificado TLS autofirmado, a configurar PHP y a configurar la reescritura de URL para que la aplicación funcione correctamente. Ahora puedes alojar aplicaciones PHP en un servidor IIS y acceder a ellas de forma segura.