Você está na página 1de 16

Servidor Web Apache

Andr Ruiz Marcelo Subtil Maral Roger Freitas Lovato


Conectiva S.A. (http://www.conectiva.com.br) Suporte Rede Conectiva de Servios sup-rcs@conectiva.com.br

ndice
1. Objetivos da Soluo............................................................................................................................................................ 5 2. Caractersticas Tcnicas...................................................................................................................................................... 5 3. Clientes Potenciais ............................................................................................................................................................... 5 4. Cases e Cenrios Tpicos ..................................................................................................................................................... 6 5. Vantagens para o Cliente..................................................................................................................................................... 6 6. Operao e Administrao da Soluo .............................................................................................................................. 6 7. Atualizaes dos Sistemas ................................................................................................................................................... 6 8. Gerenciamento da Soluo.................................................................................................................................................. 7 9. Treinamento.......................................................................................................................................................................... 7 10. Solues Relacionadas ....................................................................................................................................................... 7 11. Metodologia de Implantao............................................................................................................................................. 8 12. Requisitos de Tempo e Recursos Humanos ..................................................................................................................... 8 13. Anlise Tcnica................................................................................................................................................................... 8 14. Implantao ........................................................................................................................................................................ 9 15. Documentao .................................................................................................................................................................. 15 16. Referncias........................................................................................................................................................................ 15

Informaes Gerais
Este documento descreve a soluo Servidor Web Apache, apresentando seus conceitos bsicos, objetivos, clientes potenciais, aspectos comerciais, e aspectos tcnicos de planejamento e/ou implantao. Criado por Marcelo Subtil Maral e Roger Freitas Lovato, e revisado por Andr Ruiz, com base na documentao do Apache (software usado nesta soluo). Este documento pode ser encontrado online no site da Diretoria de Servios (http://dir-serv.conectiva) Comentrios sobre este documento devem ser enviados para a equipe de Suporte RCS (mailto:sup-rcs@conectiva.com.br). Este documento de uso interno da Conectiva S.A. (http://www.conectiva.com.br) e da Rede Conectiva de Servios (RCS). A equipe de Suporte RCS responsvel pelas atualizaes deste documento. As sugestes e crticas devem ser enviadas diretamente para a equipe de Suporte RCS (mailto:sup-rcs@conectiva.com.br). Agradecimentos a todos do suporte corporativo da Conectiva Linux por ter ajudado em testes e revisado este documento.

1. Objetivos da Soluo
Esta soluo trata da congurao e implantao de um servidor web fazendo uso do software Apache, que segundo a empresa inglesa de consultoria Internet Netcraft (http://www.netcraft.com), em dezembro de 2000, 59,69% dos sites na Internet utilizam esse servidor.

2. Caractersticas Tcnicas
O pacote do Apache distribuido pela Conectiva Linux j vem congurado para funcionar da forma mais padro possvel. Para funes mais avanadas o administrador dever alterar os arquivos de conguraes manualmente. Dentre as vrias caractersticas do servidor Web Apache, pode-se destacar:

Fcil implantao e administrao; Permite criar sites usando domnios virtuais; Permite criar de sites dinmicos usando CGIs ou linguagens como PHP; Permite criar sites protegidos por senhas; Alto nvel de customizao e conabilidade; Implementao para pginas wap;

3. Clientes Potenciais
Clientes potenciais para essa soluo so os provedores de acesso e servios Internet, pois para essas empresas uma homepage fundamental, onde tambm poder ser possvel comercializar hospedagem de homepage para seus clientes. Essa soluo tambm pode ser aplicada em empresas onde a comunicao interna de informaes e imagens necessria. A empresa poder adotar essa soluo elaborando uma homepage para sua intranet com quadro de avisos, informaes teis, listas de remais, funcionrios, enm, informaes importantes e de interesse de todos da empresa, e muito mais, cando apenas a cargo da imaginao do cliente.

4. Cases e Cenrios Tpicos


Tomando como base um provedor de acesso e servios Internet, essa soluo poder ser aplicada facilmente intalando o servidor Apache em um servidor Conectiva Linux e congurando-o conforme a necessidade como por exemplo, grande quantidade de domnios virtuais, habilitar linguagem perl, php3/4, wap e outros. A Conectiva tem tido importante atuao no mercado corporativo, e uma lista de cases sobre esta e outras solues pode ser encontrada no pgina de cases (http://www.conectiva.com.br/cases/) da Conectiva. Seguindo a idia da necessidade de existir uma relao de todos os cases Conectiva, imprescindvel que propostas comerciais e contratos contenham os termos de Autorizao para Divulgao do Case, bem como o Certicado de Qualidade na Prestao de Servios. Estes documentos so essenciais como argumentos de venda em negociaes com clientes.

5. Vantagens para o Cliente


Alm das informaes citadas anteriormente, o cliente que adotar essa soluo ter a vantagem que por um baixo custo ter um servidor web dinmico, eciente e extremamente convel.

6. Operao e Administrao da Soluo


Existem duas formas bsicas de operar e administrar o servidor Web Apache: atravs do linuxconf e atravs de edio dos arquivos textos de conguraes, onde o administrador ter um melhor controle da soluo. Para administrar essa soluo exigido um administrador com conhecimentos bsicos de operao do Conectiva Linux.

7. Atualizaes dos Sistemas


Como qualquer outro software, muito importante fazer atualizaes do Apache quando uma nova verso estiver diponvel, pois dessa forma, o cliente ter sempre uma soluo mais segura e com os ltimos bugs corrigidos. Para fazer a atualizao do Apache, basta atualizar seu pacote RPM, suas dependncias e seus mdulos, e depois vericar se a congurao continua correta (ela pode ter sido renomeada para .rpmsave na hora do upgrade ou o novo arquivo pode ser incompatvel com o antigo, exigindo que se altere manualmente-o ao invs de copiar o antigo sobre ele). Tambm poder ser atualizado automaticamente atravs da nova tecnologia apt disponvel no Conectiva Linux a partir da vero 6.0, conforme descrito na soluo de servidor bsico.

8. Gerenciamento da Soluo
O Apache gerenciado atravs dos logs de acessos e erros localizados no diretrio /var/log/httpd. Existem diversas ferramentas para analisarem esses logs, e dentre elas, pode-se destacar o webalizer, que uma ferramenta acessada via web e presente no Conectiva Linux, que exibe informaes sobre acessos, relatrios e estatsticas com grcos de todos os acessos ao servidor web Apache. A inteno a de que esta ferramenta faa parte desta soluo, como um mdulo adicional de gerenciamento, que o cliente poder fazer opo. Este mdulo ainda no est documentado.

9. Treinamento
O treinamento ideal para quem for lidar com esta soluo denominado "Treinamento Prossional - Servios de rede e segurana", e est disponvel nos treinamentos padres fornecidos pelos Centros de Treinamento credenciados.

10. Solues Relacionadas


As seguintes solues podem ter relao direta ou indireta com esta, e podem ser vendidas em conjunto:

RCS-SOL-1.1. Instalao do Servidor Conectiva Linux Base do sistema operacional. A soluo de WebServer contempla apenas as modicaes no sistema para se adequar a esta terefa. necessrio que o sistema j esteja instalado, e esta soluo cuida disso.

RCS-SOL-1.4. Implantao do Servio de Resoluo de Nomes DNS Esta soluo bsica em quase todos os projetos e clientes. Ela no necessria diretamente pelo WebServer, mas a rede de computadores onde o WebServer estar. Ele relevante aqui, porque nele que sero cadastrados os nomes de hosts virtuais.

RCS-SOL-4.2. Planejamento e Implantao de Servios com Alta Disponibilidade A soluo de WebServer pode ter sua disponibilidade padro melhorada com o auxlio da soluo de Alta Disponibilidade 7

da Conectiva. Veja no captulo especco as particularidades desta soluo em relao alta disponibilidade.

RCS-SOL-2.2. Planejamento e Implantao de Firewall Pode ser utilizada em conjunto para se ter controle dos acessos ao WebServer, assim como prevenir acessos no autorizados a hosts virtuais que estejam rodando em reas protegidas.

11. Metodologia de Implantao


Para implantar essa soluo, ser necessrio seguir os seguinte passos: 1. Caso o equipamento seja novo e seja usado apenas para esta nalidade, decidir qual o hardware ser usado. Fazer testes com o equipamento, como testes de memria e disco rgido, e instalar o sistema operacional. Tudo isto est descrito na soluo de Servidor Bsico; 2. Instalar os pacotes do apache; 3. Congurar o apache; 4. Realizar os testes;

12. Requisitos de Tempo e Recursos Humanos


Etapa 1 2 3 4 Tempo estimado Indeterminado 10 min 30 min. (bsico) 20 min. Recursos Humanos Consultar Sol. Pertinente um tcnico junior um tcnico junior um tcnico junior

13. Anlise Tcnica


H necessidade de fazer uma boa anlise sobre o uso do servidor, pois fatores como espao em disco para os arquivos HTML e logs, podem limitar o servidor web. Tambm ser muito importante acompanhar a quantidade de hits (acessos), pois poder ser necessrio um equipamento com mais recursos como processador e memria RAM.

13.1. Levantamento de Pr-Requisitos


ter o Conectiva Linux instalado, congurado e funcionando corretamente; um tcnico junior (do cliente) para administrar a soluo, que acompanhe a instalao para se familiarizar com o ambiente;

13.2. Atividades de Planejamento


Alocar um ou mais endereos de IP para o computador usado para servidor web; Preparar o DNS para responder por www.dominio ou outro nome que se queira dar ao servidor publicamente;

14. Implantao
A implantao da soluo descrita nesse documento requer a ltima verso do Apache distribuida com o Conectiva Linux 6.0, localizado no CD 1, podendo tambm servir de base para verses anteriores. Quando esse documento foi escrito, a verso distribuda pela Conectiva, era a verso 1.3.14-6cl. Para saber se existe alguma verso mais nova, visite a pgina de atualizaes (atualizacoes.conectiva.com.br) da Conectiva.

14.1. Procedimentos de Instalao e Congurao.


O Servidor Web Apache distribudo pela Conectiva Linux na forma de pacotes RPM divididos em trs pacotes: Pacote apache-1.3.14-6cl.i386.rpm apache-devel-1.3.14-6cl.i386.rpm Descrio Servidor Apache compilado com o suporte a SSL Pacote que contm os arquivos de incluso para o Apache, bem como o utilitrio apxs para a construo de objetos compartilhados dinmicos (DSOs). Este pacote precisa ser instalado se for desejado compilar ou desenvolver mdulos adicionais para o Apache. Documentao em HTML para o apache e alguns exemplos para o php3.

apache-doc-1.3.14-6cl.i386.rpm

Instalao dos pacotes do servidor Web Apache.

Levando em conta que o CD 1 do Conectiva Linux 6.0 esteja montado no diretrio /mnt/cdrom, acesse o diretrio dos arquivos RPMs da distribuio e execute o comando RPM para instalar os pacotes necessrios. # cd /mnt/cdrom/conectiva/RPMS # rpm -Uvh apache-*.rpm Preparing... ########################################### 1:apache ########################################### 2:apache-devel ########################################### 3:apache-doc ###########################################

[100%] [ 33%] [ 66%] [100%]

Os pacotes apache-devel e apache-doc so opcionais para esta soluo, mas se for necessrio a instalao de novos mdulos recomendvel que o pacote apache-devel seja instalado. Congurao do servidor Web Apache. Aps a instalao do Apache, criado o diretrio /etc/httpd que contm um subdiretrio conf e dois links simblicos logs e modules. O link simblico log aponta para o diretrio /var/log/httpd, que o diretrio padro onde so gravados os logs do Apache. O link simblico modules aponta para o diretrio /usr/lib/apache, onde esto localizados todos os mdulos padro do Apache. No diretrio conf cam os arquivos de congurao do Apache, so eles: access.conf , srm.conf e httpd.conf . Por motivos de organizao o contedo dos arquivos access.conf e srm.conf foi colocado no arquivo httpd.conf, pois dessa forma, toda a congurao do Apache ca em apenas um lugar. Essa diviso de arquivos de congurao uma herana do NCSA httpd, no qual o Apache foi baseado. Em todas alteraes no arquivo de congurao do Apache, ser necessrio reiniciar o servio. service httpd restart Dentre vrias conguraes diponveis no arquivo /etc/httpd/conf/httpd.conf , iremos destacar apenas as principais: ServerAdmin. Email do administrador ServerAdmin webmaster@dominio.com.br ServerName. Nome do servidor web. Esse nome deve estar contindo no DNS. ServerName www.dominio.com.br DocumentRoot. Diretrio onde os arquivos HTML estaro localizados.

10

DocumentRoot "/home/httpd/html" DirectoryIndex. Especica o nome principal do arquivo do diretrio e que ser aberto automaticamente quando algum acessar a pgina. DirectoryIndex index.html index.htm index.cgi index.shtml index.php index.php3 index.wml default.html default.htm StartServers. Quantidade inicial de servidores que ser aberto ao iniciar o Apache. StartServers 10 MaxClients. Quantidade mxima de servidores que pode ser aberto, ou seja, limita o nmero de clientes conectados simultaneamente. MaxClients 150 Port. Dene a porta em que o servidor apache estar ouvindo. Port 80 UserDir. Subdiretrio no home do usurio que ser usado para hospedar pginas. O acesso a esse diretrio ser http://www.domininio.com.br/~user. UserDir public_html <Directory /*/public_html> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS PROPFIND> Order allow,deny Allow from all </Limit> <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK> Order deny,allow Deny from all </Limit> </Directory>

11

HostnameLookups. Loga os acessos como nomes dos hosts (mais lento) ou como endereos IPs. HostnameLookups Off Domnios virtuais. Hospedagem de pginas em Domnios Virtuais um recurso muito til disponvel no Apache, atravs dele, pode-se usar vrios domnios com homepages em apenas um servidor web. A congurao de domnios virtuais esto delimitadas nos tags de congurao <VirtualHost> ... </VirtualHost>, mas primeiramente, ser necessrio adicionar um IP atribudo para os domnios virtuais atravs do parmetro NameVirtualHost. NameVirtualHost 192.168.0.100 <VirtualHost 192.168.0.100> ServerName www.dominio1.com.br ServerAdmin fulano@dominio1.com.br DocumentRoot /vhost/dominio1.com.br/html ScriptAlias /cgi-bin/ /vhost/dominio1.com.br/cgi-bin/ CustomLog /vhost/dominio1.com.br/logs/access_log common ErrorLog /vhost/dominio1.com.br/logs/error_log </VirtualHost> <VirtualHost 192.168.0.100> ServerName www.dominio2.com.br ServerAdmin fulano@dominio2.com.br DocumentRoot /vhost/dominio2.com.br/html ScriptAlias /cgi-bin/ /vhost/dominio2.com.br/cgi-bin/ CustomLog /vhost/dominio2.com.br/logs/access_log common ErrorLog /vhost/dominio2.com.br/logs/error_log </VirtualHost>

No exemplo acima, ser usado apenas um IP para todos os domnios virtuais. Caso queira utilizar um IP para cada domnio (no muito usado), deve-se comentar a entrada NameVirtualHost e colocar o IP desejado para cada VirtualHost congurado.

Ser necessrio criar os seguintes diretrios: /vhost/<nome_do_dominio>/html /vhost/<nome_do_dominio>/cgi-bin /vhost/<nome_do_dominio>/logs Onde <nome_do_dominio> corresponde aos domnios virtuais congurados. 12

Quando o IP denido em NameVirtualHost for o mesmo do domnio principal, o mesmo tambm dever ser denido como VirtualHost.

Domnios Virtuais em Massa. Caso o objetivo do servidor Web seja lidar com uma grande quantidade de domnios virtuais, o exemplo acima alm de ser muito trabalhoso, o arquivo de congurao car muito grande acarretando na perda de velocidade no carregamento do servidor. Para que isso no acontea, pode-se utilizar o recurso de Domnios Virtuais em Massa, porm esse recurso no permite que cada domnio tenha seu log separado no permitindo que analizadores de estatsticas, como por exemplo o webalizer, faa estatsticas de cada domnio. Por outro lado, a facilidade da administrao resume apenas na congurao do DNS. Inicialmente necessrio carregar e habilitar o mdulo mod_vhost_alias editando o arquivo de congurao do Apache (/etc/httpd/conf/httpd.conf ) adicionando respectivamente aps o ltimo parmetro LoadModule e AddModule: LoadModule vhost_alias_module modules/mod_vhost_alias.so AddModule mod_vhost_alias.c Modique o parmetro UseCanonicalName para Off . UseCanonicalName Off Para uma melhor organizao, ser necessrio criar um log comum para os domnios virtuais, adicionando a linha abaixo: LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon Dena um IP para ser usado pelos domnios virtuais: NameVirtualHost 192.168.0.100 Adcione a congurao para domnios virtuais em massa: <VirtualHost 192.168.0.100> VirtualDocumentRoot /vdomains/%0/html VirtualScriptAlias /vdomains/%0/cgi-bin CustomLog logs/access_log.vhost vcommon </VirtualHost> Reinicie o Apache: service httpd restart Para cada novo domnio virtual, ser necessrio criar entradas no DNS, bem como suas conguraes particulares (consulte o documento 1.4. Implantao do Servio de Resoluo de Nomes DNS) e criar os seguintes diretrios para cada domnio: /vdomains

13

/vdomains/www.dominio.com.br /vdomains/www.dominio.com.br/html /vdomains/www.dominio.com.br/cgi-bin No h necessidade de reiniciar o Apache para cada domnio virtual criado. Congurao do servidor Web Apache atravs do Linuxconf. Para congurar o Apache atravs do linuxconf, primeiramente ser necessrio vericar se o mdulo de congurao est ativado. Para isso, acesse a opo: Arquivos de controle e sistemas > Congurar mdulos do Linuxconf Selecione a opo "Congurao do servidor HTTP apache" Volte para o menu principal e acesse a opo: Ambiente de rede > Apache - servidor www Neste momento, ser apresentado o seguinte menu:

Onde:

Padres: permite alterar conguraes bsicas, como por exemplo o email do administrador, o endereo IP do domnio, etc; Domnios Virtuais: permite cadastrar, alterar e excluir domnios virtuais; Especicao de subdiretrios: permite acrescentar, atualizar e modicar vrias regras de diretrio individualmente, como por exemplo controlar acessos; Especicaes dos arquivos: permite acrescentar, atualizar e modicar vrias regras de arquivos individualmente, como por exemplo controlar acessos; Arqvs. coincidem com especicaes: parecido com a opo Especicaes dos arquivos, porm permite expresses regulares; Mdulos: permite acrescentar ou retirar mdulos que sero carregados pelo Apache; Performance: permite congurar quantos servidores sero inciados, quantos clientes podem conectar ao servidor Web e outros; Congurao do mod_ssl: permite fazer congurao do mdulo SSL (pginas seguras);

Todas as opes da congurao do servidor Web Apache no Linuxconf esto claras e fcil de entender. Em caso de dvidas, basta consultar o help disponvel.

14

14.2. Testes Ps-Instalao


Para testar a soluo, primeiramente h necessidade de que o DNS esteja funcionando corretamente fazendo os testes descritos na soluo correspondente, e depois abrir um browser em qualquer ponto da rede e acessar o domnio principal, bem como os domnios virtuais. Se a soluo estiver funcionando corretamente, um documento html ser aberto, caso contrrio, uma mensagem de erro ser apresentada.

14.3. Backup de Conguraes


Para backup desta soluo, necessrio apenas fazer uma cpia de segurana de todos os arquivos de congurao localizados no diretrio /etc/httpd/conf . Tambm muito importante fazer backup periodicamente de todos os arquivos html do domnio principal e virtuais, bem como dos usurios. Para isso pode ser necessrio consultar a soluo de Planejamento e Implantao do Servio de Backup (1.5).

15. Documentao
Para documentao, necessrio apenas recolher os seguintes dados:

IP alocado para o servidor Web; nome do dominio principal; nome de todos os domnios virtuais cadastrados; anotar quais usurios possuem homepage em seu home. Isso pode ser til para controlar espao em disco;

16. Referncias
Este texto foi baseado na documentao e howto do Apache disponveis nos seguintes endereos: http://www.apache.org/docs-1.2/index.html http://www.apache.org/docs/misc/howto.html

15

16

Você também pode gostar