Instalación de Apache 2.2
Algunos me habéis preguntado por qué no funcionaba vuestro servidor al instalar Apache 2.2 con PHP5, y la respuesta que os daba es que el módulo php5apache2.dll todavía no es compatible con la versión 2.2 de Apache.
Bien, al parecer el motivo es que cambia ligeramente la API de Apache 2.2 frente a la de Apache 2.0, con lo cual son incompatibles. Sin embargo, existe la posibilidad de hacerlo funcionar si nos bajamos el archivo .dll ya configurado para Apache 2.2 y no para Apache 2.0. Este archivo vendrá ya incluido cuando salga la versión 5.2.0 de PHP y se llamará php5apache2_2.dll, pero hasta que salga, podéis descargar una versión del php5apache2.dll preparada para Apache 2.2 desde
http://www.apachelounge.com/download/
Se distribuye en un ZIP que contiene tres ficheros, un TXT con la ayuda para la instalación, y dos ficheros más que debemos copiar a ciertos directorios:
- Copiar php5apache2.dll al directorio de PHP (ej. C:/Servidor/php), sustituyendo el ya existente.
- Copiar httpd.exe.manifest al directorio apache2.2/bin
Más información:
http://bugs.php.net/bug.php?id=37338
------------------------------------------------
¿Qué cambia en la instalación / configuración de Apache 2.2 frente a Apache 2.0?
Por suerte, prácticamente nada. La instalación es igual y la configuración prácticamente igual. Vemos los cambios en la configuración:
- Configuración del DirectoryIndex
En Apache 2.0, al buscar DirectoryIndex en el httpd.conf para realizar su configuración, nos salía esto:
Código:
#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
# The index.html.var file (a type-map) is used to deliver content-
# negotiated documents. The MultiViews Option can be used for the
# same purpose, but it is much slower.
#
DirectoryIndex index.html index.html.var
Ahora nos saldrá esto:
Código:
#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
Pero los cambios que hay que realizar son los mismos.
- Seguridad de los directorios
En Apache 2.0, por defecto deja a cualquier usuario ver cualquier directorio del servidor, con lo cual no tenemos que cambiar nada, pero en esta versión 2.2 viene configurado para que no se puedan ver los directorios, con lo cual si instalamos nuestro servidor y lo ponemos a funcionar, resulta que nos da un error de acceso prohibido cuando queremos ver alguna página.
Para solucionarlo, buscamos esto en el httpd.conf:
Código:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Satisfy all
</Directory>
Y simplemente sustituimos Deny from all por Allow from all, de forma que quede así:
Código:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
Satisfy all
</Directory>
- VirtualHosts
Si vamos a crear algún VirtualHost, cambia la forma de realizarlo. En el fichero httpd.conf, nos vamos casi al final, y localizamos lo siguiente:
Código:
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
Debemos quitar el # de la segunda de las líneas, para que quede así:
Código:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
Ahora abrimos ese fichero, que como puedes ver está en apache2.2/conf/extra/httpd-vhosts.conf, y en él metemos la configuración de nuestros virtualhosts, que es la misma que podéis ver en el manual actualizado.
Espero que os sirva para hacer funcionar Apache 2.2, a mi me ha funcionado
Un saludo