Anda di halaman 1dari 43

Apache 2

Verso 1.0.0

Sumrio
I Sobre essa Apostila 3 5 10 19
20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 21 21 21 21 21 21 22 22 23 24 24 24 25 26 27 27 27 28 29 29 31 31 31 32

II Informaes Bsicas III GNU Free Documentation License IV Apache 2

1 O que o Apache 2 2 Plano de ensino 2.1 Objetivo . . . 2.2 Pblico Alvo . 2.3 Pr-requisitos 2.4 Descrio . . 2.5 Metodologia . 2.6 Cronograma 2.7 Programa . . 2.8 Avaliao . . 2.9 Bibliograa . . . . . . . . . .

3 Introduo 3.0.1 Uma introduo ao Apache . . . . . . . . . . . . 3.0.2 Principais melhorias . . . . . . . . . . . . . . . . 3.0.3 Melhorias nos mdulos . . . . . . . . . . . . . . 3.1 Instalao . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Utilitrios . . . . . . . . . . . . . . . . . . . . . . 3.2 Congurao . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Arquivos de congurao . . . . . . . . . . . . . 3.2.2 Iniciando, reiniciando e recarregando o servidor 3.2.3 Adicionando uma pgina no servidor . . . . . . . 3.2.4 O arquivo .htaccess . . . . . . . . . . . . . . . . 3.2.5 Denindo documentos de erros personalizados . 3.3 Restries de acesso . . . . . . . . . . . . . . . . . . . 3.3.1 Introduo . . . . . . . . . . . . . . . . . . . . . 3.3.2 Autorizao . . . . . . . . . . . . . . . . . . . . . 1

CDTC

Centro de Difuso de Tecnologia e Conhecimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Brasil/DF . . . . . . . . . . . . . . . . . . 35 39 39 39 40 41

3.3.3 Autenticao . . . . . . . . . . . 3.4 Arquivos de log . . . . . . . . . . . . . . 3.5 Virtual Hosts . . . . . . . . . . . . . . . 3.5.1 Introduo . . . . . . . . . . . . 3.5.2 Virtual hosts baseados em IP . . 3.5.3 Virtual hosts baseados em nome

Parte I

Sobre essa Apostila

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

