a2enmod módulo
; para desabilitar um módulo, o comando é a2dismod módulo
. Esses programas na verdade apenas criam (ou apagam) ligações simbólicas em /etc/apache2/mods-enabled/
, que apontam para os arquivos reais (armazenados em /etc/apache2/mods-available/
).
/etc/apache2/ports.conf
), e serve páginas a partir do diretório /var/www/html/
(como configurado em /etc/apache2/sites-enabled/000-default.conf
).
mod_ssl
) necessário para HTTP seguro (HTTPS) "de fábrica". Ele apenas precisa ser habilitado com a2enmod ssl
, e então as diretivas necessárias têm que ser adicionadas aos arquivos de configuração. Um exemplo de configuração é fornecido em /etc/apache2/sites-available/default-ssl.conf
.
SSLCertificateFile /etc/letsencrypt/live/DOMAIN/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/DOMAIN/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/DOMAIN/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 the Debian Bullseye release.
/etc/apache2/sites-enabled/000-default.conf
; esse host virtual será usado se não for encontrado nenhum host que corresponda à solicitação enviada pelo cliente.
/etc/apache2/sites-available/
. Configurar um site web para o domínio falcot.org
é portanto uma simples questão de criar o seguinte arquivo, e então, habilita o host virtual com a2ensite www.falcot.org
.
Exemplo 11.13. o arquivo /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
na definição de hosts virtuais). É, entretanto, boa prática customizar o formato desse arquivo de log para ter incluído o nome do host virtual. Isso pode ser feito criando um arquivo /etc/apache2/conf-available/customlog.conf
, que define um novo formato para todos os arquivos de log (com a diretiva LogFormat
), e habilitando-o com a2enconf customlog
. A linha CustomLog
tem também que ser removida (ou comentada) do arquivo /etc/apache2/sites-available/000-default.conf
.
Directory
; eles permitem especificar diferentes comportamentos para o servidor dependendo da localização do arquivo que está sendo servido. Um bloco desse tipo comumente inclui as diretivas Options
e AllowOverride
.
Exemplo 11.15. Bloco Directory
<Directory /srv/www> Options Includes FollowSymlinks AllowOverride All DirectoryIndex index.php index.html index.htm </Directory>
DirectoryIndex
contém uma lista de arquivos a serem experimentados quando uma requisição do cliente coincide com um diretório. O primeiro arquivo existente da lista é usado e enviado como resposta.
Options
é seguida de uma lista de opções a serem habilitadas. O valor None
desabilita todas as opções; correspondentemente, All
habilita todas elas exceto MultiViews
. As opções disponíveis incluem:
ExecCGI
indica que scripts CGI podem ser executados.
FollowSymlinks
diz ao servidor que ligações simbólicas podem ser seguidas, e que a resposta deve conter o conteúdo do alvo dessas ligações.
SymlinksIfOwnerMatch
also tells the server to follow symbolic links, but only when the link and its target have the same owner.
Includes
habilita Server Side Includes (SSI para abreviar). Essas são diretivas embutidas nas páginas HTML e executadas em tempo de execução para cada requisição.
IncludesNOEXEC
permite inclusões no lado do servidor (SSI: «Server Side Includes»), mas desabilita a ordem exec
e limita a diretiva include
a arquivos de texto/marcado.
Indexes
diz ao servidor para listar o conteúdo de um diretório se a requisição HTTP enviada pelo cliente aponta para um diretório sem um arquivo índex (i.e., quando nenhum arquivo mencionado na diretiva DirectoryIndex
existe nesse diretório).
MultiViews
habilita a negociação de conteúdo; isso pode ser usado pelo servidor para retornar uma página web que coincida com a língua preferida configurada no navegador.
AllowOverride
lista todas as opções que podem ser habilitadas ou desabilitadas pelo arquivo .htaccess
. Um uso comum dessa opção é restringir ExecCGI
, para que o administrador escolha quais usuários tem permissão para rodar programas sob a identidade do servidor web (o usuário www-data
).
mod_auth*
modules.
/etc/apache2/authfiles/htpasswd-private
contém uma lista de usuários e senhas; ele é comumente manipulado com o comando htpasswd
. Por exemplo, o seguinte comando é usado para adicionar um usuário ou alterar a senha:
#
htpasswd /etc/apache2/authfiles/htpasswd-private user
New password: Re-type new password: Adding password for user user
Require
controla as restrições de acesso em um diretório (e seus sub-diretórios, recursivamente).
Require
são combinadas dentro de um bloco RequireAll
.
/etc/awstats/awstats.conf
. O administradores da Falcot o mantiveram inalterado, exceto os seguintes 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
e LogFormat
descrevem a localização e o formato do arquivo de log e a informação que ele contém; SiteDomain
e HostAliases
listam os vários nomes pelos quais o site web principal é conhecido.
DNSLookup
geralmente não deveria ser configurado como 1
; para sites menores, como o da Falcot descrito acima, essa configuração permite ter relatórios mais legíveis, que incluem o nome completo da máquina ao invés de simplesmente endereços IP.
/etc/awstats/awstats.www.falcot.org.conf
.
Exemplo 11.18. Arquivo de configuração dO AWStats para um 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/