a2enmod módulo
; similarmente, podrá desactivar un módulo ejecutando a2dismod módulo
. En realidad, estos programas sólo crean (o eliminan) enlaces simbólicos en /etc/apache2/mods-enabled/
que apuntan a los archivos en sí (almacenados en /etc/apache2/mods-available/
).
/etc/apache2/ports.conf
) y servirá páginas del directorio /var/www/html/
(según se encuentra configurado en /etc/apache2/sites-enabled/000-default.conf
).
mod_ssl
) necesario para HTTP seguro (HTTPS). Sólo necesita activarlo con a2enmod ssl
y luego agregar las directivas necesarias a los archivos de configuración. Puede encontrar un archivo de configuración de ejemplo en /etc/apache2/sites-available/default-ssl.conf
.
SSLCertificateFile /etc/letsencrypt/live/DOMINIO/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/DOMINIO/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/DOMINIO/chain.pem SSLCACertificateFile /etc/ssl/certs/ca-certificates.crt
mod_gnutls
, which is shipped with the libapache2-mod-gnutls package and enabled with the a2enmod gnutls
command. Unfortunately the version packaged for Debian had serious issues and even security implications and is therefor not part of Debian Stable since the Bullseye release.
/etc/apache2/sites-enabled/000-default.conf
; utilizará este servidor virtual si no se encuentra ningún servidor que coincida con el pedido enviado por el cliente.
/etc/apache2/sites-available/
. La configuración de un sitio web para el dominio falcot.org
es tan simple como crear el siguiente archivo y luego habilitar el servidor virtual con a2ensite www.falcot.org
.
Ejemplo 11.13. El archivo /etc/apache2/sites-available/www.falcot.org.conf
<VirtualHost *:80> ServerName www.falcot.org ServerAlias falcot.org DocumentRoot /srv/www/www.falcot.org </VirtualHost>
CustomLog
en las definiciones de servidores virtuales). Por lo tanto, tiene sentido personalizar el formato de este archivo de registro para incluir el nombre del servidor virtual. Puede hacerlo creando un archivo /etc/apache2/conf-available/customlog.conf
que define un nuevo formato para todos los archivos de registro (con la directiva LogFormat
) y habilitándolo con la orden a2enconf customlog
. También debe eliminar (o comentar) la línea CustomLog
del archivo /etc/apache2/sites-available/000-default.conf
.
Ejemplo 11.14. El archivo /etc/apache2/conf-available/customlog.conf
# Nuevo formato de registro que incluye el nombre del servidor (virtual) LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost # Ahora utilicemos este formato de forma predeterminada CustomLog /var/log/apache2/access.log vhost
Directory
que permiten diferentes comportamientos del servidor dependiendo de la ubicación del archivo que está proveyendo. Tales bloques usualmente incluyen directivas Options
y AllowOverride
.
Ejemplo 11.15. Bloque Directory
<Directory /srv/www> Options Includes FollowSymlinks AllowOverride All DirectoryIndex index.php index.html index.htm </Directory>
DirectoryIndex
contiene una lista de archivos a intentar cuando el pedido del cliente es un directorio. El primer archivo de la lista que exista será utilizado y enviado como respuesta.
Options
debe seguirse de una lista de opciones a activar. El valor None
desactiva todas las opciones; correspondientemente, All
las activa todas excepto MultiViews
. Las opciones disponibles incluyen:
ExecCGI
indica que puede ejecutar scripts CGI.
FollowSymlinks
le dice al servidor que puede seguir los enlaces simbólicos y que la respuesta debe contener el contenido del objetivo de dichos enlaces.
SymlinksIfOwnerMatch
also tells the server to follow symbolic links, but only when the link and its target have the same owner.
Includes
activa inclusiones del lado del servidor (SSI: «Server Side Includes»). Estas directivas se encuentran en las páginas HTML y son ejecutadas en el momento de cada petición.
IncludesNOEXEC
permite inclusiones del lado del servidor (SSI: «Server Side Includes»), pero desabilita la orden exec
y limita la directiva include
a archivos de texto/marcado.
Indexes
le indica al servidor que provea una lista del contenido de los directorios si el pedido HTTP del cliente apunta a un directorio sin un archivo de índice (es decir, que no existe en él ninguno de los archivos enumerados en la directiva DirectoryIndex
).
MultiViews
activa la negociación de contenido; el servidor puede utilizar esto para proveer una página web que utilice el idioma preferido configurado en el navegador.
AllowOverride
enumera todas las opciones que pueden ser activadas o desactivadas en un archivo .htaccess
. Un uso común de esta opción es restringir ExecCGI
para que los administradores puedan elegir los usuarios que podrán ejecutar programas bajo la identidad del servidor web (el usuario www-data
).
mod_auth*
modules.
/etc/apache2/authfiles/htpasswd-private
contiene una lista de usuarios y contraseñas; usualmente lo manipulará con el programa htpasswd
. Por ejemplo, ejecute lo siguiente para agregar un usuario o cambiar su contraseña:
#
htpasswd /etc/apache2/authfiles/htpasswd-private usuario
New password: Re-type new password: Adding password for user usuario
Require
controla las restricciones de acceso a un directorio (y sus subdirectorios de forma recursiva).
Require
combinadas con un bloque RequireAll
.
/etc/awstats/awstats.conf
. Los administradores de Falcot lo mantuvieron sin cambios más que los siguientes parámetros:
LogFile="/var/log/apache2/access.log" LogFormat = "%virtualname %host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot" SiteDomain="www.falcot.com" HostAliases="falcot.com REGEX[^.*\.falcot\.com$]" DNSLookup=1 LoadPlugin="tooltips"
LogFile
y LogFormat
describen la ubicación y el formato del archivo de registros y la información que contiene; SiteDomain
y HostAliases
enumeran los varios nombres con los que se conocerá el sitio web principal.
DNSLookup
como 1
; para sitios más pequeños, como el de Falcot ya descripto, esta configuración permite conseguir reportes más legibles que incluyen nombres completos de equipos en lugar de sólo direcciones IP.
/etc/awstats/awstats.www.falcot.org.conf
.
Ejemplo 11.18. Archivo de configuración de AWStats para un servidor virtual
Include "/etc/awstats/awstats.conf" SiteDomain="www.falcot.org" HostAliases="falcot.org"
/usr/share/awstats/icon/
directory. In order for these icons to be available on the web site, the Apache configuration needs to be adapted to include the following directive (check out /usr/share/doc/awstats/examples/apache.conf
for a more detailed example):
Alias /awstats-icon/ /usr/share/awstats/icon/