Contedo
O contedo dessa apostila fruto da compilao de diversos materiais livres publicados na internet, disponveis em diversos sites ou originalmente produzido no CDTC (http://www.cdtc.org.br.) O formato original deste material bem como sua atualizao est disponvel dentro da licena GNU Free Documentation License, cujo teor integral encontra-se aqui reproduzido na seo de mesmo nome, tendo inclusive uma verso traduzida (no ocial). A reviso e alterao vem sendo realizada pelo CDTC (suporte@cdtc.org.br) desde outubro de 2006. Crticas e sugestes construtivas sero bem-vindas a qualquer hora.

Autores
A autoria deste de responsabilidade de Waldemar Silva Jnior (waldemar@cdtc.org.br). O texto original faz parte do projeto Centro de Difuso de Tecnologia e Conhecimento que vm sendo realizado pelo ITI (Instituto Nacional de Tecnologia da Informao) em conjunto com outros parceiros institucionais, e com as universidades federais brasileiras que tem produzido e utilizado Software Livre apoiando inclusive a comunidade Free Software junto a outras entidades no pas. Informaes adicionais podem ser obtidas atravs do email ouvidoria@cdtc.org.br, ou da home page da entidade, atravs da URL http://www.cdtc.org.br.

Garantias
O material contido nesta apostila isento de garantias e o seu uso de inteira responsabilidade do usurio/leitor. Os autores, bem como o ITI e seus parceiros, no se responsabilizam direta ou indiretamente por qualquer prejuzo oriundo da utilizao do material aqui contido.

Licena
Copyright 2006, Instituto Nacional de Tecnologia da Informao (cdtc@iti.gov.br) . Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Chapter being SOBRE ESSA APOSTILA. A copy of the license is included in the section entitled GNU Free Documentation License.

Parte II

Informaes Bsicas

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

Sobre o CDTC
Objetivo Geral O Projeto CDTC visa a promoo e o desenvolvimento de aes que incentivem a disseminao de solues que utilizem padres abertos e no proprietrios de tecnologia, em proveito do desenvolvimento social, cultural, poltico, tecnolgico e econmico da sociedade brasileira. Objetivo Especco Auxiliar o Governo Federal na implantao do plano nacional de software no-proprietrio e de cdigo fonte aberto, identicando e mobilizando grupos de formadores de opinio dentre os servidores pblicos e agentes polticos da Unio Federal, estimulando e incentivando o mercado nacional a adotar novos modelos de negcio da tecnologia da informao e de novos negcios de comunicao com base em software no-proprietrio e de cdigo fonte aberto, oferecendo treinamento especco para tcnicos, prossionais de suporte e funcionrios pblicos usurios, criando grupos de funcionrios pblicos que iro treinar outros funcionrios pblicos e atuar como incentivadores e defensores dos produtos de software no proprietrios e cdigo fonte aberto, oferecendo contedo tcnico on-line para servios de suporte, ferramentas para desenvolvimento de produtos de software no proprietrios e do seu cdigo fonte livre, articulando redes de terceiros (dentro e fora do governo) fornecedoras de educao, pesquisa, desenvolvimento e teste de produtos de software livre.

Guia do aluno
Neste guia, voc ter reunidas uma srie de informaes importantes para que voc comece seu curso. So elas: Licenas para cpia de material disponvel; Os 10 mandamentos do aluno de Educao a Distncia; Como participar dos foruns e da wikipdia; Primeiros passos. muito importante que voc entre em contato com TODAS estas informaes, seguindo o roteiro acima.

Licena
Copyright 2006, Instituto Nacional de Tecnologia da Informao (cdtc@iti.gov.br). 6

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

dada permisso para copiar, distribuir e/ou modicar este documento sob os termos da Licena de Documentao Livre GNU, Verso 1.1 ou qualquer verso posterior pblicada pela Free Software Foundation; com o Capitulo Invariante SOBRE ESSA APOSTILA. Uma cpia da licena est inclusa na seo entitulada "Licena de Documentao Livre GNU".

Os 10 mandamentos do aluno de educao online

1. Acesso Internet: ter endereo eletrnico, um provedor e um equipamento adequado pr-requisito para a participao nos cursos a distncia; 2. Habilidade e disposio para operar programas: ter conhecimentos bsicos de Informtica necessrio para poder executar as tarefas; 3. Vontade para aprender colaborativamente: interagir, ser participativo no ensino a distncia conta muitos pontos, pois ir colaborar para o processo ensino-aprendizagem pessoal, dos colegas e dos professores; 4. Comportamentos compatveis com a etiqueta: mostrar-se interessado em conhecer seus colegas de turma respeitando-os e se fazendo ser respeitado pelos mesmos; 5. Organizao pessoal: planejar e organizar tudo fundamental para facilitar a sua reviso e a sua recuperao de materiais; 6. Vontade para realizar as atividades no tempo correto: anotar todas as suas obrigaes e realiz-las em tempo real; 7. Curiosidade e abertura para inovaes: aceitar novas idias e inovar sempre; 8. Flexibilidade e adaptao: requisitos necessrio mudana tecnolgica, aprendizagens e descobertas; 9. Objetividade em sua comunicao: comunicar-se de forma clara, breve e transparente ponto - chave na comunicao pela Internet; 10. Responsabilidade: ser responsvel por seu prprio aprendizado. O ambiente virtual no controla a sua dedicao, mas reete os resultados do seu esforo e da sua colaborao.

Como participar dos fruns e Wikipdia


Voc tem um problema e precisa de ajuda? Podemos te ajudar de 2 formas: A primeira o uso dos fruns de notcias e de dvidas gerais que se distinguem pelo uso: . O frum de notcias tem por objetivo disponibilizar um meio de acesso rpido a informaes que sejam pertinentes ao curso (avisos, notcias). As mensagens postadas nele so enviadas a 7

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

todos participantes. Assim, se o monitor ou algum outro participante tiver uma informao que interesse ao grupo, favor post-la aqui. Porm, se o que voc deseja resolver alguma dvida ou discutir algum tpico especco do curso. recomendado que voc faa uso do Frum de dvidas gerais que lhe d recursos mais efetivos para esta prtica. . O frum de dvidas gerais tem por objetivo disponibilizar um meio fcil, rpido e interativo para solucionar suas dvidas e trocar experincias. As mensagens postadas nele so enviadas a todos participantes do curso. Assim, ca muito mais fcil obter respostas, j que todos podem ajudar. Se voc receber uma mensagem com algum tpico que saiba responder, no se preocupe com a formalizao ou a gramtica. Responda! E no se esquea de que antes de abrir um novo tpico recomendvel ver se a sua pergunta j foi feita por outro participante. A segunda forma se d pelas Wikis: . Uma wiki uma pgina web que pode ser editada colaborativamente, ou seja, qualquer participante pode inserir, editar, apagar textos. As verses antigas vo sendo arquivadas e podem ser recuperadas a qualquer momento que um dos participantes o desejar. Assim, ela oferece um timo suporte a processos de aprendizagem colaborativa. A maior wiki na web o site "Wikipdia", uma experincia grandiosa de construo de uma enciclopdia de forma colaborativa, por pessoas de todas as partes do mundo. Acesse-a em portugus pelos links: Pgina principal da Wiki - http://pt.wikipedia.org/wiki/ Agradecemos antecipadamente a sua colaborao com a aprendizagem do grupo!

Primeiros Passos
Para uma melhor aprendizagem recomendvel que voc siga os seguintes passos: Ler o Plano de Ensino e entender a que seu curso se dispe a ensinar; Ler a Ambientao do Moodle para aprender a navegar neste ambiente e se utilizar das ferramentas bsicas do mesmo; Entrar nas lies seguindo a seqncia descrita no Plano de Ensino; Qualquer dvida, reporte ao Frum de Dvidas Gerais.

Perl do Tutor
Segue-se uma descrio do tutor ideal, baseada no feedback de alunos e de tutores. O tutor ideal um modelo de excelncia: consistente, justo e prossional nos respectivos valores e atitudes, incentiva mas honesto, imparcial, amvel, positivo, respeitador, aceita as idias dos estudantes, paciente, pessoal, tolerante, apreciativo, compreensivo e pronto a ajudar. 8

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

A classicao por um tutor desta natureza proporciona o melhor feedback possvel, crucial, e, para a maior parte dos alunos, constitui o ponto central do processo de aprendizagem. Este tutor ou instrutor: fornece explicaes claras acerca do que ele espera e do estilo de classicao que ir utilizar; gosta que lhe faam perguntas adicionais; identica as nossas falhas, mas corrige-as amavelmente, diz um estudante, e explica porque motivo a classicao foi ou no foi atribuda; tece comentrios completos e construtivos, mas de forma agradvel (em contraste com um reparo de um estudante: os comentrios deixam-nos com uma sensao de crtica, de ameaa e de nervossismo) d uma ajuda complementar para encorajar um estudante em diculdade; esclarece pontos que no foram entendidos, ou corretamente aprendidos anteriormente; ajuda o estudante a alcanar os seus objetivos; exvel quando necessrio; mostra um interesse genuno em motivar os alunos (mesmo os principiantes e, por isso, talvez numa fase menos interessante para o tutor); escreve todas as correes de forma legvel e com um nvel de pormenorizao adequado; acima de tudo, devolve os trabalhos rapidamente;

Parte III

GNU Free Documentation License

10

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

(Traduzido pelo Joo S. O. Bueno atravs do CIPSGA em 2001) Esta uma traduo no ocial da Licena de Documentao Livre GNU em Portugus Brasileiro. Ela no publicada pela Free Software Foundation, e no se aplica legalmente a distribuio de textos que usem a GFDL - apenas o texto original em Ingls da GNU FDL faz isso. Entretanto, ns esperamos que esta traduo ajude falantes de portugus a entenderem melhor a GFDL. This is an unofcial translation of the GNU General Documentation License into Brazilian Portuguese. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GFDLonly the original English text of the GFDL does that. However, we hope that this translation will help Portuguese speakers understand the GFDL better. Licena de Documentao Livre GNU Verso 1.1, Maro de 2000 Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA permitido a qualquer um copiar e distribuir cpias exatas deste documento de licena, mas no permitido alter-lo.

INTRODUO
O propsito desta Licena deixar um manual, livro-texto ou outro documento escrito "livre"no sentido de liberdade: assegurar a qualquer um a efetiva liberdade de copi-lo ou redistribui-lo, com ou sem modicaes, comercialmente ou no. Secundariamente, esta Licena mantm para o autor e editor uma forma de ter crdito por seu trabalho, sem ser considerado responsvel pelas modicaes feitas por terceiros. Esta Licena um tipo de "copyleft"("direitos revertidos"), o que signica que derivaes do documento precisam ser livres no mesmo sentido. Ela complementa a GNU Licena Pblica Geral (GNU GPL), que um copyleft para software livre. Ns zemos esta Licena para que seja usada em manuais de software livre, por que software livre precisa de documentao livre: um programa livre deve ser acompanhado de manuais que provenham as mesmas liberdades que o software possui. Mas esta Licena no est restrita a manuais de software; ela pode ser usada para qualquer trabalho em texto, independentemente do assunto ou se ele publicado como um livro impresso. Ns recomendamos esta Licena principalmente para trabalhos cujo propsito seja de introduo ou referncia.

APLICABILIDADE E DEFINIES
Esta Licena se aplica a qualquer manual ou outro texto que contenha uma nota colocada pelo detentor dos direitos autorais dizendo que ele pode ser distribudo sob os termos desta Licena. O "Documento"abaixo se refere a qualquer manual ou texto. Qualquer pessoa do pblico um

11

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

licenciado e referida como "voc". Uma "Verso Modicada"do Documento se refere a qualquer trabalho contendo o documento ou uma parte dele, quer copiada exatamente, quer com modicaes e/ou traduzida em outra lngua. Uma "Seo Secundria" um apndice ou uma seo inicial do Documento que trata exclusivamente da relao dos editores ou dos autores do Documento com o assunto geral do Documento (ou assuntos relacionados) e no contm nada que poderia ser includo diretamente nesse assunto geral (Por exemplo, se o Documento em parte um livro texto de matemtica, a Seo Secundria pode no explicar nada de matemtica). Essa relao poderia ser uma questo de ligao histrica com o assunto, ou matrias relacionadas, ou de posies legais, comerciais, loscas, ticas ou polticas relacionadas ao mesmo. As "Sees Invariantes"so certas Sees Secundrias cujos ttulos so designados, como sendo de Sees Invariantes, na nota que diz que o Documento publicado sob esta Licena. Os "Textos de Capa"so certos trechos curtos de texto que so listados, como Textos de Capa Frontal ou Textos da Quarta Capa, na nota que diz que o texto publicado sob esta Licena. Uma cpia "Transparente"do Documento signica uma cpia que pode ser lida automaticamente, representada num formato cuja especicao esteja disponvel ao pblico geral, cujos contedos possam ser vistos e editados diretamente e sem mecanismos especiais com editores de texto genricos ou (para imagens compostas de pixels) programas de pintura genricos ou (para desenhos) por algum editor de desenhos grandemente difundido, e que seja passvel de servir como entrada a formatadores de texto ou para traduo automtica para uma variedade de formatos que sirvam de entrada para formatadores de texto. Uma cpia feita em um formato de arquivo outrossim Transparente cuja constituio tenha sido projetada para atrapalhar ou desencorajar modicaes subsequentes pelos leitores no Transparente. Uma cpia que no "Transparente" chamada de "Opaca". Exemplos de formatos que podem ser usados para cpias Transparentes incluem ASCII simples sem marcaes, formato de entrada do Texinfo, formato de entrada do LaTex, SGML ou XML usando uma DTD disponibilizada publicamente, e HTML simples, compatvel com os padres, e projetado para ser modicado por pessoas. Formatos opacos incluem PostScript, PDF, formatos proprietrios que podem ser lidos e editados apenas com processadores de texto proprietrios, SGML ou XML para os quais a DTD e/ou ferramentas de processamento e edio no estejam disponveis para o pblico, e HTML gerado automaticamente por alguns editores de texto com nalidade apenas de sada. A "Pgina do Ttulo"signica, para um livro impresso, a pgina do ttulo propriamente dita, mais quaisquer pginas subsequentes quantas forem necessrias para conter, de forma legvel, o material que esta Licena requer que aparea na pgina do ttulo. Para trabalhos que no tenham uma pgina do ttulo, "Pgina do Ttulo"signica o texto prximo da apario mais proeminente do ttulo do trabalho, precedendo o incio do corpo do texto.

12

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

FAZENDO CPIAS EXATAS


Voc pode copiar e distribuir o Documento em qualquer meio, de forma comercial ou no comercial, desde que esta Licena, as notas de copyright, e a nota de licena dizendo que esta Licena se aplica ao documento estejam reproduzidas em todas as cpias, e que voc no acrescente nenhuma outra condio, quaisquer que sejam, s desta Licena. Voc no pode usar medidas tcnicas para obstruir ou controlar a leitura ou confeco de cpias subsequentes das cpias que voc zer ou distribuir. Entretanto, voc pode aceitar compensao em troca de cpias. Se voc distribuir uma quantidade grande o suciente de cpias, voc tambm precisa respeitar as condies da seo 3. Voc tambm pode emprestar cpias, sob as mesmas condies colocadas acima, e tambm pode exibir cpias publicamente.

FAZENDO CPIAS EM QUANTIDADE


Se voc publicar cpias do Documento em nmero maior que 100, e a nota de licena do Documento obrigar Textos de Capa, voc precisar incluir as cpias em capas que tragam, clara e legivelmente, todos esses Textos de Capa: Textos de Capa da Frente na capa da frente, e Textos da Quarta Capa na capa de trs. Ambas as capas tambm precisam identicar clara e legivelmente voc como o editor dessas cpias. A capa da frente precisa apresentar o ttulo completo com todas as palavras do ttulo igualmente proeminentes e visveis. Voc pode adicionar outros materiais s capas. Fazer cpias com modicaes limitadas s capas, tanto quanto estas preservem o ttulo do documento e satisfaam a essas condies, pode ser tratado como cpia exata em outros aspectos. Se os textos requeridos em qualquer das capas for muito volumoso para caber de forma legvel, voc deve colocar os primeiros (tantos quantos couberem de forma razovel) na capa verdadeira, e continuar os outros nas pginas adjacentes. Se voc publicar ou distribuir cpias Opacas do Documento em nmero maior que 100, voc precisa ou incluir uma cpia Transparente que possa ser lida automaticamente com cada cpia Opaca, ou informar, em ou com, cada cpia Opaca a localizao de uma cpia Transparente completa do Documento acessvel publicamente em uma rede de computadores, qual o pblico usurio de redes tenha acesso a download gratuito e annimo utilizando padres pblicos de protocolos de rede. Se voc utilizar o segundo mtodo, voc precisar tomar cuidados razoavelmente prudentes, quando iniciar a distribuio de cpias Opacas em quantidade, para assegurar que esta cpia Transparente vai permanecer acessvel desta forma na localizao especicada por pelo menos um ano depois da ltima vez em que voc distribuir uma cpia Opaca (diretamente ou atravs de seus agentes ou distribuidores) daquela edio para o pblico. pedido, mas no obrigatrio, que voc contate os autores do Documento bem antes de redistribuir qualquer grande nmero de cpias, para lhes dar uma oportunidade de prover voc com uma verso atualizada do Documento.

13

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

MODIFICAES
Voc pode copiar e distribuir uma Verso Modicada do Documento sob as condies das sees 2 e 3 acima, desde que voc publique a Verso Modicada estritamente sob esta Licena, com a Verso Modicada tomando o papel do Documento, de forma a licenciar a distribuio e modicao da Verso Modicada para quem quer que possua uma cpia da mesma. Alm disso, voc precisa fazer o seguinte na verso modicada: A. Usar na Pgina de Ttulo (e nas capas, se houver alguma) um ttulo distinto daquele do Documento, e daqueles de verses anteriores (que deveriam, se houvesse algum, estarem listados na seo "Histrico do Documento"). Voc pode usar o mesmo ttulo de uma verso anterior se o editor original daquela verso lhe der permisso; B. Listar na Pgina de Ttulo, como autores, uma ou mais das pessoas ou entidades responsveis pela autoria das modicaes na Verso Modicada, conjuntamente com pelo menos cinco dos autores principais do Documento (todos os seus autores principais, se ele tiver menos que cinco); C. Colocar na Pgina de Ttulo o nome do editor da Verso Modicada, como o editor; D. Preservar todas as notas de copyright do Documento; E. Adicionar uma nota de copyright apropriada para suas prprias modicaes adjacente s outras notas de copyright; F. Incluir, imediatamente depois das notas de copyright, uma nota de licena dando ao pblico o direito de usar a Verso Modicada sob os termos desta Licena, na forma mostrada no tpico abaixo; G. Preservar nessa nota de licena as listas completas das Sees Invariantes e os Textos de Capa requeridos dados na nota de licena do Documento; H. Incluir uma cpia inalterada desta Licena; I. Preservar a seo entitulada "Histrico", e seu ttulo, e adicionar mesma um item dizendo pelo menos o ttulo, ano, novos autores e editor da Verso Modicada como dados na Pgina de Ttulo. Se no houver uma sesso denominada "Histrico"no Documento, criar uma dizendo o ttulo, ano, autores, e editor do Documento como dados em sua Pgina de Ttulo, ento adicionar um item descrevendo a Verso Modicada, tal como descrito na sentena anterior; J. Preservar o endereo de rede, se algum, dado no Documento para acesso pblico a uma cpia Transparente do Documento, e da mesma forma, as localizaes de rede dadas no Documento para as verses anteriores em que ele foi baseado. Elas podem ser colocadas na seo "Histrico". Voc pode omitir uma localizao na rede para um trabalho que tenha sido publicado pelo menos quatro anos antes do Documento, ou se o editor original da verso a que ela se rera der sua permisso; K. Em qualquer seo entitulada "Agradecimentos"ou "Dedicatrias", preservar o ttulo da 14

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

seo e preservar a seo em toda substncia e m de cada um dos agradecimentos de contribuidores e/ou dedicatrias dados; L. Preservar todas as Sees Invariantes do Documento, inalteradas em seus textos ou em seus ttulos. Nmeros de seo ou equivalentes no so considerados parte dos ttulos da seo; M. Apagar qualquer seo entitulada "Endossos". Tal sesso no pode ser includa na Verso Modicada; N. No reentitular qualquer seo existente com o ttulo "Endossos"ou com qualquer outro ttulo dado a uma Seo Invariante. Se a Verso Modicada incluir novas sees iniciais ou apndices que se qualiquem como Sees Secundrias e no contenham nenhum material copiado do Documento, voc pode optar por designar alguma ou todas aquelas sees como invariantes. Para fazer isso, adicione seus ttulos lista de Sees Invariantes na nota de licena da Verso Modicada. Esses ttulos precisam ser diferentes de qualquer outro ttulo de seo. Voc pode adicionar uma seo entitulada "Endossos", desde que ela no contenha qualquer coisa alm de endossos da sua Verso Modicada por vrias pessoas ou entidades - por exemplo, declaraes de revisores ou de que o texto foi aprovado por uma organizao como a denio ocial de um padro. Voc pode adicionar uma passagem de at cinco palavras como um Texto de Capa da Frente , e uma passagem de at 25 palavras como um Texto de Quarta Capa, ao nal da lista de Textos de Capa na Verso Modicada. Somente uma passagem de Texto da Capa da Frente e uma de Texto da Quarta Capa podem ser adicionados por (ou por acordos feitos por) qualquer entidade. Se o Documento j incluir um texto de capa para a mesma capa, adicionado previamente por voc ou por acordo feito com alguma entidade para a qual voc esteja agindo, voc no pode adicionar um outro; mas voc pode trocar o antigo, com permisso explcita do editor anterior que adicionou a passagem antiga. O(s) autor(es) e editor(es) do Documento no do permisso por esta Licena para que seus nomes sejam usados para publicidade ou para assegurar ou implicar endossamento de qualquer Verso Modicada.

COMBINANDO DOCUMENTOS
Voc pode combinar o Documento com outros documentos publicados sob esta Licena, sob os termos denidos na seo 4 acima para verses modicadas, desde que voc inclua na combinao todas as Sees Invariantes de todos os documentos originais, sem modicaes, e liste todas elas como Sees Invariantes de seu trabalho combinado em sua nota de licena. O trabalho combinado precisa conter apenas uma cpia desta Licena, e Sees Invariantes Idnticas com multiplas ocorrncias podem ser substitudas por apenas uma cpia. Se houver mltiplas Sees Invariantes com o mesmo nome mas com contedos distintos, faa o ttulo de 15

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

cada seo nico adicionando ao nal do mesmo, em parnteses, o nome do autor ou editor origianl daquela seo, se for conhecido, ou um nmero que seja nico. Faa o mesmo ajuste nos ttulos de seo na lista de Sees Invariantes nota de licena do trabalho combinado. Na combinao, voc precisa combinar quaisquer sees entituladas "Histrico"dos diversos documentos originais, formando uma seo entitulada "Histrico"; da mesma forma combine quaisquer sees entituladas "Agradecimentos", ou "Dedicatrias". Voc precisa apagar todas as sees entituladas como "Endosso".

COLETNEAS DE DOCUMENTOS
Voc pode fazer uma coletnea consitindo do Documento e outros documentos publicados sob esta Licena, e substituir as cpias individuais desta Licena nos vrios documentos com uma nica cpia incluida na coletnea, desde que voc siga as regras desta Licena para cpia exata de cada um dos Documentos em todos os outros aspectos. Voc pode extrair um nico documento de tal coletnea, e distribu-lo individualmente sob esta Licena, desde que voc insira uma cpia desta Licena no documento extrado, e siga esta Licena em todos os outros aspectos relacionados cpia exata daquele documento.

AGREGAO COM TRABALHOS INDEPENDENTES


Uma compilao do Documento ou derivados dele com outros trabalhos ou documentos separados e independentes, em um volume ou mdia de distribuio, no conta como uma Verso Modicada do Documento, desde que nenhum copyright de compilao seja reclamado pela compilao. Tal compilao chamada um "agregado", e esta Licena no se aplica aos outros trabalhos auto-contidos compilados junto com o Documento, s por conta de terem sido assim compilados, e eles no so trabalhos derivados do Documento. Se o requerido para o Texto de Capa na seo 3 for aplicvel a essas cpias do Documento, ento, se o Documento constituir menos de um quarto de todo o agregado, os Textos de Capa do Documento podem ser colocados em capas adjacentes ao Documento dentro do agregado. Seno eles precisaro aparecer nas capas de todo o agregado.

TRADUO
Traduo considerada como um tipo de modicao, ento voc pode distribuir tradues do Documento sob os termos da seo 4. A substituio de Sees Invariantes por tradues requer uma permisso especial dos detentores do copyright das mesmas, mas voc pode incluir tradues de algumas ou de todas as Sees Invariantes em adio s verses orignais dessas Sees Invariantes. Voc pode incluir uma traduo desta Licena desde que voc tambm inclua a verso original em Ingls desta Licena. No caso de discordncia entre a traduo e a

16

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

verso original em Ingls desta Licena, a verso original em Ingls prevalecer.

TRMINO
Voc no pode copiar, modicar, sublicenciar, ou distribuir o Documento exceto como expressamente especicado sob esta Licena. Qualquer outra tentativa de copiar, modicar, sublicenciar, ou distribuir o Documento nula, e resultar automaticamente no trmino de seus direitos sob esta Licena. Entretanto, terceiros que tenham recebido cpias, ou direitos de voc sob esta Licena no tero suas licenas terminadas, tanto quanto esses terceiros permaneam em total acordo com esta Licena.

REVISES FUTURAS DESTA LICENA


A Free Software Foundation pode publicar novas verses revisadas da Licena de Documentao Livre GNU de tempos em tempos. Tais novas verses sero similares em espirito verso presente, mas podem diferir em detalhes ao abordarem novos porblemas e preocupaes. Veja http://www.gnu.org/copyleft/. A cada verso da Licena dado um nmero de verso distinto. Se o Documento especicar que uma verso particular desta Licena "ou qualquer verso posterior"se aplica ao mesmo, voc tem a opo de seguir os termos e condies daquela verso especca, ou de qualquer verso posterior que tenha sido publicada (no como rascunho) pela Free Software Foundation. Se o Documento no especicar um nmero de Verso desta Licena, voc pode escolher qualquer verso j publicada (no como rascunho) pela Free Software Foundation. ADENDO: Como usar esta Licena para seus documentos Para usar esta Licena num documento que voc escreveu, inclua uma cpia desta Licena no documento e ponha as seguintes notas de copyright e licenas logo aps a pgina de ttulo: Copyright (c) ANO SEU NOME. dada permisso para copiar, distribuir e/ou modicar este documento sob os termos da Licena de Documentao Livre GNU, Verso 1.1 ou qualquer verso posterior publicada pela Free Software Foundation; com as Sees Invariantes sendo LISTE SEUS TTULOS, com os Textos da Capa da Frente sendo LISTE, e com os Textos da Quarta-Capa sendo LISTE. Uma cpia da licena est inclusa na seo entitulada "Licena de Documentao Livre GNU". Se voc no tiver nenhuma Seo Invariante, escreva "sem Sees Invariantes"ao invs de dizer quais so invariantes. Se voc no tiver Textos de Capa da Frente, escreva "sem Textos de Capa da Frente"ao invs de "com os Textos de Capa da Frente sendo LISTE"; o mesmo para os Textos da Quarta Capa. Se o seu documento contiver exemplos no triviais de cdigo de programas, ns recomendamos a publicao desses exemplos em paralelo sob a sua escolha de licena de software livre,

17

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

tal como a GNU General Public License, para permitir o seu uso em software livre.

18

Parte IV

Apache 2

19

Captulo 1

O que o Apache 2
O Apache um servidor Web extremamente congurvel, robusto e de alta performance desenvolvido por uma equipe de voluntrios (conhecida como Apache Group) buscando criar um servidor web com muitas caractersticas e com cdigo fonte disponvel gratuitamente via Internet. Segundo a Netcraft (http://www.netcraft.com/), o Apache mais usado que todos os outros servidores web do mundo juntos. A verso 2 do Apache traz diversas melhorias tais como: threading unix, novo sistema de compilao, suporte multiplataforma, nova API, suporte IPV6, congurao simplicada e muito mais! Ao nal deste curso o aluno ter conhecimento suciente para instalar e congurar um servidor apache.

20

Captulo 2

Plano de ensino
2.1 Objetivo
Qualicar tcnicos na montagem e conguro de um servidor Apache 2.

2.2 Pblico Alvo


O curso destina-se a usurios com bons conhecimentos em Linux que desejam aprender a instalar e congurar vrios aspectos do servidor web Apache 2 para a utilizao na Internet ou numa intranet.

2.3 Pr-requisitos
Os usurios devero ser, necessariamente, indicados por empresas pblicas e ter conhecimento bsico acerca de Apache.

2.4 Descrio
O curso de Apache 2 ser realizado na modalidade EAD e utilizar a plataforma Moodle como ferramenta de aprendizagem. Ele composto de um mdulo de aprendizado que ser dado na primeira semana e um mdulo de avaliao que ser dado na segunda semana. O material didtico estar disponvel on-line de acordo com as datas pr-estabelecidas no calendrio. A verso utilizada para o Apache 2 ser a 2.2.3

2.5 Metodologia
O curso est dividido da seguinte maneira:

2.6 Cronograma
Lio 1 - Introduo

21

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

Lio 2 - Instalao Lio 3 - Congurao Lio 4 - Restries de acesso Lio 5 - Arquivos de log Lio 6 - Virtual Hosts Avaliao de aprendizagem Avaliao do curso As lies contm o contudo principal. Elas podero ser acessadas quantas vezes forem necessrias, desde que esteja dentro da semana programada. Ao nal de uma lio, voc receber uma nota de acordo com o seu desempenho. Responda com ateno s perguntas de cada lio, pois elas sero consideradas na sua nota nal. Caso sua nota numa determinada lio for menor do que 6.0, sugerimos que voc faa novamente esta lio. // Ao nal do curso ser disponibilizada a avaliao referente ao curso. Tanto as notas das lies quanto a da avaliao sero consideradas para a nota nal. Todos os mdulos caro visveis para que possam ser consultados durante a avaliao nal. // Aconselhamos a leitura da "Ambientao do Moodle"para que voc conhea a plataforma de Ensino a Distncia, evitando diculdades advindas do "desconhecimento"sobre a mesma. // Os instrutores estaro a sua disposio ao longo de todo curso. Qualquer dvida dever ser enviada no frum. Diariamente os monitores daro respostas e esclarecimentos.

2.7 Programa
O curso oferecer o seguinte contedo: Instalao Introduo Congurao Restries de acesso Arquivos de log Virtual Hosts

2.8 Avaliao
Toda a avaliao ser feita on-line. Aspectos a serem considerados na avaliao: Iniciativa e autonomia no processo de aprendizagem e de produo de conhecimento; Capacidade de pesquisa e abordagem criativa na soluo dos problemas apresentados. Instrumentos de avaliao: 22

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

Participao ativa nas atividades programadas. Avaliao ao nal do curso. O participante far vrias avaliaes referente ao contedo do curso. Para a aprovao e obteno do certicado o participante dever obter nota nal maior ou igual a 6.0 de acordo com a frmula abaixo: Nota Final = ((ML x 7) + (AF x 3)) / 10 = Mdia aritmtica das lies AF = Avaliaes

2.9 Bibliograa
Site ofcial: http://www.apache.org

23

Captulo 3

Introduo
3.0.1 Uma introduo ao Apache
O servidor web um programa responsvel por disponibilizar pginas, fotos, ou qualquer outro tipo de objeto ao navegador do cliente. Ele tambm pode operar recebendo dados do cliente, processando e enviando o resultado para que o cliente possa tomar a ao desejada (como em aplicaes CGIs, banco de dados web, preenchimento de formulrios, etc). O Apache um servidor Web extremamente congurvel, robusto e de alta performance desenvolvido por uma equipe de voluntrios (conhecida como Apache Group) buscando criar um servidor web com muitas caractersticas e com cdigo fonte disponvel gratuitamente via Internet. Segundo a Netcraft (http://www.netcraft.com/), o Apache mais usado que todos os outros servidores web do mundo juntos. Nas verses 2.x do Apache, a escalabilidade do servidor foi ampliada suportando as plataformas Win32 (no obtendo o mesmo desempenho que em plataformas UNIX mas sendo melhorado gradativamente).

3.0.2 Principais melhorias


Threading Unix: Em sistemas Unix com suporte a threads POSIX, o Apache pode funcionar em modo hbrido multiprocesso e multithread. No funciona em todas conguraes, mas melhora a escalabilidade em muitas. Novo Sistema de Compilao: O sistema de compilao foi reescrito do zero para utilizar o autoconf e o libtool, tornando a congurao do sistema Apache mais similar a de outros pacotes. Suporte Multi-protocolo: O Apache possui agora uma infraestrutura feita para suportar mltiplos protocolos. O mdulo mod_echo um exemplo ilustrativo de sua utilizao. Suporte Aperfeioado para Plataformas No-Unix: O Apache 2.0 est mais rpido e mais estvel em plataformas No-Unix como BeOS, OS/2 e Windows. Com a introduo de mdulos multi-processamento (MPMs) especcos e a Apache Portable Runtime (APR), essas plataformas esto implementando as suas APIs nativas, evitando as camadas de emulao POSIX que se mostravam lentas e defeituosas. Nova API Apache: A API para mdulos mudou signicativamente na verso 2.0. Muitos dos problemas de ordenamento/prioridade da verso 1.3 foram resolvidos. A verso 2.0 faz o

24

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

ordenamento automtico "per-hook"para permitir mais exibilidade. Novas chamadas foram adicionadas para fornecer capacidades adicionais sem a necessidade de se aplicar nenhum patch ao servidor Apache principal. Suporte IPv6: Em sistemas onde o IPv6 suportado pela biblioteca de base Apache Portable Runtime, o Apache monitora por padro as interfaces IPv6. Em adio as diretrizes Listen, NameVirtualHost e VirtualHost, suportam correntes (strings) de endereos numricos do tipo IPv6. (ex. "Listen [2001:db8::1]:8080"). Filtrando: Os mdulos do Apache agora so feito ltros que agem na corrente do contedo na medida que este entregue, tanto na entrada quando na sada de dados do servidor. possvel ento, por exemplo, que o retorno de dados de scripts CGI sejam analisados pelas diretrizes do "Server Side Include"usando o ltro INCLUDES do mod_include. O mdulo mod_ext_lter, permite que programas externos trabalhem como ltros do mesmo modo que aplicaes CGI funcionam como manipuladores. Respostas de Erro Multi-linguais: Mensagens de erro para o navegador agora so fornecidas em diversas lnguas, usando documentos SSI. Podem ser personalizadas pelo administrador que desejar denir seus prprios padres. Congurao Simplicada: Muitas diretrizes confusas foram simplicadas. Entre elas, Port e BindAddress no existem mais; apenas a diretriz Listen usada para direcionar endereos IP; a diretriz ServerName especica o nome do servidor e o nmero da porta apenas para redirecionamento e reconhecimento de hospedeiros virtuais. Suporte Nativo ao Unicode do Windows NT: O Apache 2.0 para Windows NT agora usa utf-8 para codicao de todos os nomes de arquivos. A traduo para o sistema base Unicode, torna possvel o suporte multi-lingual para todas as instalaes da famlia NT, incluindo o Windows 2000 e Windows XP. Esse suporte no se estende ao Windows 95, 98 ou ME, que continuam usando o cdigo de pginas da mquina local para o acesso ao sistema de arquivos. Biblioteca de Expresses Regulares Atualizada: O Apache 2.0 inclui a Biblioteca de Expresses Regulares Compatveis Perl (PCRE). Todas as avaliaes de expresses regulares usam a mais poderosa sintaxe do Perl 5.

3.0.3 Melhorias nos mdulos


mod_ssl: Novo mdulo no Apache 2.0. Esse mdulo uma interface para os protocolos de codicao SSL/TLS fornecidos pela OpenSSL. mod_dav: Novo mdulo no Apache 2.0. Este mdulo implementa as especicaes de Autoria Distribuda e Verses (Distributed Authoring and Versioning - DAV) para HTTP, para a publicao e a manuteno de contedo da web. mod_deate: Novo mdulo no Apache 2.0. Esse mdulo permite o suporte a navegadores que solicitam que o contedo seja comprimido antes da entrega, economizando banda da rede. mod_auth_ldap: Novo mdulo no Apache 2.0.41. Este mdulo permite que bancos de dados LDAP sejam usados para armazenar credenciais para Autenticao Bsica HTTP. Um 25

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

mdulo que o acompanha mod_ldap, fornece a conciliao de conexes e armazenamento de resultados. mod_auth_digest: Inclui suporte adicional para armazenamento de sesses atravs de processos que usam memria compartilhada. mod_charset_lite: Novo mdulo no Apache 2.0. Este modo experimental permite a traduo de tabelas de caracteres ou re-codicao. mod_le_cache: Novo mdulo no Apache 2.0. Esse mdulo inclui a funcionalidade do mod_mmap_static do Apache 1.3, alm de disponibilizar outras possibilidades de armazenamento. mod_headers: Este mdulo est muito mais exvel no Apache 2.0. Pode modicar pedidos de cabealhos usados pelo mod_proxy, e incondicionalmente pode ajustar cabealhos de respostas. mod_proxy: O mdulo proxy foi totalmente reescrito para levar vantagem da nova infraestrutura de ltro e implementar um proxy mais el e de acordo com o padro HTTP/1.1. Alm disso, uma nova seo de congurao <Proxy> fornece controles mais legveis (e internamente mais rpidos) para sites com proxies; conguraes sobrecarregadas <Directory "proxy:..., no so suportadas. O mdulo agora dividido em suporte de protocolos especcos incluindo proxy_connect, proxy_ftp e proxy_http. mod_negotiation: A nova diretriz ForceLanguagePriority pode ser usada para assegurar que o cliente receba um nico documento em todos os casos, ao invs de respostas "NOT ACCEPTABLE"ou "MULTIPLE CHOICES". Novos algoritmos de negociao e vises mltiplas (MultiViews) foram organizados para obter resultados mais consistentes e uma nova forma de tipo de mapa (map type) que podem incluir o contedo de documentos fornecido. mod_autoindex: As listagens de diretrios automticas podem ser conguradas para usar tabelas HTML para formataes mais limpas e permitir controles mais acurados de classicao, incluindo ordenao por verso e ltro da lista de diretrios atravs de caracterescoringa. mod_include: Novas diretrizes permitem que as tags padres start e end para elementos SSI, possam ser alteradas e permitir que as conguraes de formatos de erro e hora sejam includos no arquivo de congurao principal, ao invs de serem adicionadas ao documento SSI. Resultados de anlises de expresses regulares e agrupamento (baseadas na sintaxe de expresses regulares do Perl) podem ser obtidas usando as variveis do mdulo mod_include, de 0a9. mod_auth_dbm: Agora suporta mltiplos tipos de banco de dados similares ao DBM, usando a diretriz AuthDBMType.

3.1 Instalao
Para instalarmos o Apache 2 na distribuio Debian, utilizamos o comando: #apt-get install apache2 O gerenciador de pacotes, ento, se encarrega de fazer a instalao do Apache 2 e suas dependncias automaticamente. 26

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

Seria interessante tambm fazer a instalao de utilitrios para o Apache 2. Em algumas distribuies estes utilitrios esto em um pacote chamado apache2-utils, a instalao na distribuio Debian feita da mesma maneira: #apt-get install apache2-utils sempre bom ter a acesso a documentao dos nossos aplicativos para qualquer eventualidade :-p No caso do Apache 2 no Debian, basta instalar o pacote apache2-doc. #apt-get install apache2-doc Lembrando que os comandos acima devem ser executados pelo administrador do sistema, o super usurio, vulgo root.

3.1.1 Utilitrios
Aps a instalao dos pacotes citados na lio anterior, teremos a nossa disposio os seguintes utilitrios: apache2 - Servidor Web Principal apache2ctl - Shell script que faz interface com o apache de forma mais amigvel htpasswd - Cria/Gerencia senhas criptografadas Crypto/MD5 htdigest - Cria/Gerencia senhas criptografadas Crypto/MD5 dbmmanage - Cria/Gerencia senhas em formato DBM (Perl) logresolve - Faz um DNS reverso dos arquivos de log do Apache para obter o endereo de hosts com base nos endereos IPs. ab - Apache Benchmarcking - Ferramenta de medida de desempenho do servidor Web Apache.

3.2 Congurao
3.2.1 Arquivos de congurao
Por padro, os arquivos de congurao do Apache 2 residem no diretrio /etc/apache2: apache2.conf: Arquivo de congurao principal do Apache 2, possui diretivas que controlam a operao do daemon servidor. Um arquivo de congurao alternativo pode ser especicado atravs da opo -f"da linha de comando. envvars: Arquivo que contm variveis de ambiente padres para o aplicativo apache2ctl. httpd.conf: Arquivo de congurao principal do Apache 1, mantido para garantir compatibilidade. mods-available: Diretrio que contm os mdulos disponveis para serem usados no servidor Apache 2. mods-enabled: Diretrio que contm mdulos disponveis e ativos no servidor Apache 2. So ativados com o comando a2enmod seguido do nome do mdulo desejado. 27

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

ports.conf: Arquivo de congurao da porta em que o servidor Apache 2 vai escutar requisies. sites-available: Diretrio onde cam armazenados os arquivos de congurao dos sites disponibilizados pelo servidor Apache 2. So ativados com o comando a2ensite. sites-enabled:Diretrio onde cam armazenados os arquivos de congurao dos sites ativos no servidor Apache 2.

3.2.2 Iniciando, reiniciando e recarregando o servidor


O /etc/init.d/apache2 aceita os seguintes parmetros: start - Inicia o Apache 2 stop - Finaliza o Apache 2 restart - Reinicia o Apache 2, efetuando uma pausa de 5 segundos entre a interrupo do seu funcionamento e reinicio. reload - Recarrega os arquivos de congurao do Apache 2, as alteraes entram em funcionamento imediatamente. reload-modules - Recarrega os mdulos. Basicamente feito um restart no servidor. force-reload - Faz a mesma funo que o reload O apache2ctl recebe os parmetros enviados pelo usurio e converte para sinais que sero enviados para o binrio apache2. Da mesma forma ele verica os cdigos de sada do apache2 e os transforma em mensagens de erro legveis para o usurio comum. Os seguintes comandos so aceitos pelo apache2ctl: httpd-server/start - Inicia o Apache stop - Finaliza o Apache (enviando um sinal TERM) restart - Reinicia o Apache (enviando um sinal HUP) graceful - Recarrega os arquivos de congurao do Apache (enviando um sinal USR1) fullstatus - Mostra o status completo do servidor Apache (requer o lynx e o mdulo mod_status carregado). status - Mostra o status do processo do servidor Apache (requer o lynx e o mdulo mod_status carregado). congtest - Verica se a sintaxe dos arquivos de congurao est OK (executa um apache -t).

28

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

3.2.3 Adicionando uma pgina no servidor


Para adicionar uma pgina no servidor, criamos um arquivo com extenso .conf dentro diretrio /etc/apache2/sites-avaliable. Um exemplo seria o arquivo cdtc.conf que teria o seguinte contedo:

) E=I ?@J?  L=H MMM ?@J?  ,EHA?J HO L=H MMM ?@J? ) M LAHHE@A A H@AH = M @A O ) M BH = ,EHA?J HO
Este arquivo congura uma pgina que poderia ser habilitada com o seguinte comando: #a2ensite cdtc.conf Voc ir perceber que ser criado um link para este mesmo arquivo no diretrio /etc/apache2/sites-enabled. Agora voc pode colocar os arquivos do seu site dentro do diretrio especicado no arquivo .conf, neste caso o diretrio /var/www/cdtc, para poder acessar pelo navegador. Feito isso, basta direcionar o seu navegador para o site. Por exemplo, para visualizar localmente para testes poderiamos apontar o navegador para http://localhost/cdtc e visualizar o site.

