JASoft.org

El blog de José Manuel Alarcón Aguín. Programación web y mucho más...

MENÚ - JASoft: JM Alarcón

Desinstalar una versión concreta de PHP en IIS

Si instalas PHP en Internet Information Server usando un instalador automatizado te ahorras mucho trabajo de configuración. Lo malo es que no sabes qué ha hecho realmente por debajo y por lo tanto a la hora de hacer algún ajuste o de desinstalarlo, tienes un problema. En el caso concreto de que lo hayas hecho con el Web Platform Installer de Microsoft es aún peor, ya que entonces no tienes siquiera una entrada en la herramienta de "Desinstalar programas" del sistema. Tienes que hacerlo todo a mano. pan para hoy, hambre para mañana.A medida que vas actualizando PHP a las últimas versiones que van saliendo, tiendes a acumular variantes de lo mismo una y otra vez, Está bien dejar la versión anterior unos días o semanas por si acaso aparece un conflicto o un bug, y así poder volver atrás. Pero en cuanto pase ese periodo de seguridad lo mejor es librarse de ellas.¿Cómo puedo deshacerme de una versión concreta de PHP que tenga instalada en mi servidor?Los pasos son sencillos y los listo a co... [Más]

Cómo solucionar el error 500 de PHP 5.6 con FastCgiModule en IIIS

Aunque PHP se asocia habitualmente con Apache y Linux, lo cierto es que funciona muy bien bajo Windows Server con Internet Information Server. Personalmente no me gusta mucho PHP, pero a veces no me queda más remedio que montarlo en algún servidor porque los diseñadores/webmasters me demandan WordPress o algún producto similar (que tampoco me gusta demasiado). Ya que tengo que montarlo, al menos que sea en Windows: lo que me faltaba es tener un servidor Linux para administrar. Bastante tengo con pegarme de vez en cuando con mi Linux de escritorio. Así que ni corto ni perezoso monto un MySQL y un WordPress con PHP en unos minutos (lo cierto es que es muy fácil).La manera más sencilla de hacerlo es utilizar el Web Platform Installer de Microsoft (WebPI). Lo descargas, lo lanzas, escoges lo que quieres instalar (por ejemplo WordPress) y se te instala junto con todas sus dependencias (MySQL, PHP, Wincache...) sin que apenas tengas que hacer nada.Sin embargo no te recomiendo usar WebPI para... [Más]

Cómo determinar qué servicio está ocupando toda la CPU en mi servidor

Los caminos de Windows, a veces, son inescrutables. En ocasiones, sin saber por qué, en un servidor en producción un proceso empieza a "comerse" todos los recursos del procesador y no tenemos idea de a qué se puede deber (una actualización, un driver, un programa nuestro que se ha desbocado...). Y lo que es peor: si se trata de algún servicio del sistema lo tenemos más difícil pues todos los procesos de ese estilo se llaman igual: svchost.exe.svchost.exe es un proceso genérico del sistema que sirve para ejecutar DLLs de Windows. Generalmente contienen servicios. Además para evitar que la caída de un servicio afecte a todo el sistema se lanza un svchost.exe por cada grupo de servicios relacionados. Así, por ejemplo, todos los que tienen que ver con servicios de red van en uno, con seguridad en otro, con IIS en otro, etc...¿Cómo podemos averiguar cuál es el verdadero servicio que nos está causando el problema?Existen varias maneras.1.- La fácil: verlos directamente en el administrador de... [Más]

Cómo asignar nombres de dominio a certificados SSL en Internet Information Server 7.x

La semana pasada explicaba en un post qué era SNI (Server Name Indication) y cómo podíamos sacarle partido en Internet Information Server 8.0 para albergar varios certificados SSL/TSL en una misma IP, y restringir a dicha IP el acceso solo desde los dominios apropiados.En teoría en IIS 7.x bajo Windows Server 2008 o 2008 R2, no está disponible esta opción, al menos no para certificados SSL normales. Sin embargo, si vamos a las propiedades de un "binding" para HTTPS, vemos que dispone de un cuadro de texto para el nombre de dominio, similar al de IIS 8.0, pero que está deshabilitado:Así que parece que, aunque esté deshabilitado, algún tipo de soporte debe de haber para usar SNI en IIS 7.x ¿no?Bien, el caso es que IIS 7.0 soporte SNI con certificados SSL de tipo wildcard, es decir, aquellos que son capaces de soportar múltiples subdominios de un mismo dominio con el mismo certificado. Este tipo de certificados se asocian a dominios de tipo *.midominio.com. Es decir, cualquier cosa delant... [Más]

SNI: usar certificados SSL para varios dominios desde la misma IP (con IIS 8.0)

Cuando un navegador se conecta a un servidor web usando el protocolo comúnmente conocido como SSL (Secure Sockets Layer, de manera más formal SSL/TLS: Transport Layer Security), las comunicaciones se cifran entre ambos con el triple objeto de:Evitar que se puedan inspeccionar (cifrado)Evitar que se puedan modificar (no repudio)Autenticar al servidor, y opcionalmente al cliente, aunque no es lo habitual (autenticación).El handsahe de TLS se produce antes de que se intercambien cabeceras algunas entre cliente y servidor. Es decir, que en la comunicación que se inicia todo el tráfico va encriptado, incluso las propias peticiones, lo cual incluye el propio nombre de dominio al que nos conectamos. Esto presenta una dificultad para el servidor ya que hasta que recibe la petición y la descifra no sabe a qué dominio nos queremos conectar, pero si no lo sabe ¿cómo sabe qué certificado debe utilizar?La respuesta tradicional a este problema ha sido que cada certificado SSL estuviese asignado a un... [Más]

Cómo listar todos los sitios web y sus dominios en un servidor IIS

Si tenemos que administrar uno o varios servidores web, hay ocasiones en las que necesitaremos inventariar de manera rápida y sencilla qué sitios web y dominios tenemos albergados en nuestras máquinas. Obviamente una forma sencilla de verlo es ir a través del administrador de Internet Information Server y ver qué sitios tenemos allí. Pero el problema de eso es que no podemos manipular la lista de manera alguna y, sobre todo, no nos da una idea clara de qué dominios tenemos asociados a cada sitio web, salvo que vayamos entrando uno a uno a comprobarlos. Sería de mucha utilidad poder listar toda esta información de manera automática y rápida siempre que lo necesitemos. Por suerte para nosotros, IIS en todas sus versiones os ofrece una manera sencilla de hacerlo. Veamos cómo... Listado de sitios y dominios en IIS 6 En Internet Information Server 6 se incluían unas herramientas de línea de comandos escritas en VBScript que nos permiten gestionar de mil maneras el servidor. Una de ell... [Más]

Suplantación de usuarios en IIS y ASP.NET: un resumen detallado

A la hora de desplegar en un entorno real de producción, para ponerlas a disposición de todo el mundo, las aplicaciones web creadas con ASP.NET se albergan en un servidor web. Por regla general éste será Internet Information Server (IIS), incluido en las versiones de servidor de Windows. IIS no es más que otra aplicación que se ejecuta sobre el sistema operativo, por lo que es Windows el que se ocupa del nivel más bajo de la cadena de la seguridad. Por ello conviene tener claro que la última palabra a la hora de conceder acceso a un recurso físico del sistema la tiene el propio sistema operativo, no IIS ni ASP.NET. Contextos de seguridad En Windows, cada proceso se ejecuta dentro de su propio contexto de seguridad. Cuando un proceso accede, por ejemplo al sistema de archivos NTFS, los permisos se le otorgan en función del contexto en el que se ejecute. Normalmente si un proceso lanza otro subproceso éste ... [Más]