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
, que vem incluído no pacote libapache2-mod-gnutls e que é iniciado pelo comando a2enmod gnutls
. Infelizmente a versão empacotada para Debian tem sérios problemas e até implicações de segurança e portanto não é mais parte da versão Bullseye.
/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
também diz ao servidor para seguir ligações simbólicas, mas apenas quando a ligação e seu alvo são do mesmo dono.
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*
.
/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/
. Para que esses ícones fiquem disponíveis no site web, a configuração do Apache precisa ser adaptada para incluir as seguintes diretivas (verifique em /usr/share/doc/awstats/examples/apache.conf
para um exemplo mais detalhado):
Alias /awstats-icon/ /usr/share/awstats/icon/