3.2.4 O arquivo .htaccess


O arquivo .htaccess deve ser colocado no diretrio da pgina que dever ter suas permisses de acesso/listagem controladas. A vantagem em relao a incluso direta de diretivas de acesso dentro do arquivo de congurao do Apache, que o controle de acesso poder ser denido pelo prprio webmaster da pgina, sem precisar ter acesso direto a congurao do Apache, que requerem privilgios de root. Outro ponto fundamental que no h necessidade de reiniciar o servidor Web, pois este arquivo lido no momento de cada acesso ao diretrio que controla. O nome do arquivo OverRide pode ser denido atravs da diretiva AccessFileName no arquivo de congurao do Apache, .htaccess usado como padro. O controle de que opes estaro disponveis no .htaccess so denidas na diretiva AllowOverride que pode conter o seguintes parmetros: None - O servidor no buscar o arquivo .htaccess nos diretrios All - O servidor utilizar todas as opes abaixo no arquivo .htaccess AuthCong - Permite o uso de diretivas de autenticao (AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, etc.). FileInfo - Permite o uso de diretivas controlando o tipo de documento (AddEncoding, AddLanguage, AddType, DefaultType, ErrorDocument, LanguagePriority, etc.). Indexes - Permite o uso de diretivas controlando a indexao de diretrio (AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, etc.). 29

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

