ct

    No Debian e derivados


    Nas distribuições derivadas do Debian, a arquitetura modular do Apache é extendida também aos arquivos de configuração. Tradicionalmente, a configuração do Apache é centralizada em um único arquivo, o "httpd.conf", que pode opcionalmente incluir referências a arquivos externos (includes) que permitem segmentar e organizar a configuração. Aproveitando esta possibilidade, a equipe do Debian desenvolveu uma organização bastante prática, que é usada também no Ubuntu e em outras distribuições derivadas dele.

    À primeira vista, a organização do Apache 2 nas distribuições derivadas do Debian parece muito mais complicada, mas, depois de entender, a coisa se revela bastante simples e lógica:

    Todos os arquivos de configuração estão organizados dentro do diretório "/etc/apache2". Dentro dele, temos as pastas "sites-available" e "sites-enabled", que contêm a configuração dos sites hospedados; as pastas "mods-available" e "mods-enabled", que armazenam a configuração dos módulos; o arquivo "ports.conf", onde vai a configuração das portas TCP que o servidor vai escutar; o arquivo "apache2.conf", que armazena configurações diversas relacionadas ao funcionamento do servidor e a pasta "conf.d", que armazena arquivos com configurações adicionais.

    O Apache é capaz de hospedar simultaneamente vários sites, cada um representado por um arquivo de configuração diferente. Imagine o caso de uma empresa de hosting que mantém um servidor com 2.000 pequenos sites. Quando cada cliente registra seu site e assina o plano de hospedagem, você cria um novo arquivo dentro da pasta "sites-available" com as configurações necessárias e um link para ele na pasta "sites-enabled".

    Como os nomes sugerem, a primeira pasta armazena a configuração de todos os sites (virtual hosts) hospedados no servidor, mas apenas os sites que estiverem presentes na pasta "sites-enabled" ficam disponíveis. Quando é necessário suspender temporariamente um site por falta de pagamento, por exemplo, você simplesmente remove o link na pasta "sites-enabled", sem precisar mexer na configuração.

    Ao invés de criar e remover os links manualmente, você pode usar os comandos "a2ensite" e "a2dissite", que fazem isso para você. Para ativar e desativar um site configurado no arquivo "/etc/apache2/sites-available/gdhn", por exemplo, os comandos seriam:

    # a2ensite gdhn
    (ativa)

    # a2dissite gdhn
    (desativa)

    Quando o Apache é instalado, é criado por padrão o arquivo "/etc/apache2/sites-available/default", que contém a configuração de um site "raiz", que usa (por padrão) a pasta "/var/www" como diretório de páginas. Se o seu servidor web vai hospedar um único site, então essa configuração é suficiente, mas, caso você queira hospedar vários sites no mesmo servidor, é necessário criar uma pasta e um arquivo de configuração para cada site adicional.

    Seu servidor pode, por exemplo, hospedar o "joao.com.br" e o "maria.com.br". Um servidor DNS, mantido por você, é configurado para responder pelos dois domínios, em ambos os casos fornecendo o endereço IP do seu servidor web aos clientes. Na configuração do apache, criamos os arquivos "/etc/apache2/sites-available/joao" e "/etc/apache2/sites-available/maria", cada um configurado para utilizar uma pasta diferente. De acordo com sua preferência, podem ser usadas pastas dentro do diretório home de cada usuário, como em "/home/joao/html" e "/home/maria/html", ou subpastas dentro do diretório "/var/www", como em "/var/www/joao" e "/var/www/maria".

    Quando um visitante digita "http://joao.com.br", o servidor do Registro.br (que responde pelos domínios .br) vai passar a requisição para seu servidor DNS, que responde com o endereço do seu servidor web. Ao acessar o servidor, o navegador solicita o site "joao.com.br" e o servidor responde enviando o arquivo "/var/www/joao/index.html" ou "index.php" ao cliente.

    Esta configuração parece bem complicada à primeira vista, mas na prática é relativamente simples. Veremos mais detalhes sobre a configuração de servidores Apache com vários domínios mais adiante.

    Continuando, a mesma idéia das duas pastas separadas se aplica aos módulos. A pasta "mods-available" contém a configuração e scripts de inicialização para todos os módulos disponíveis, mas apenas os módulos referenciados (através de um link) na pasta "mods-enabled" são realmente carregados.

    Muita gente simplesmente cria e deleta os links manualmente, mas isso pode ser feito mais rapidamente usando os comandos "a2enmod" e "a2dismod", que ativam e desativam módulos específicos. Para desativar o suporte a PHP, por exemplo, você usaria o comando:

    # a2dismod php5

    Para ativá-lo novamente, usaria:

    # a2enmod php5

    Uma vez que um determinado módulo é ativado, ele fica automaticamente disponível para todos os sites hospedados no servidor.

    Para que a alteração entre em vigor, é necessário reiniciar o serviço, usando o comando "/etc/init.d/apache2 force-reload" ou o "/etc/init.d/apache2 restart" (no Debian os dois comandos fazem exatamente a mesma coisa):

    # /etc/init.d/apache2 force-reload

    Por outro lado, ao ativar ou desativar sites, ou ao fazer alterações simples na configuração, você pode utilizar o comando "/etc/init.d/apache2 reload" (sem o "force"), que apenas atualiza a configuração, sem reiniciar o serviço:

    # /etc/init.d/apache2 reload

    A vantagem de usar o reload em vez do force-reload é que ele não precisa finalizar os processos do Apache, o que evita que o servidor fique indisponível durante a reinicialização do serviço. Em um servidor movimentado, com um grande volume de sites hospedados e um grande volume de acessos, reiniciar o servidor web é um processo caro, que causa interrupção do serviço e perda de acessos, daí as duas opções.

    Outra configuração que foi desmembrada é a configuração de portas, que foi para o arquivo "ports.conf". Originalmente o arquivo vem com uma única linha:

    Listen 80

    É aqui que você altera a porta padrão do seu servidor ou adiciona novas portas, como faremos mais adiante ao ativar o SSL, por exemplo.

    Você pode também usar portas diferentes caso precise manter mais de um servidor web ativo na mesma máquina (muitos administradores usam este truque para testar novas versões do Apache, ou para combiná-lo com um segundo servidor web, como o lighttpd, configurado para servir arquivos e páginas estáticas). Outro uso comum para a opção é (em casos em que você quer disponibilizar um servidor web doméstico) para burlar as restrições das operadoras de planos de acesso, que geralmente bloqueiam conexões na porta 80, de forma a dificultar o uso de servidores web nas conexões domésticas.

    Para fazer com que seu servidor escute também na porta 443 (a porta do HTTPS) e na porta 8080, por exemplo, você adicionaria duas novas linhas, como em:

    Listen 80
    Listen 443
    Listen 8080

    Finalmente, chegamos ao arquivo "apache2.conf", que agrupa o "resto" das configurações. É ele que você vai alterar quando, por exemplo, precisar ajustar o número de processos usados pelo Apache ou aumentar o número de conexões simultâneas permitidas pelo servidor, como veremos em detalhes mais adiante.



    » Próximo: No CentOS, Fedora e RHEL





    Você está lendo um tópico de demonstração do livro Servidores, Guia Prático:

    Autor: Carlos E. Morimoto
    Páginas: 736
    Formato: 23 x 16 cm
    Editora: GDH Press e Sul Editores
    ISBN: 978-85-99593-13-4
    Lançado em: Agosto de 2008

    » R$ 76,00 + frete
    (Preço nas livrarias: R$ 96)

    » Compre o seu

    Descrição:

    O livro Redes e Servidores Linux - Guia Prático foi nosso primeiro best-seller, vendendo um total de 8.000 exemplares em suas duas edições. O processo de atualização do livro acabou dando origem a dois livros separados. O primeiro deles é o livro Redes - Guia Prático, que aborda detalhes sobre a implantação e configuração de redes, abordando detalhes sobre os padrões de rede, configuração no Windows e Linux, configuração de redes wireless e outros temas.

    O livro Servidores Linux, Guia Prático é o segundo livro da série, que complementa o primeiro, oferecendo uma visão aprofundada sobre a configuração de servidores Linux.

    No livro você aprenderá a configurar tanto servidores de rede local quanto servidores dedicados, incluindo a configuração do Squid, Samba, Apache, SSH, LTSP, Postfix, Iptables, Bind, Quota e outros serviços. O livro inclui também capítulos sobre virtualização e sobre hardware para servidores, que complementam as informações abordadas nos demais.



     


cb
HOME