Ver Mensaje Individual
  #7 (permalink)  
Antiguo 10/01/2007, 15:14
Avatar de ferny
ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 10 meses
Puntos: 55
Re: Error al abrir un archivo php

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:
  1. 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.

  2. 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>
    
  3. 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
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.