Limit - Permite o uso de diretivas controlando o acesso ao computador (allow, deny e order). Options - Permite o uso de diretivas controlando caractersticas especcas do diretrio (Options e XBitHack). OBS: No tem sentido usar a opo AllowOverride dentro da diretiva <Location>, ela ser simplesmente ignorada. Para acesso ao arquivo .htaccess do diretrio /var/www/focalinux, o Apache buscar os arquivos .htaccess na seqencia: /.htaccess, /var/.htaccess, /var/www/.htaccess, /var/www/focalinux/.htaccess, qualquer diretiva que no exista no .htaccess do diretrio /var/www/focalinux ter seu valor denido pela diretiva dos arquivos .htaccess dos diretrios anteriores. Somente aps esta seqencia de checagens o acesso ao documento permitido (ou negado). Por este motivo, muitos administradores decidem desativar completamente o uso de arquivos .htaccess no diretrio raz e habilitar somente nos diretrios especicados pela diretiva <Directory> no arquivo de congurao do Apache, evitando brechas de segurana na manipulao destes arquivos (esta uma boa idia a no ser que se dedique 24 horas somente na administrao do seu servidor Web e conhea toda sua estrutura hierrquica de segurana:

,EHA?J HO ) M LAHHE@A ,EHA?J HO )

