Después de varios días de intentos finalmente he logrado instalar Apache, MySQL y PHP en una máquina con Windows Vista.
Este tema lo hemos tratado en un hilo de los foros de Xeoweb, y también ha sido comentado por Roberto Herrero.
El Problema
Ya he instalado varias veces Apache, MySQL y PHP en diferentes sistemas operativos como por ejemplo Linux, Windows 2000 o Windows XP. La instalación generalmente la realizo desde cada una de las distribuciones originales, ya que los paquetes integrados como XAMPP instalan muchas otras aplicaciones más y nunca sé sabe exactamente lo que hacen.
La instalación de cada uno de los paquetes se realiza en el siguiente orden:
1. El Servidor web, es decir Apache en la versión actual 2.2.6, descargando los instaladores desde aquí. Después de la instalación de Apache, se debe parametrizar el archivo http.conf, que se encuentra generalmente en la carpeta C:\My Programs\Apache Group\Apache2\conf.
2. La base de datos MySQL, todavía en la versión 4.1, descargando los instaladores desde la esta página. La instalación es sencilla, y aquí, generalmente ni siquiera es necesario configurar el archivo my.ini en la carpeta C:\Program Files\MySQL\MySQL Server 4.1. Solamente, si por ejemplo se necesita guardar los datos de las bases de datos en una carpeta especifica para realizar backups o syncronizaciones con otras máquinas, se debe editar la variable datadir.
3. PHP todavía en la versión 4.4.7, desde esta página. Pero debido a que esta distribución de PHP no contiene un instalador para Windows, se puede usar este instalador. La parte que generalmente es un poco más compleja es la integración de PHP con Apache, pero generalmente funciona sin problemas.
Las instrucciones para configurar cada uno de los paquetes, se las encuentra por ejemplo en este tutorial. Luego de haber realizado los 3 pasos anteriores todo funcionaba correctamente, pero la carga de las extensiones de PHP en DLLs no se podía cargar, a pesar de que todas las rutas estaban correctas. El error que aparecía era el siguiente:
PHP Warning: Unknown(): Unable to load dynamic library ‘C:\Program Files\php4\extensions\php_xslt.dll’ – The specified module could not be found.
Soluciones
1. XAMPP
la instalación de este paquete integrado me fue recomendado en el foro de Xeoweb, y efectivamente logre solucionar mi problema. Se debe evitar instalar xampp en la carpeta por defecto, por ejemplo Program Files, debido a que Windows Vista controla esta carpeta mediante el UAC o User Account Control para evitar accesos extraños como spyvware, virus, etc.
Pero como ya lo mencione anteriormente, esta instalación realiza un montón de cosas extrañas, como por ejemplo copiar las DLLs de PHP y el archivo de configuración php.ini en las carpetas de Apache, lo que en realidad no es correcto ya que cada programa debería usar su espacio determinado.
2. Microsoft Virtual PC 2007
Microsoft Virtual PC 2007 (ver demo) es una herramienta que Microsoft distribuye gratuitamente justamente para ayudar a solucionar los problemas actuales con Windows Vista. Mediante Virtual PC 2007 se pueden crear en una computadora una serie de máquinas virtuales.
En el caso que no se desee o no se pueda hacer un downgrade a Windows XP debido a los múltiples problemas con Vista, se puede instalar una máquina virtual, por ejemplo con Windows XP o W2K y correr ahí los programas problemáticos. Microsoft Virtual PC 2007 tiene la posibilidad de compartir los archivos de la máquina host con la máquina virtual.
En el presente caso, se puede instalar fácilmente en la máquina virtual un servidor web con Apache y PHP. Mediante el uso común de los archivos, el desarrollo de las páginas web se puede realizar fácilmente desde Windows Vista.
Bueno, por el momento con estas 2 soluciones he logrado finalmente correr mis proyectos web en forma local en Windows Vista, pero siempre queda el sabor amargo y el tiempo perdido…