En este Manual vamos a explicar cómo instalar como de Apache 2.0 en un sistema Windows. Para las pruebas hemos utilizado Windows XP, pero seguro que con otros sistemas el proceso será muy parecido, aunque, en todo caso, indicaremos las diferencias documentadas en el sitio de .

Anteriormente habíamos explicado la instalación de PHP como un CGI, aunque en la de PHP desaconsejan esta opción, puesto que adolece de graves de . Además, PHP instalado como módulo de Apache resulta mucho más rápido que como CGI.

y descomprimir PHP

El primer paso consiste en descargar la última versión de PHP. Podremos hacerlo desde la página oficial de PHP, en la sección de descargas. Aquí. Debemos elegir la versión “zip package” que contiene todas las funcionalidades de PHP y el módulo necesario para instalarlo en Apache.

Una vez descargado el paquete comprimido en .zip de PHP necesitamos descomprimirlo en nuestro disco duro. Podemos utilizar el directorio raíz del disco duro para descomprimir los archivos. En ese caso, se creará un directorio llamado algo como “php-4.3.1-Win32” que colgará de nuestro directorio raíz. Se recomienda cambiar el nombre del directorio creado a algo como “c:\php”. En todo caso, nos advierten en la página de PHP sobre no colocar ningún nombre de directorio que contenga espacios, pues algún puede dar problemas. Por ejemplo, cuidado con instalar PHP en un directorio como este “c:\archivos de programa\php”, pues en la ruta tenemos directorios con espacios.
Copia de las DLL

A continuación nos informan sobre la necesidad de copiar en nuestro directorio de sistema una serie de librerías (.dll), que encontraremos en el directorio sapi de nuestra instalación de PHP, supuestamente algo como “c:\php\sapi”,

El mencionado directorio de sistema puede variar de unas a otras de Windows. En Windows XP, el directorio de sistema donde debemos copiar las dll, es “C:\WINDOWS\system32”. En Windows 9x/ME, el directorio sería “C:\Windows\System” y en Windows NT/2000 sería el directorio “C:\WINNT\System32” o bien, “C:\WINNT40\System32”.

Nota: no se deben mezclar las DLL de diversas versiones de PHP, porque de lo contrario, podría causarnos problemas.

Definir un archivo php.ini

Otro archivo que debemos copiar, esta vez en nuestro directorio Windows, es el php.ini, que guarda las opciones de configuración definidas para PHP. En la distribución de PHP se incluyen dos archivos php.ini que podemos utilizar directamente en nuestro sistema. Estos dos archivos se llaman “php.ini-dist” y “php.ini-recommended” y contienen unas opciones típicas de configuración de PHP. Se recomienda utilizar “php.ini-recommended”, porque viene para obtener los mejores niveles de seguridad. En cualquier caso, podemos editar en cualquier momento el contenido del archivo para modificar la configuración de PHP a nuestro gusto o necesidades.

Para definir el php.ini debemos hacer una copia del archivo de configuración escogido (“php.ini-dist” o “php.ini-recommended”) y renombrarlo como el “php.ini”. Posteriormente debemos copiarlo en nuestra carpeta Windows, que en sistemas 9x/ME/XP es “c:\windows” y en sistemas NT/2000 suele ser “c:\WINNT”, o bien “c:\WINNT40”.

Editar httpd.conf

Posteriormente deberemos editar nuestro archivo de configuración de Apache, llamado “httpd.conf” que está en el directorio “conf” de nuestra instalación de Apache. También podemos encontrar un acceso directo para editar este archivo accediendo a Inicio – Programas – Apache HTTP – Configure Apache HTTP – Edit httpd.conf configuration file.

Debemos añadir un par de líneas de configuración del módulo de Apache.

LoadModule php4_module C:\php\sapi\php4apache2.dll
AddType application/x-httpd-php .php

El lugar adecuado para añadir esas líneas es en el bloque de carga de módulos, que podemos encontrar si buscamos por el texto “LoadModule”. Podemos añadir las líneas de carga del módulo PHP después de la carga de los otros módulos que vienen ya configurados en archivo httpd.conf de Apache.

Si no instalamos PHP en el directorio c:\php, debemos editar las líneas a colocar en el httpd.conf para colocar la ruta correcta al directorio donde está la librería php4apache2.dll.

Un último paso

Antes de acabar y probar si PHP se ha instalado correctamente, necesitamos copiar una dll en el directorio sapi. Concretamente, la dll “php4ts.dll”, que podemos encontrar en nuestro directorio de instalación de PHP es la que debemos copiar al directorio sapi, algo como “c:\php\sapi”.

Nota: Esta acción no viene documentada en el manual de PHP, aunque sí no la llevamos a cabo no funcionará.

El error que obtenemos al tratar de arrancar el Apache es algo como:

Syntax error on line 173 of C:/Archivos de programa/Apache Group/Apache2/conf/httpd.conf:
Cannot load C:/php/sapi/php4apache2.dll into server: No se puede encontrar el módulo especificado.

Otra configuración que podemos aplicar al archivo httpd.conf es definir también como documento por defecto el archivo index.html en nuestro servidor Apache. El documento por defecto es generalmente index.html, pero lo habitual si vamos a programar con PHP es que también necesitemos definir index.html como documento a mostrar si no se indica otro documento del directorio al que se está accediendo.

El documento por defecto se define con la variable DirectoryIndex. Nos quedará una deninición como esta:

DirectoryIndex index.html index.html.var index.html

Probar si PHP está funcionando correctamente

Para terminar, podemos crear una página de prueba de PHP, que colocaremos en nuestro directorio de publicación de Apache, generalmente llamado htdocs, que se aloja dentro del directorio donde se ha instalado Apache, algo como “C:\Archivos de programa\Apache Group\Apache2\htdocs”

Podemos crear un archivo llamado, por ejemplo, “prueba.php”, en el que colocaremos dentro el siguiente código:

Esta función simplemente creará una página de muestra de las configuraciones definidas para PHP en ese servidor.

Para acceder al archivo creado desde nuestro explorador, escribiremos en la barra de direcciones esta URL:

http://localhost/prueba.php

Si aparece esa pagina con las configuraciones definidas para PHP en nuestro servidor, es que todo ha salido correctamente.