,EHA?J HO L=H MMM M LAHHE@A E EJ =KJD? ,EHA?J HO

BEC E @ANAI

Na especicao acima, o arquivo .htaccess ser procurado no diretrio /var/www e seus subdiretrios, usando somente opes que controlam a autorizao de acesso (limit), autenticao e opes (authcong) e de indexao de documentos (indexes). Alguns exemplos do uso do arquivo .htaccess: Para permitir o acesso direto de usurios da rede 192.168.1.* diretamente, e requerer senha de acesso para outros usurios, o seguinte arquivo .htaccess/var/www: deve ser criado no diretrio

H@AH @A O = M = M BH ' $&   " @A O BH = )KJD = A )?AII = F CE = 9A> FHE ?EF= )KJD6OFA >=IE? )KJD7IAH.E A L=H ?=?DA =F=?DA IA D=I 4AGKEHA L= E@ KIAH 5=JEIBO = O

@= - FHAI=

Note que a sintaxe exatamente a mesma das usadas na diretivas de acesso, por este motivo vou dispensar explicaes detalhadas a respeito.

30

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

3.2.5 Denindo documentos de erros personalizados


Documentos de erros personalizados so denidos atravs da diretiva ErrorDocument. possvel especicar cdigos de erros que sero atendidos por certos documentos ou colocar esta diretiva dentro de blocos de controle de acesso <Directory>, <Location> ou <VirtualHost> para que tenham mensagens de erro personalizadas, ao invs da padro usada pelo servidor httpd. ErrorDocument [cdigo de erro] [documento] Onde: cdigo de erro: Cdigo de erro da mensagem (veja Cdigos HTTP, Seo 12.15 como referncia). O cdigo de erro 401 deve referir-se a um arquivo local. documento documento: Mensagem de erro ou redirecionamento que ser usado no servidor caso aquele cdigo de erro seja encontrado: Para denir uma mensagem de erro padro para todo servidor web, basta colocar a diretiva ErrorDocument fora das diretivas que controlam o acesso a diretrios e virtual hosts (o inicio do arquivo httpd.conf ideal). Exemplos: ErrorDocument 404 /cgi-bin/erros404.pl - Direciona para um script em Perl que manda um e-mail ao administrador falando sobre o link quebrado e envia o usurio a uma pgina de erro padro. ErrorDocument 404 /naoencontrada.html - Direciona o usurio para o arquivo naoencontrada.html (dentro de DocumentRoot) quando ocorrer o erro 404. Note que o diretrio / levado em considerao o especicado pela diretiva DocumentRoot. ErrorDocument 500 "Erro Interno no servidor- Mostra a mensagem na tela quando ocorrer o erro 500. ErrorDocument 401 /obtendoacesso.html - Direciona o usurio ao arquivo explicando como obter acesso ao sistema. ErrorDocument 503 http://www.guiafoca.org/servicos.html> - Redireciona o usurio a URL especicada. ErrorDocument 403 "Acesso negado- Mostra a mensagem na tela no caso de erros 403.

