Cambios en Apache

¡Atención!Esta lección comenta detalles del servidor Apache que había en los apuntes y que he eliminado porque ya no son relevantes debido a su antigüedad. Seguramente acabe eliminándolos.

Control de acceso a directorios

¡Atención!Apache 2.2 dejó de mantenerse en diciembre de 2017. Las principales distribuciones de Linux incluyen Apache 2.4 desde hace años: Debian 8.0 (2015), Ubuntu 14.04 y RedHat 7 (2014).

En Apache 2.2. el control de acceso se realizaba mediante las directivas Order, Allow, Deny, and Satisfy. La última versión de XAMPP que incluía Apache 2.2 fue XAMPP 1.7.2 (2009). XAMPP 1.8.0 (2012), que ya incluía Apache 2.4.2, utilizaba todavía las directivas habituales de Apache 2.2 order y deny.

El fichero httpd.conf contenía una directiva Directory general que restringía el acceso general a los directorios utilizando las directivas Order y Deny

# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the "default" to be a very restrictive set of
# features.
#
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

Por eso, cuando el usuario quería permitir el acceso a un directorio (por ejemplo en un alias) debían utilizarse esas mismas directivas. Por ejemplo

<IfModule alias_module>

   Alias /mi-proyecto/mi-carpeta "C:\Users\NombreDeUsuario\Documents\PHP"
   <Directory "C:\Users\NombreDeUsuario\Documents\PHP">
     Options Indexes FollowSymLinks Includes ExecCGI
     AllowOverride All
     Order allow,deny
     Allow from all
   </Directory>

   ScriptAlias /cgi-bin/ "C:/xampp/cgi-bin/"
</IfModule>