O Apache no SUSE Linux pode ser configurado de duas maneiras diferentes: com o YaST ou manualmente. A configuração manual oferece um nível maior de detalhes, mas não tem a conveniência da interface gráfica de usuário do YaST.
![]() | Mudanças de configuração |
|---|---|
As mudanças em quase todos os valores de configuração do Apache somente são efetuadas depois que o Apache é reiniciado ou recarregado. Isso ocorre automaticamente ao usar o YaST e concluir a configuração com a opção selecionada para o . O reinício manual é descrito na Seção 26.3, “Iniciando e parando o Apache”. A maioria das mudanças de configuração somente requerem um recarregamento com rcapache2 | |
A configuração manual do Apache requer a edição dos arquivos de configuração de texto simples como o usuário Root.
Os arquivos de configuração do Apache podem ser encontrados em duas localizações diferentes:
/etc/sysconfig/apache2
/etc/apache2/
O /etc/sysconfig/apache2 controla algumas configurações globais do Apache, como módulos para carregar, arquivos de configuração adicionais para incluir, flags com os quais o servidor deve ser iniciado e flags que devem ser adicionados à linha de comando. Como toda opção de configuração desse arquivo está amplamente documentada, não são citadas aqui. No caso de um servidor Web de finalidade geral, as configurações em /etc/sysconfig/apache2 devem bastar para as necessidades de configuração.
![]() | Nenhum módulo SuSEconfig do Apache |
|---|---|
O módulo SuSEconfig do Apache foi removido do SUSE Linux. Ele deixou de ser necessário para a execução do | |
/etc/apache2/ hospeda todos os arquivos de configuração do Apache. O propósito de cada arquivo é explicado a seguir. Cada um deles inclui várias opções de configuração (também chamadas de diretivas). Como todas as opções de configuração desses arquivos estão amplamente documentadas, não são citadas aqui.
Os arquivos de configuração do Apache são organizados da seguinte maneira:
/etc/apache2/
|
|- charset.conv
|- conf.d/
| |
| |- *.conf
|
|- default-server.conf
|- errors.conf
|- httpd.conf
|- listen.conf
|- magic
|- mime.types
|- mod_*.conf
|- server-tuning.conf
|- ssl-global.conf
|- ssl.*
|- sysconfig.d
| |
| |- global.conf
| |- include.conf
| |- loadmodule.conf . .
|
|- uid.conf
|- vhosts.d
| |- *.conf
Arquivos de configuração do Apache em /etc/apache2/
charset.convEspecifica os conjuntos de caracteres usados para idiomas diferentes. Não editar.
conf.d/*.conf
Arquivos de configuração adicionados por outros módulos. Esses arquivos podem ser incluídos na configuração do host virtual quando necessário. Consulte exemplos em vhosts.d/vhost.template. Com isso, você pode fornecer diferentes conjuntos de módulos para hosts virtuais diferentes.
default-server.confConfiguração global para todos os hosts virtuais com padrões aceitáveis. Em vez de mudar os valores, sobregrave-os com uma configuração de host virtual.
errors.confDefine como o Apache responde a erros. Para personalizar essas mensagens em todos os hosts virtuais, edite esse arquivo. Senão, sobregrave essas diretivas nas configurações do seu host virtual.
httpd.confPrincipal arquivo de configuração do servidor Apache. Evite mudar esse arquivo. Ele contém essencialmente declarações e configurações globais. Sobregrave as configurações globais nos respectivos arquivos de configuração relacionados aqui. Mude as configurações específicas de host (como a raiz de documento) na configuração do host virtual.
listen.confVincula o Apache a endereços IP e portas específicos. A hospedagem virtual baseada em nomes (consulte Seção 26.2.1.2.1, “Hosts virtuais identificados por nome” também é configurada nesse arquivo.
magicDados do módulo mime_magic que ajudam o Apache a determinar automaticamente o tipo MIME de um arquivo desconhecido. Não mudar.
mime.types
Tipos MIME conhecidos pelo sistema (é um link para /etc/mime.types). Não editar. Se for preciso adicionar tipos MIME não relacionados aqui, adicione-os a mod_mime-defaults.conf.
mod_*.conf
Arquivos de configuração dos módulos instalados por padrão. Consulte a Seção 26.4, “Instalando, ativando e configurando módulos” para obter detalhes. Observe que os arquivos de configuração dos módulos opcionais residem no diretório conf.d.
server-tuning.confContém diretivas de configuração para os diferentes MPMs (consulte a Seção 26.4.4, “Módulos de multiprocessamento”), bem como opções de configuração geral que controlam o desempenho do Apache. Teste o servidor Web adequadamente ao fazer mudanças nesse arquivo.
ssl-global.conf e ssl.*Configuração SSL global e dados de certificado SSL. Consulte a Seção 26.6, “Configurando um servidor Web seguro com SSL” para obter detalhes.
sysconfig.d/*.conf
Arquivos de configuração gerados automaticamente de /etc/sysconfig/apache2. Não mude nenhum desses arquivos. De preferência, edite /etc/sysconfig/apache2. Não coloque outros arquivos de configuração nesse diretório.
uid.confEspecifica o usuário e o ID do grupo com que o Apache é executado. Não mudar.
vhosts.d/*.conf
Deverá conter a configuração do seu host virtual. O diretório contém arquivos de modelo para hosts virtuais com e sem SSL. Todos os arquivos deste diretório que terminam com .conf são incluídos automaticamente na configuração do Apache. Consulte Seção 26.2.1.2, “Configuração do host virtual” para obter detalhes.
O termo host virtual refere-se à habilidade do Apache de servir vários URIs (universal resource identifiers) a partir da mesma máquina física. Isso significa que vários domínios, como www.exemplo.com e www.exemplo.net, são executados por um servidor Web único em uma máquina física.
É prática comum usar hosts virtuais para evitar esforços administrativos (somente um servidor Web único precisa ser mantido) e despesas de hardware (não é necessário ter um servidor dedicado para cada domínio). Os hosts virtuais podem ser identificados por nome, IP ou porta.
Os hosts virtuais podem ser configurados através do YaST (consulte Seção 26.2.2.1.4, “Hosts Virtuais”) ou através da edição manual da se um arquivo de configuração. Por padrão, o Apache no SUSE Linux está preparado para um arquivo de configuração por host virtual em /etc/apache2/vhosts.d/. Todos os arquivos deste diretório com a extensão .conf são incluídos automaticamente na configuração. Um modelo básico para um host virtual é fornecido neste diretório (vhost.template ou vhost-ssl.template para um host virtual com suporte SSL).
![]() | Sempre crie uma configuração de host virtual |
|---|---|
É recomendável criar sempre um arquivo de configuração de host virtual, mesmo que o seu servidor Web hospede somente um domínio. Com isso, além de ter a configuração específica de domínio em um arquivo, você poderá sempre retroceder a uma configuração básica de trabalho, bastando mover, apagar ou renomear o arquivo de configuração do host virtual. Pelo mesmo motivo, você também deverá criar arquivos de configuração separados para cada host virtual. | |
O bloco <VirtualHost></VirtualHost> contém as informações que se aplicam a um domínio específico. Quando o Apache recebe uma solicitação de cliente para um host virtual definido, ele usa as diretivas fornecidas nesta seção. Quase todas as diretivas podem ser usadas em um contexto de host virtual. Consulte http://httpd.apache.org/docs/2.0/mod/quickreference.html para obter mais informações sobre as diretivas de configuração do Apache.
No caso de hosts virtuais identificados por nome, cada endereço IP atende mais de um site da Web. O Apache usa o campo host no cabeçalho HTTP enviado pelo cliente para conectar a solicitação a uma entrada ServerName correspondente de uma das declarações do host virtual. Se não for encontrada nenhuma entrada ServerName, o primeiro host virtual especificado será usado como padrão.
A diretiva NameVirtualHost informa o Apache em qual endereço IP e, opcionalmente, em qual porta escutar solicitações de clientes que contêm o nome de domínio no cabeçalho HTTP. Essa opção é definida no arquivo de configuração /etc/apache2/listen.conf.
O primeiro argumento pode ser um nome de domínio completo, mas é recomendável usar o endereço IP. O segundo argumento é a porta (opcional). Por padrão, a porta 80 é usada e configurada através da diretiva Listen.
O curinga * pode ser usado para que o endereço IP e o número da porta recebam solicitações em todas as interfaces. Os endereços IPv6 devem ser colocados entre colchetes.
Exemplo 26.1. Variações de entradas VirtualHost identificadas por nome
# NameVirtualHostEndereço IP[:Porta]NameVirtualHost 192.168.1.100:80 NameVirtualHost 192.168.1.100 NameVirtualHost *:80 NameVirtualHost * NameVirtualHost [2002:c0a8:164::]:80
A tag VirtualHost de abertura usa o endereço IP (ou nome de domínio completo) declarado anteriormente com NameVirtualHost como um argumento na configuração de host virtual identificado por nome. Um número de porta anteriormente declarado com a diretiva NameVirtualHost é opcional.
O curinga * também é permitido como substituto do endereço IP. Esta sintaxe somente é válida quando combinada ao curinga em NameVirtualHost *. Ao usar endereços IPv6, inclua o endereço entre colchetes.
Esta configuração de host virtual alternativa requer a configuração de vários IPs para uma máquina. Uma instância do Apache hospeda vários domínios, a cada qual é atribuído um IP diferente.
O servidor físico deve ter um endereço IP para cada host virtual identificado por IP. Se a máquina não tiver várias placas de rede, interfaces de rede virtuais (álias de IP) também poderão ser usadas.
O seguinte exemplo mostra o Apache em execução em uma máquina com o IP 192.168.0.10, hospedando dois domínios nos IPs adicionais 192.168.0.20 e 192.168.0.30. É necessário um bloco VirtualHost separado para cada servidor virtual.
Exemplo 26.3. Diretivas VirtualHost identificadas por IP
<VirtualHost 192.168.0.20> ... </VirtualHost> <VirtualHost 192.168.0.30> ... </VirtualHost>
Aqui, as diretivas VirtualHost somente são especificadas para interfaces que não sejam 192.168.0.10. Quando uma diretiva Listen também é configurada para 192.168.0.10, é necessário criar um host virtual identificado por IP separado para responder aos pedidos HTTP àquela interface, caso contrário, serão aplicadas as diretivas encontradas na configuração do servidor padrão (/etc/apache2/default-server.conf).
É preciso que pelo menos as diretivas a seguir estejam presentes na configuração de cada host virtual para compor um host virtual. Consulte /etc/apache2/vhosts.d/vhost.template para conhecer mais opções.
ServerNameNome de domínio completo com o qual o host deverá ser intitulado.
DocumentRoot
Caminho para o diretório do qual o Apache deverá atender a arquivos deste host. Por motivos de segurança, é proibido o acesso ao sistema de arquivos inteiro por padrão, por isso, você deve desbloquear explicitamente esse diretório dentro de um container Directory.
ServerAdminEndereço de e-mail do administrador de servidor. Este endereço, por exemplo, é mostrado nas páginas de erro criadas pelo Apache.
ErrorLog
Arquivo de registro de erros deste host virtual. Embora não seja necessário, costuma-se criar arquivos de registro de erros separados para cada host virtual, visto que facilita bastante a depuração de erros. /var/log/apache2/ é o diretório padrão no qual devem ser mantidos os arquivos de registro do Apache.
CustomLog
Arquivo de registro de acessos deste host virtual. Embora não seja necessário, costuma-se criar arquivos de registro de acessos separados para cada host virtual, visto que permite a análise das estatísticas de acesso de cada host individualmente. /var/log/apache2/ é o diretório padrão no qual devem ser mantidos os arquivos de registro do Apache.
Conforme mencionado acima, devido a motivos de segurança, é proibido o acesso ao sistema de arquivos inteiro por padrão. Portanto, desbloqueie explicitamente o diretório DocumentRoot no qual você colocou os arquivos a serem atendidos pelo Apache:
<Directory "/srv/www/example.com_htdocs"> Order allow,deny Allow from all </Directory>
O arquivo de configuração completo tem a seguinte aparência:
Exemplo 26.4. Configuração básica de VirtualHost
<VirtualHost 192.168.0.10>
ServerName www.exemplo.com
DocumentRoot /srv/www/exemplo.com_htdocs
ServerAdmin webmaster@exemplo.com
ErrorLog /var/log/apache2/www.exemplo.com_log
CustomLog /var/log/apache2/www.exemplo.com-access_log common
<Directory "/srv/www/exemplo.com">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Para configurar o servidor Web com o YaST, inicie o YaST e selecione +. Quando o módulo é iniciado pela primeira vez, o Assistente de Servidor HTTP é iniciado, solicitando que você tome algumas decisões básicas em relação à administração do servidor. Após concluir o assistente, a caixa de diálogo em Seção 26.2.2.2, “Configuração de Servidor HTTP” é iniciada toda vez que você chama o módulo .
O Assistente de Servidor HTTP consiste em cinco etapas. Na última etapa da caixa de diálogo, você tem a oportunidade de entrar no modo de configuração de especialista para realizar configurações ainda mais específicas.
Especifique aqui as interfaces e portas de rede usadas pelo Apache para escutar as solicitações recebidas. Você pode selecionar qualquer combinação de interfaces de rede existentes e seus respectivos endereços IP. As portas de todas as três faixas (portas conhecidas, portas registradas e portas dinâmicas ou privadas) que não forem reservadas por outros serviços poderão ser usadas. A configuração padrão é escutar em todas as interfaces de rede (endereços IP) pela porta 80.
Marque para abrir as portas no firewall em que o servidor Web escuta. É necessário disponibilizar um servidor Web na rede, que pode ser uma LAN, uma WAN ou a Internet. Manter a porta fechada é útil somente nas situações de teste em que não é necessário nenhum acesso externo ao servidor Web.
Clique em para continuar a configuração.
A opção de configuração propicia a ativação ou desativação das linguagens de script para as quais o servidor Web deverá ter suporte. Para obter informações sobre a ativação ou desativação de outros módulos, consulte Seção 26.2.2.2.2, “Módulos do Servidor”. Clique em para avançar para a caixa de diálogo seguinte.
Esta opção pertence ao servidor Web padrão. Como explicado na Seção 26.2.1.2, “Configuração do host virtual”, o Apache pode atender a vários hosts virtuais a partir de uma única máquina física. O primeiro host virtual declarado no arquivo de configuração é normalmente conhecido como host padrão. Cada host virtual herda a configuração do host padrão.
Para editar as configurações do host (também chamadas de diretivas), escolha a entrada adequada na tabela e clique em . Para adicionar novas diretivas, clique em . Para apagar uma diretiva, selecione-a e clique em .
Esta é a lista das configurações padrão do servidor:
Raiz de Documento
Caminho para o diretório do qual o Apache atende a arquivos deste host. /srv/www/htdocs é o local padrão.
Alias
Com a ajuda das diretivas Alias, os URLs podem ser mapeados para localizações físicas do sistema de arquivos. Isso significa que determinado caminho mesmo fora da Raiz de Documento no sistema de arquivos pode ser acessado por meio de um URL que serve de álias para esse caminho.
O diretório padrão Alias /icons do SUSE Linux aponta para /usr/share/apache2/icons para os ícones do Apache exibidos na tela de índice de diretório.
ScriptAlias
Semelhante à diretiva Alias, a diretiva ScriptAlias mapeia um URL para a localização do sistema de arquivos. A diferença é que ScriptAlias designa o diretório de destino como localização CGI, significando que os scripts CGI devem ser executados nessa localização.
Diretório
Com a configuração Diretório, você pode incluir um grupo de opções de configuração que se aplicarão somente ao diretório especificado.
As opções de acesso e exibição dos diretórios /usr/share/apache2/icons e /srv/www/cgi-bin são configuradas aqui. Não deverá ser necessário mudar os padrões.
Inclusão
Com a inclusão é possível especificar arquivos de configuração adicionais. /etc/apache2/conf.d/ é o diretório que contém os arquivos de configuração que acompanham os módulos externos. Por padrão, estão incluídos todos os arquivos neste diretório (*.conf). /etc/apache2/conf.d/apache2-manual?conf é o diretório que contém todos os arquivos de configuração apache2-manual.
Nome do Servidor
Especifica o URL padrão usado por clientes para contatar o servidor Web. Use um nome completo de domínio (FQDN) para acessar o servidor Web em http:// ou em seu endereço IP. Não é possível escolher um nome arbitrário aqui; o servidor deverá ser “conhecido” por este nome.
FQDN/
E-Mail do Administrador do ServidorEndereço de e-mail do administrador de servidor. Este endereço, por exemplo, é mostrado nas páginas de erro criadas pelo Apache.
Resolução do Servidor
Esta opção refere-se à Seção 26.2.1.2, “Configuração do host virtual”. permite uma resposta do VirtualHost para uma solicitação a seu nome de servidor (consulte Seção 26.2.1.2.1, “Hosts virtuais identificados por nome”). faz com que o Apache selecione o host solicitado, de acordo com as informações de cabeçalho HTTP enviadas pelo cliente. Consulte Seção 26.2.1.2.2, “Hosts virtuais identificados por IP” para obter mais detalhes sobre hosts virtuais identificados por IP.
Após concluir a etapa do , clique em para continuar a configuração.
Nesta etapa, o assistente exibe uma lista dos hosts virtuais já configurados (consulte Seção 26.2.1.2, “Configuração do host virtual”). Se você não tiver feito mudanças manualmente antes de iniciar o assistente de HTTP do YaST, somente um host virtual estará presente (idêntico ao host padrão configurado na etapa anterior). Ele está marcado como padrão (com um asterisco ao lado do nome do servidor).
Para adicionar um host, clique em para abrir uma caixa de diálogo na qual inserir informações básicas sobre o host. contém o nome do servidor, a raiz do conteúdo do servidor (DocumentRoot) e o e-mail do administrador. é usado para determinar como um host é identificado (por nome ou por IP). Essas opções são explicadas em Seção 26.2.2.1.3, “Host Padrão”.
Clique em para avançar para a segunda parte da caixa de diálogo de configuração do host virtual.
Na parte 2 da configuração do host virtual especifique se os scripts CGI serão habilitados e os diretórios a serem usados para eles. Também é possível habilitar SSL. Para isso, é necessário especificar também o caminho para o certificado. Consulte a Seção 26.6.2, “Configurando o Apache com SSL” para obter detalhes sobre SSL e certificados. Com a opção , você pode especificar o arquivo a exibir quando o cliente solicita um diretório (por padrão, index.html). Adicione um ou mais nomes de arquivos (separados por espaços) se desejar mudar essa definição. Com a opção , o conteúdo dos diretórios públicos dos usuários (~user/public_html/) é disponibilizado no servidor em http://www.example.com/~user.
![]() | Criando hosts virtuais |
|---|---|
Não é possível adicionar hosts virtuais à vontade. Quando se usa hosts virtuais identificados por nome, cada nome de host deverá ser resolvido na rede. No caso de hosts virtuais identificados por IP, você só pode designar um host para cada endereço IP disponível. | |
Esta é a etapa final do assistente. Determine como e quando o servidor Apache deve ser iniciado: durante a inicialização ou manualmente. Consulte também um breve resumo sobre a configuração feita até o momento. Se você estiver satisfeito com as configurações, clique em para concluir a configuração. Para mudar algo, clique em até chegar à caixa de diálogo desejada. Clique em para abrir a caixa de diálogo descrita em Seção 26.2.2.2, “Configuração de Servidor HTTP”.
A caixa de diálogo permite também fazer mais ajustes à configuração do que o assistente (executado somente quando você configura o servidor Web pela primeira vez). Ela consiste em quatro guias descritas a seguir. Nenhuma opção de configuração mudada será efetivada imediatamente — você sempre precisará confirmar as mudanças com para torná-las efetivas. Ao clicar em , você sai do módulo de configuração e descarta suas mudanças.
Em , defina se o Apache deverá estar em execução () ou parado (). Em , , , ou endereços e portas nos quais o servidor deverá estar disponível. O padrão é escutar em todas as interfaces pela porta 80. Sempre marque a opção , senão o servidor Web não poderá ser alcançado do exterior. Manter a porta fechada é útil somente nas situações de teste em que não é necessário nenhum acesso externo ao servidor Web.
Com , observe o registro de acesso ou o registro de erros. Isso é útil para testar a configuração. O arquivo de registro abre uma janela separada, na qual você também pode reiniciar ou recarregar o servidor Web (consulte a Seção 26.3, “Iniciando e parando o Apache” para obter detalhes). Esses comandos são efetivados imediatamente.
Você pode mudar o status (habilitado ou desabilitado) dos módulos do Apache2 clicando em . Clique em para adicionar um novo módulo que já esteja instalado mas não relacionado. Saiba mais sobre módulos na Seção 26.4, “Instalando, ativando e configurando módulos”.
Essas caixas de diálogo são idênticas às que já foram descritas. Consulte Seção 26.2.2.1.3, “Host Padrão” e Seção 26.2.2.1.4, “Hosts Virtuais”.