3.3 Restries de acesso


3.3.1 Introduo
A restrio de acesso do Apache feita atravs de Autorizao e Autenticao. Atravs da autorizao, checado se o endereo/rede especicada tem ou no permisso para acessar a pgina. A autenticao requer que seja passado nome e senha para garantir acesso a pgina.

31

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

3.3.2 Autorizao
A restrio de acesso por autorizao (controlado pelo mdulo mod_access), permite ou no o acesso ao cliente de acordo com o endereo/rede especicada. As restries afetam tambm os sub-diretrios do diretrio alvo. Abaixo um exemplo de restrio de acesso que bloqueia o acesso de qualquer host que faz parte do domnio .spammers.com.br a URL http://servidor/teste:

?=JE JAIJA FJE 1 @ANAI H@AH = M @A O = M BH = @A O BH IF= AHI ? ?=JE

>H

A opo Option foi explicada acima, seguem as explicaes das outras diretivas: Order Especica em que ordem as opes de acesso allow/deny sero pesquisadas. Caso no seja especicada, o padro ser deny/allow. Note que a ordem de pesquisa de allow e deny a inversa da especicada. A diretiva Order aceita os seguintes valores: * deny,allow - Esta a padro, signica um servidor mais restritivo; a diretiva allow processada primeiro e somente depois a diretiva deny. Caso nenhuma diretiva allow e deny forem especicadas ou no conferirem, PERMITE TUDO como padro. * allow,deny - Signica um servidor mais permissivo, a opo deny processada primeiro e somente depois a opo allow. Caso nenhuma diretiva allow e deny for especicadas ou no conferirem, BLOQUEIA TUDO como padro. * mutual-failure - Somente permite o acesso se o usurio receber autorizao atravs da opo allow e NO ser bloqueado pela opo deny, caso uma das checagens falhe, o acesso imediatamente negado. uma opo interessante quando voc quer somente pessoas de um determinado endereo/rede acessando o seu sistema e no estejam em sua lista negra. ATENO: importante saber se a pgina ser permissiva ou restritiva para escolher a ordem mais adequada ao seu caso, tambm leve em considerao a possibilidade do processamento cair na diretiva de acesso padro, caso nem a diretiva allow e deny conferiram e estiver usando a ordem de acesso "allow,deny"ou "deny,allow". Um sistema mal congurado neste aspecto poder trazer srias conseqncias. comum em pginas permissivas se denir a seguinte congurao:

H@AH = = M BH

M @A O =

O motivo que em um grande site, se forem adicionadas mais restries nesta pgina (devido a alguns domnios que tem usurios mal comportados, bloqueio de acesso a rede do concorrente, potenciais atacantes, etc...), estas devero ser lidas antes da diretiva "allow from all"e podem passar desapercebidas ao administrador e podem simplesmente no funcionar caso a opo Order no esteja ajustada corretamente (lembre-se, voc o administrador e a integridade do site depende de sua ateno na escolha da ordem correta das diretivas de acesso). allow from Especica o endereo que ter acesso ao recurso especicado. A diretiva allow from aceita os seguintes valores: 32

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

all - O acesso permitido a todos. um endereo de domnio completo (FQDN). Por exemplo www.debian.org.br. um endereo de domnio parcial. Qualquer computador que conra com o inicio ou m ter o acesso permitido. Por exemplo, .spammers.com.br, .debian.org. um endereo IP completo, como 192.168.1.1 um endereo IP parcial como 192.168.1. um par rede/mscara como 10.1.0.0/255.255.0.0 ou 10.1.0.0/16, uma faixa de acesso a mquinas de uma mesma rede pode ser denida facilmente atravs deste mtodo. OBS1: necessrio reiniciar o Apache depois de qualquer modicao em seu arquivo de congurao (executando apachectl restart), ou recarregar os arquivos de congurao (apachectl graceful). OBS2: Mais de um host pode ser especicado separando com um espao:

M BH

'

$&

@A>E=

HC >H

Permitir o acesso de qualquer mquina que o endereo IP conra com 192.168.*.* e qualquer computador do domnio debian.org.br OBS3: Regras baseadas em nomes simples de hosts (como www) no conferiro! Dever ser usado o FQDN ou IP: www.dominio.com.br OBS4: Caso Order no seja especicado, deny,allow ser usado como padro (ou seja, permitir tudo como padro). deny from Especica os endereos que NO tero acesso ao recurso especicado. As explicaes referentes a esta diretiva de acesso so idntica as de allow from. recomendvel o uso de endereos IP ao invs de endereos DNS e um mecanismo antispoong no rewall ou cdigo de roteamento, pois car mais difcil um ataque baseado em DNS spoong, aumentando consideravelmente a segurana de seu servidor web. ATENO: Caso receba erros 403 (acesso negado) sem bloquear a URL nas diretivas de acesso, uma dos seguintes problemas pode ser a causa: O servidor Web no tem permisses para acessar/abrir o diretrio da pgina. Certique-se que o dono e grupo do processo ApacheUser e Group) possuem permisses de acesso quele diretrio. Quando quer fazer uma listagem de arquivos do diretrio e no especica a opo Option Indexes como opo de listagem. Quando no est usando Option Indexes para impedir a listagem de contedo do diretrio e o no foi encontrado um arquivo de ndice vlido dentre os existentes na diretiva DirectoryIndex no diretrio atual. Abaixo alguns exemplos de permisses de acesso:

,EHA?J HO L=H MMM FJE I 5O E I1B M AH =J?D 1 @ANAI H@AH = M @A O = M BH = ,EHA?J HO

K JE8EAMI

33

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

Permite o acesso a de qualquer usurio de qualquer lugar (allow from all), permite tambm a visualizao da listagem formatada de arquivos caso nenhum arquivo especicado na diretiva DirectoryIndex seja encontrado (Indexes), permite negociao de contedo (MultiViews) e seguir links caso o dono do arquivo conra com o nome do link (SymLinksIfOwnerMatch).

,EHA?J HO L=H MMM FJE I 5O E I1B M AH =J?D 1 @ANAI ,EHA?J HO

K JE8EAMI

Tem o mesmo signicado da diretiva acima por mtodos diferentes; quando nenhuma opo Order especicada, deny,allow denido como padro, e como nenhuma opo de acesso allow/deny foi especicada, o padro "Order deny,allow" usado e permite TUDO como padro.

,EHA?J HO L=H MMM FJE I 1 @ANAI H@AH @A O = M @A O BH = ,EHA?J HO


Esta regra acima no tem muita lgica pois restringe o acesso de todos os usurios ao diretrio /var/www, ao menos se esta for sua inteno...

?=JE B ?= E KN FJE I ) H@AH = M @A O = M BH = ?=JE


A regra acima permite o acesso a URL http://www.servidor.org/focalinux de qualquer host na Internet

.E AI DJ=??AII H@AH @A O = M @A O BH = .E AI
Bloqueia o acesso a qualquer arquivo .htaccess do sistema

.E AI  AE= A =H H@AH @A O = M @A O BH = .E AI

