sábado, 10 de enero de 2009

Instalar Apache y PHP en Windows Vista

Resulta un tanto frustrante intentar instalar PHP bajo Apache en Windows Vista. Yo lo he intentando multitud de veces. He accedido a foros donde parecen dar la solución tocando allí y acá en los archivos de configuración del Apache y de PHP. Si bien la orientación es buena, en la práctica no es así. Tras probar todo tipo de configuraciones casi tiro la toalla, pues Apache no enlazaba con Apache a pesar de tener configurado correctamente el fichero httpd.conf y el fichero php.ini

Otra propuesta es instalar XAMP, pero pierdes el control sobre lo que instalas, y las versiones de los productos pueden no ser las que necesites.

Probé a desactivar la protección en tiempo real (uso Spyware Terminator), por si afectaba en algo. Tampoco era así.

Al final, tras dos días de intensas batallas con mi ordenador, instalando, desinstalando, borrando el registro de Windows, eliminando ficheros temporales, etc.; una bombilla se encendió en la única neurona que me queda. ¡Y funcionó!

Al final, la solución era mucho más sencilla. Bajo la premisa de que todo lo que se instala en el directorio Program Files de Windows Vista está regido por las normas de usuario de cuenta, probé a instalarlo todo fuera de él con los instaladores de Apache y PHP. He aquí los pasos que utilicé para hacerlo:

1) Desinstalar Apache y PHP de vuestro equipo.
2) Borrar los directorios y archivos generados y que no se han quitado tras la desinstalación
3) Borrar todas las entradas en el registro de apache y php (utilizar regedit)
4) Desactivar la protección en tiempo real del antivirus
5) Abrir la consola en modo administrador (menú Inicio > Todos los programas > Accesorios > clic derecho en Símbolo del Sistema > Ejecutar como administrador)
6) Ejecutar el programa de instalación de Apache mediante el comando: msiexec /i archivoSetupApache.msi
7) Con la configuración personalizada indicar que no se instale en el directorio por defecto (C:\Program Files), si no en otro directorio (en mi caso C:\Apache)
8) Una vez instalado Apache, parar éste (con Apache Monitor y saliendo por completo de la aplicación). Esto evitará que el fichero httpd.conf esté bloqueado por Apache mientras se instala PHP, y así poder escribir en él durante su instalación.
9) Ejecutar el programa de instalación de PHP mediante el comando: msiexec /i archivoSetupPHP.msi
10) Con la configuración personalizada indicar que no se instale en el directorio por defecto, si no en otro directorio (en mi caso C:\php)
11) Una vez instalado php, arrancar nuevamente Apache
12) Crear con el bloc de notas el archivo testphp.php en el directorio htdocs de Apache, con el siguiente contenido:

<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php echo '<p>Hello World</p>'; ?>
<?php phpinfo(); ?>
</body>
</html>

13) Para verificar que funciona correctamente, abrir el navegador e indicar la siguiente URL: http://localhost/testphp.php. El resultado debería ser el siguiente:


Por último, indicar mi configuración de entorno:
- Windows Vista Ultimate + Service Pack 1
- Apache 2.2.10
- PHP 5.2.8

Espero que estas indicaciones os saquen del apuro.

Safe Creative #1001195348600