= FD=

$&

IF=H? F MAHF?

JNJ

Bloqueia o acesso a qualquer arquivo leiame-arm.txt, leiame-alpha.txt, leiame-m68k.txt, leiamesparc.txt e leiame-powerpc.txt fazendo uso de expresses regulares.

,EHA?J HO L=H MMM FJE I 1 @ANAI H@AH KJK= B=E KHA = M BH @ E E ? >H @A O BH = AH @ E E ? ,EHA?J HO

>H

34

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

A diretiva acima somente permite acesso ao diretrio /var/www de mquinas pertencentes ao domnio .dominio.com.br desde que no seja lammer.dominio.com.br.

,EHA?J HO L=H MMM FJE I 1 @ANAI K JE8EAMI H@AH = M @A O @A O BH ? ? >H = M BH = ,EHA?J HO


Bloqueia o acesso ao diretrio /var/www de computadores pertencentes aos domnios .com e .com.br.

,EHA?J HO L=H MMM FJE I A H@AH @A O = M = M BH ' $&  @A O BH    ! ,EHA?J HO

CKE=B ?=

HC @A>E=

HC

A regra acima permite o acesso de mquinas da rede 192.168.1.*, do domnio *.guiafoca.org e *.debian.org, o acesso de mquinas da rede 200.200.123.* bloqueado (nada contra, peguei nesse nmero ao acaso sorriso. Note que a mquina 192.168.4.10 ter acesso LIVRE a regra acima, pois no conferir nem com allow nem com deny, ento o processamento cair na diretiva padro de deny,allow, que neste caso permite o acesso caso nem allow e deny conferiram com o padro.

,EHA?J HO L=H MMM FJE I A H@AH = M @A O = M BH ' $&  @A O BH    ! ,EHA?J HO

?EFIC=

HC >H @A>E=

HC

A regra acima idntica a anterior somente com a mudana da opo Order. Bloqueia o acesso de mquinas da rede 200.200.123.* e permite o acesso de mquinas da rede 192.168.1.*, do domnio *.cipsga.org.br e *.debian.org. Note que a mquina 192.168.4.10 ter acesso BLOQUEADO a regra acima, pois no conferir nem com allow nem com deny, ento o processamento cair na diretiva padro de allow,deny que neste caso bloqueia o acesso.

3.3.3 Autenticao
Atravs da autenticao (controlado pelo mdulo mod_auth) possvel especicar um nome e senha para acesso ao recurso solicitado. As senhas so gravadas em formato criptografado usando Crypto ou MD5 (conforme desejado). O arquivo de senhas pode ser centralizado ou especicado individualmente por usurio, diretrio ou at mesmo por arquivo acessado. O arquivo de senhas pode ser criado e mantido atravs do uso de 3 utilitrios: htpasswd, htdigest e dbmmanage. Veremos a utilizao do htpasswd: Para criar um banco de dados com o nome senhas para o usurio convidado, usada a seguinte sintaxe: 35

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

DJF=IIM@ ?

IA D=I ?

LE@=@

Voc ser perguntado por uma senha para o usurio convidado e para redigita-la. A opo -c"indica que dever ser criado um arquivo, a opo -m"indica a utilizao de senhas criptografadas usando o algoritmo MD5, que garante maior segurana que o mtodo Crypto. A senha pode ser especicada diretamente na linha de comando atravs da opo -b"(isto um timo recurso para utilizao em shell scripts ou programas CGI de integrao com o navegador).

DJF=IIM@ >

@ IA D=I ?DABA =>?@AB

No exemplo acima, uma senha de alta segurana ser introduzida no banco de dados senhas tornando impossvel o acesso a pgina do usurio sorriso Note que esta senha foi cadastrada usando o algoritmo de criptograa Crypto (opo -d). O algoritmo SHA tambm pode ser usado como alternativa, atravs da opo -s". Para modicar a senha do usurio convidado, basta usar a mesma sintaxe (sem a opo -c"que usada para criar um novo arquivo):

DJF=IIM@
ou

IA D=I ?

LE@=@

DJF=IIM@ >

IA D=I ?

LE@=@

L= IA D=

Opcionalmente voc pode especicar a opo -d"para atualizar tambm o formato da senha para Crypto. Podem existir senhas de criptograas mistas (SHA, Crypto, MD5) no mesmo arquivo sem nenhum problema. A mudana do formato de senhas til quando se deseja aumentar o nvel de segurana oferecido por um melhor sistema ou para manter a compatibilidade com alguns scripts/programas que compartilhem o arquivo de senhas. Autenticao atravs de usurios Atravs deste mtodo possvel especicar que usurios tero acesso ao recurso denido, usando senhas de acesso individuais criptografadas usando um dos utilitrios da seo anterior. Para restringir o acesso ao endereo http://servidor.org/teste:

?=JE JAIJA )KJD = A )?AII = F CE = @ . ?= E KN )KJD6OFA >=IE? )KJD7IAH.E A D A C AO@I 5A D=7IK=HE  )KJD/H KF.E A D A KIAHI 5A D=/HKF 4AGKEHA L= E@ KIAH ?=JE
Ao tentar acessar o endereo http://servidor/teste, ser aberta uma janela no navegador com o ttulo Enter username for Acesso a pgina do Foca Linux at servidor.org, a diretiva Require valid-user denem que o usurio e senha digitados devem existir no arquivo especicado por AuthUserFile para que o acesso seja garantido. Uma explicao de cada opo de acesso usado na autenticao: AuthName: Ser o nome que aparecer na janela de autenticao do seu navegador indicando qual rea restrita est solicitando senha (podem existir vrias no servidor, bastando especicar vrias diretivas de restries). 36

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

AuthType: Especica o mtodo de que o nome e senha sero passados ao servidor. Este mtodo de autenticao pode ser Basic ou Digest Basic - Utiliza a codicao base64 para encodicao de nome e senha, enviando o resultado ao servidor. Este um mtodo muito usado e pouco seguro, pois qualquer sniffer instalado em um roteador pode capturar e descobrir facilmente seu nome e senha. Digest - Transmite os dados de uma maneira que no pode ser facilmente decodicada, incluindo a codicao da rea protegida (especicada pela diretiva AuthName) que possui a seqencia de login/senha vlida. A diferena deste mtodo que voc precisar de arquivos de senhas diferentes para cada rea protegida especicada por AuthName (tambm chamada de Realm). AuthUserFile: o arquivo gerado pelo utilitrio htpasswd que contm a senha correspondente ao usurio AuthGroupFile: um arquivo texto que contm o nome do grupo, dois pontos (":") e o nome dos usurios que podem ter acesso ao recurso, separados por vrgulas. No exemplo acima ele se encontra comentado, mas a seguir encontrar exemplos que explicam em detalhes o funcionamento desta diretiva. Require: Especica que usurios podem ter acesso ao diretrio. Podem ser usadas uma das 3 sintaxes: Require user usurio1 usurio2 usurio3 - Somente os usurios especicados so considerados vlidos para ter acesso ao diretrio. Require group grupo1 grupo2 grupo3 - Somente os usurios dos grupos especicados so considerados vlidos para terem acesso ao diretrio. Esta diretiva til quando deseja que somente alguns usurios de determinado grupo tenham acesso ao recurso (por exemplo, usurios do grupo admins). Require valid-user - Qualquer usurio vlido no banco de dados de senhas pode acessar o diretrio. bem til quando as opes de acesso especicadas por Require user so muito longas. A opo Require deve ser acompanhado das diretivas AuthName, AuthType e as diretivas AuthUserFile e AuthGroupFile para funcionar adequadamente. OBS: necessrio reiniciar o Apache depois de qualquer modicao em seu arquivo de congurao (apachectl restart), ou recarregar os arquivos de congurao (apachectl graceful). Note que o apachectl somente um shell script para interao mais amigvel com o servidor web apache, retornando mensagens indicando o sucesso/falha no comando ao invs de cdigos de sada. Alguns exemplos para melhor assimilao:

?=JE JAIJA )KJD = A )?AII = F CE = @ . ?= E KN )KJD6OFA >=IE? )KJD7IAH.E A D A C AO@I 5A D=7IK=HE 4AGKEHA KIAH C AO@I ?=JE
37

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

As explicaes so idnticas a anterior, mas somente permite o acesso do usurio gleydson a URL http://servidor.org/teste, bloqueando o acesso de outros usurios contidos no arquivo AuthUserFile.

?=JE JAIJA )KJD = A )?AII = F CE = @ . ?= E KN )KJD6OFA >=IE? )KJD7IAH.E A D A C AO@I 5A D=7IK=HE 4AGKEHA KIAH C AO@I KIK=HE  KIK=HE ?=JE ?=JE JAIJA )KJD = A )?AII = F CE = @ . ?= E KN )KJD6OFA >=IE? )KJD7IAH.E A D A C AO@I 5A D=7IK=HE 4AGKEHA KIAH C AO@I 4AGKEHA KIAH KIK=HE  4AGKEHA KIAH KIK=HE ?=JE
As 2 especicaes acima so equivalentes e permite o acesso aos usurios gleydson, usuario1 e usuario2 a pgina http://servidor.org/teste. Autenticao usando grupos H casos onde existem usurios de um arquivo de senhas que devem ter acesso a um diretrio e outros no, neste caso a diretiva valid-user no pode ser especicada (porque permitiria o acesso de todos os usurios do arquivo de senha ao diretrio) e uma grande lista de usurios caria bastante complicada de ser gerenciada com vrios usurios na diretiva Require user. Quando existe esta situao, recomendado o uso de grupos de usurios. Para fazer uso desse recurso, primeiro dever ser criado um arquivo quer armazenar o nome do grupo e dos usurios pertencente quele grupo usando a seguinte sintaxe (vamos chamar este arquivo de SenhaGrupo):

=@ E I C AO@I KIK=HE KIK=HE I KIK=HE  KIK=HE

KIK=HE ! C AO@I

Agora adaptamos o exemplo anterior para que somente os usurios especicados no grupo admins do arquivo criado acima:

?=JE JAIJA )KJD = A )?AII )KJD6OFA >=IE? )KJD7IAH.E A D )KJD/H KF.E A D 4AGKEHA CH KF =@ ?=JE

= F CE = @ A C AO@I A C AO@I E I

. ?=

E KN

5A D=7IK=HE 5A D=/HKF

Agora somente os usurios pertencentes ao grupo admins (gleydson e usuario2) podero ter acesso ao diretrio /teste. OBS1: Verique se o servidor Web possui acesso a leitura no arquivo de senhas de usurios e grupos, caso contrrio ser retornado um cdigo "500 - Internal Server Error". Este tipo de 38

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

erro caracterizado por tudo estar OK na sintaxe dos arquivos de congurao aps checagem com "apache -t"e todas as diretivas de controle de acesso apontam para os diretrios e arquivos corretos. OBS2:: Sempre use espaos para separar os nomes de usurios pertencentes a um grupo. OBS3: NUNCA coloque os arquivos que contm senhas e grupos em diretrios de acesso pblico onde usurios podem ter acesso via o servidor Web. Tais localizaes so /var/www, /home/"usuario"/public_html e qualquer outro diretrio de acesso pblico que dena em seu sistema. recomendvel tambm ocultar estes arquivos atravs da diretiva <Files> evitando possveis riscos de segurana com usurios acessando os arquivos de senha e grupo. Na distribuio Debian, qualquer arquivo iniciando com .ht* ser automaticamente ocultado pelo sistema, pois j existe uma diretiva <Files "ht. Tal diretiva pode tambm ser especicada no arquivo de acesso .htaccess. Assim um arquivo .htsenha e .htgroup so bons nomes se estiver desejando ocultar dados de olhos curiosos.

3.4 Arquivos de log


O servidor httpd grava seus arquivos de log geralmente em /var/log/apache2, no possvel descrever os arquivos de logs usados porque tanto seus nomes como contedo podem ser personalizados no arquivo httpd.conf. Mesmo assim, os arquivos de logs encontrados na instalao padro do Apache so os seguintes: access.log - Registra detalhes sobre o acesso as pginas do servidor httpd. error.log - Registra detalhes saber erros de acesso as pginas ou erros internos do servidor.

3.5 Virtual Hosts


3.5.1 Introduo
Virtual Hosts (sites virtuais) um recurso que permite servir mais de um site no mesmo servidor. Podem ser usadas diretivas especcas para o controle do site virtual, como nome do administrador, erros de acesso a pgina, controle de acesso e outros dados teis para personalizar e gerenciar o site. Existem 2 mtodos de virtual hosts: Virtual Hosts baseados em IP - Requer um endereo IP diferente para cada site. Este poder ser um IP real (da interface de rede) ou um apelido, o que interessa que deve haver um endereo IP diferente para cada site. O nmero de sites servidos estar limitado a quantidade de endereos IP disponveis em sua classe de rede. O apache foi um dos primeiros servidores web a incluir suporte a virtual hosts baseados em IP. Virtual Hosts baseados em nome - Este utiliza nomes para identicar os sites servidos e requerem somente um endereo IP. Desta maneira possvel servir um nmero ilimitado de sites virtuais. O navegador do cliente deve suportar os cabealhos necessrios para garantir o funcionamento deste recurso (praticamente todos os navegadores atuais possuem este suporte).

39

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

3.5.2 Virtual hosts baseados em IP


Existem duas maneiras de rodar este tipo de host virtual: Atravs de daemons httpd separados ou em um nico daemon httpd usando a diretiva <VirtualHost>. As vantagens do uso de daemons separados para servir requisies a proteo sob UID e GID diferente dos outros servidores, assim o administrador do site1 no ter acesso ao httpd.conf, pgina do site2 (porque ele estar rodando sob uma UID e GID diferentes e o acesso restrito). Para usar este mtodo, especique a opo -f [arquivo_cfg] para utilizar um arquivo de congurao personalizado e a diretiva Listen endereo:porta para dizer onde o servidor aguardar as requisies. As vantagens do uso de um mesmo daemon para servir as requisies so: quando no h problema se os administradores de outros sites tenham acesso ao mesmo arquivo de congurao ou quando h a necessidade de servir muitas requisies de uma s vez (quanto menos servidores web estiverem em execuo, melhor o desempenho do sistema). Abaixo um exemplo de congurao de virtual hosts servindo os sites www.site1.com.br e www.site2.com.br:

5AHLAH)@ E MA> =IJAH(IEJA ?

>H

8EHJK= 0 IJ MMM IEJA ? >H 5AHLAH = A MMM IEJA ? >H 5AHLAH)@ E IEJA(IEJA ? >H , ?K A J4 J L=H MMM MMM IEJA ? >H 6H= IBAH C L=H C =F=?DA IEJA =??AII C -HH H C L=H C =F=?DA IEJA AHH H C 7IAH MMM @=J= /H KF MMM @=J= 8EHJK= 0 IJ 8EHJK= 0 IJ MMM IEJA ? >H 5AHLAH = A MMM IEJA ? >H , ?K A J4 J L=H MMM MMM IEJA ? >H +KIJ C L=H C =F=?DA IEJA =??AII C ? -HH H C L=H C =F=?DA IEJA AHH H C 8EHJK= 0 IJ

>E A@

Qualquer diretiva dentro de <VirtualHost> ter efeito no site virtual especicado. Quando uma diretiva no for especicada dentro de <VirtualHost>, sero usados os valores padres especicados no arquivo de congurao do Apache 2 (como a diretiva ServerAdmin webmaster@site.com.brwww.site2.com.br). que ser usado como padro na congurao de virtual hosts Digite apache2 -S para ver suas conguraes de virtual hosts atual. OBS1: Desative a diretiva UseCanonicalName off quando utilizar o recurso de mquinas virtuais, esta diretiva faz que o nome do servidor retornado usando o valor em ServerName quando o cliente digita um endereo qualquer. OBS2: Utilize sempre que possvel endereos IP em conguraes crticas, assim os servios no sero to vulnerveis a possveis falsicaes ou erros. OBS3: No permita que outros usurios a no ser o root e o dono do processo Apache (especicado pela diretiva User) tenham acesso de gravao aos logs gerados pelo servidor, pois os dados podem ser apagados ou criados links simblicos para binrios do sistema que sero destrudos quando o Apache gravar dados. Alguns binrios e bibliotecas so essenciais para o funcionamento do sistema.

40

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

3.5.3 Virtual hosts baseados em nome


Este mtodo idntico ao baseado em IP, em especial adicionamos a diretiva NameVirtualHost para dizer qual o endereo IP do servidor que est servindo os virtual hosts baseados em nome. Veja o exemplo de congurao:

= A8EHJK= 0 IJ 



  &

8EHJK= 0 IJ @AB=K J &     & 5AHLAH = A MMM IEJA ? >H 5AHLAH)@ E =@ E (IEJA ? >H , ?K A J4 J L=H MMM 6H= IBAH C L=H C =F=?DA =??AII -HH H C L=H C =F=?DA AHH H C 8EHJK= 0 IJ 8EHJK= 0 IJ     5AHLAH = A MMM IEJA ? >H 5AHLAH)@ E =@ E (IEJA ? >H , ?K A J4 J L=H MMM MMM IEJA ? >H 6H= IBAH -HH H C L=H C =F=?DA IEJA AHH H C 8EHJK= 0 IJ 8EHJK= 0 IJ     5AHLAH = A MMM IEJA ? >H 5AHLAH)@ E =@ E (IEJA ? >H , ?K A J4 J L=H MMM MMM IEJA ? >H 6H= IBAH -HH H C L=H C =F=?DA IEJA AHH H C 8EHJK= 0 IJ

L=H

C =F=?DA IEJA =??AII

L=H

C =F=?DA IEJA

=??AII

A diretiva NameVirtualHost diz que ser usado virtual hosts baseados em nome servidos pela mquina com IP 200.200.200.10. Os parmetros dentro do bloco das diretivas <VirtualHost > so especcas somente no site virtual especicado, caso contrrio os valores padres denidos no arquivo de congurao sero usados. Caso nenhum virtual host conra com a congurao, o virtualhost _default_ ser usado. Digite apache -S para ver suas conguraes de virtual hosts atual. Se sua inteno criar um grande nmero de virtual hosts que sero servidos pela mesma mquina, o uso da expanso %0 e diretivas VirtualDocumentRoot e VirtualScriptAlias so recomendados:

= A8EHJK= 0 IJ 



  &

8EHJK= 0 IJ     8EHJK= , ?K A J4 J L=H MMM  8EHJK= 5?HEFJ) E=I L=H MMM  ?CE >E 6H= IBAH C C =F=?DA IEJA =??AII C -HH H C C =F=?DA IEJA AHH H C 8EHJK= 0 IJ
Agora crie os diretrios em /var/www correspondentes aos nomes de domnios que sero servidos por sua mquina: mkdir /var/www/www.site1.com.br, mkdir /var/www/www.site2.com.br. Note que sua mquina dever estar com o DNS congurado para responder por estes domnios . 41

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

ATENO importante que os endereos especicados nas diretivas ServerName (www.site1.com.br) resolvam o endereo IP da diretiva VirtualHost200.200.200.10. Isto deve ser feito via DNS ou nos arquivos /etc/hosts. OBS1: Utilize sempre que possvel endereos IP em conguraes crticas, assim os servios no sero to vulnerveis a possveis falsicaes ou erros. OBS2: No permita que outros usurios a no ser o root e o dono do processo Apache (especicado pela diretiva User) tenha acesso de gravao aos logs gerados pelo servidor. Pois os dados podem ser apagados ou criados links para binrios do sistema que sero destrudos quando o apache gravar dados para os logs. Alguns binrios e bibliotecas so essenciais para o funcionamento do sistema.

42

Anda mungkin juga menyukai