{"id":308,"date":"2012-08-09T13:37:34","date_gmt":"2012-08-09T16:37:34","guid":{"rendered":"http:\/\/linuxrs.com.br\/?p=308"},"modified":"2012-08-09T13:37:34","modified_gmt":"2012-08-09T16:37:34","slug":"apache","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=308","title":{"rendered":"Apache"},"content":{"rendered":"<p>Introdu\u00e7\u00e3o<br \/>\nO servidor web \u00e9 um programa respons\u00e1vel por disponibilizar p\u00e1ginas, fotos, ou qualquer outro tipo<br \/>\nde objeto ao navegador do cliente. Ele tamb\u00e9m pode operar recebendo dados do cliente,<br \/>\nprocessando e enviando o resultado para que o cliente possa tomar a a\u00e7\u00e3o desejada (como em<br \/>\naplica\u00e7\u00f5es CGI&#8217;s, banco de dados web, preenchimento de formul\u00e1rios, etc).<br \/>\nO Apache \u00e9 um servidor Web extremamente configur\u00e1vel, robusto e de alta performance<br \/>\ndesenvolvido por uma equipe de volunt\u00e1rios (conhecida como Apache Group) buscando criar<br \/>\num servidor web com muitas caracter\u00edsticas e com c\u00f3digo fonte dispon\u00edvel gratuitamente via<br \/>\nInternet. Segundo a Netcraft (http:\/\/www.netcraft.com\/), o Apache \u00e9 mais usado que<br \/>\ntodos os outros servidores web do mundo juntos.<br \/>\nEste cap\u00edtulo n\u00e3o tenta ser um guia completo ao Apache, mas tentar\u00e1 mostrar como sua estrutura \u00e9<br \/>\norganizada, as diretivas principais de configura\u00e7\u00e3o, diretivas de seguran\u00e7a, virtual hosting, proxy, o<br \/>\nuso de utilit\u00e1rios de gerenciamento do servidor, como personalizar algumas partes do servidor e<br \/>\nprogramas \u00fateis de terceiros para an\u00e1lise e diagn\u00f3stico do servidor web. N\u00e3o deixe tamb\u00e9m de ver<br \/>\nExemplo comentado de um arquivo de configura\u00e7\u00e3o do Apache, Se\u00e7\u00e3o 12.14 pois cont\u00e9m diretivas<br \/>\nb\u00e1sicas de configura\u00e7\u00e3o comentadas e explica\u00e7\u00f5es interessante e faz parte do aprendizado.<br \/>\n12.1.1 Vers\u00e3o<br \/>\n\u00c9 assumido que esteja usando a vers\u00e3o 1.3.22 do apache. As explica\u00e7\u00f5es contidas aqui podem<br \/>\nfuncionar para vers\u00f5es posteriores, mas \u00e9 recomend\u00e1vel que leia a documenta\u00e7\u00e3o sobre<br \/>\nmodifica\u00e7\u00f5es no programa (changelog) em busca de mudan\u00e7as que alterem o sentido das<br \/>\nexplica\u00e7\u00f5es fornecidas aqui.<br \/>\n12.1.2 Um resumo da Hist\u00f3ria do Apache<br \/>\nO Apache tem como base o servidor web NCSA 1.3 (National Center of Supercomputing<br \/>\nApplications), que foi desenvolvido por Rob McCool. Quando Rob deixou o NCSA, o<br \/>\ndesenvolvimento foi interrompido, assim muitos desenvolvedores buscaram personalizar sua<br \/>\npr\u00f3pria vers\u00e3o do NCSA ou adicionar mais caracter\u00edsticas para atender as suas necessidades. Neste<br \/>\nmomento come\u00e7a a hist\u00f3ria do Apache com Brian Behlendorf e Cliff Skolnick abrindo uma lista de<br \/>\ndiscuss\u00e3o para interessados no desenvolvimento, conseguindo espa\u00e7o em um servidor doado pela<br \/>\nHotWired e trocando patches corrigindo problemas, adicionando recursos e discutindo id\u00e9ias com<br \/>\noutros desenvolvedores e hackers interessados neste projeto.<br \/>\nA primeira vers\u00e3o oficial do Apache foi a 0.6.2, lan\u00e7ada em Abril de 1995 (neste per\u00edodo a NCSA<br \/>\nretomava o desenvolvimento de seu servidor web, tendo como desenvolvedores Brandon Long e<br \/>\nBeth Frank que tamb\u00e9m se tornaram membros especiais do grupo Apache, compartilhando id\u00e9ias<br \/>\nsobre seus projetos).<br \/>\nNas vers\u00f5es 2.x do Apache, a escalabilidade do servidor foi ampliada suportando as plataformas<br \/>\nWin32 (n\u00e3o obtendo o mesmo desempenho que em plataformas UNIX mas sendo melhorado<br \/>\ngradativamente).<br \/>\n12.1.3 Enviando Corre\u00e7\u00f5es\/Contribuindo com o projeto<br \/>\nUm formul\u00e1rio est\u00e1 dispon\u00edvel na Web para o envio de corre\u00e7\u00f5es\/sugest\u00f5es em<br \/>\nhttp:\/\/www.apache.org\/bug_report.html\/. Uma lista de anuncio sobre o Apache<br \/>\nest\u00e1 dispon\u00edvel em apache-announce@apache.org que divulgam corre\u00e7\u00f5es, novas vers\u00f5es e<br \/>\nrealiza\u00e7\u00e3o de eventos.<br \/>\nMais detalhes sobre o desenvolvimento do Apache podem ser visualizadas na URL<br \/>\nhttp:\/\/dev.apache.org\/.<br \/>\n12.1.4 Caracter\u00edsticas do Apache<br \/>\nAbaixo est\u00e3o algumas caracter\u00edsticas que fazem esse servidor web o preferido entre os<br \/>\nadministradores de sistemas:<br \/>\n\u2022 Possui suporte a scripts cgi usando linguagens como Perl, PHP, Shell Script, ASP, etc.<br \/>\n\u2022 Suporte a autoriza\u00e7\u00e3o de acesso podendo ser especificadas restri\u00e7\u00f5es de acesso<br \/>\nseparadamente para cada endere\u00e7o\/arquivo\/diret\u00f3rio acessado no servidor.<br \/>\n\u2022 Autentica\u00e7\u00e3o requerendo um nome de usu\u00e1rio e senha v\u00e1lidos para acesso a alguma<br \/>\np\u00e1gina\/sub-diret\u00f3rio\/arquivo (suportando criptografia via Crypto e MD5).<br \/>\n\u2022 Negocia\u00e7\u00e3o de conte\u00fado, permitindo a exibi\u00e7\u00e3o da p\u00e1gina Web no idioma requisitado pelo<br \/>\nCliente Navegador.<br \/>\n\u2022 Suporte a tipos mime.<br \/>\n\u2022 Personaliza\u00e7\u00e3o de logs.<br \/>\n\u2022 Mensagens de erro.<br \/>\n\u2022 Suporte a virtual hosting (\u00e9 poss\u00edvel servir 2 ou mais p\u00e1ginas com endere\u00e7os\/ portas<br \/>\ndiferentes atrav\u00e9s do mesmo processo ou usar mais de um processo para controlar mais de<br \/>\num endere\u00e7o).<br \/>\n\u2022 Suporte a IP virtual hosting.<br \/>\n\u2022 Suporte a name virtual hosting.<br \/>\n\u2022 Suporte a servidor Proxy ftp e http, com limite de acesso, caching (todas flexivelmente<br \/>\nconfigur\u00e1veis).<br \/>\n\u2022 Suporte a proxy e redirecionamentos baseados em URLs para endere\u00e7os Internos.<br \/>\n\u2022 Suporte a criptografia via SSL,Certificados digitais<br \/>\n\u2022 M\u00f3dulos DSO (Dynamic Shared Objects) permitem adicionar\/remover funcionalidades e<br \/>\nrecursos sem necessidade de recompila\u00e7\u00e3o do programa.<br \/>\n12.1.5 Ficha t\u00e9cnica<br \/>\nPacote: apache<br \/>\nUtilit\u00e1rios:<br \/>\n\u2022 apache &#8211; Servidor Web Principal<br \/>\n\u2022 apachectl &#8211; Shell script que faz interface com o apache de forma mais amig\u00e1vel<br \/>\n\u2022 apacheconfig &#8211; Script em Perl para configura\u00e7\u00e3o interativa b\u00e1sica do Apache<br \/>\n\u2022 htpasswd &#8211; Cria\/Gerencia senhas criptografadas Crypto\/MD5<br \/>\n\u2022 htdigest &#8211; Cria\/Gerencia senhas criptografadas Crypto\/MD5<br \/>\n\u2022 dbmmanage &#8211; Cria\/Gerencia senhas em formato DBM (Perl)<br \/>\n\u2022 logresolve &#8211; Faz um DNS reverso dos arquivos de log do Apache para obter o<br \/>\nendere\u00e7o de hosts com base nos endere\u00e7os IP&#8217;s.<br \/>\n\u2022 ab &#8211; Apache Benchmarcking &#8211; Ferramenta de medida de desempenho do servidor Web<br \/>\nApache.<br \/>\nPor padr\u00e3o, os arquivos de configura\u00e7\u00e3o do Apache residem no diret\u00f3rio \/etc\/apache:<br \/>\nhttpd.conf<br \/>\nArquivo de configura\u00e7\u00e3o principal do Apache, possui diretivas que controlam a opera\u00e7\u00e3o do<br \/>\ndaemon servidor. Um arquivo de configura\u00e7\u00e3o alternativo pode ser especificado atrav\u00e9s da<br \/>\nop\u00e7\u00e3o &#8220;-f&#8221; da linha de comando.<br \/>\nsrm.conf<br \/>\nCont\u00e9m diretivas que controlam a especifica\u00e7\u00e3o de documentos que o servidor oferece aos<br \/>\nclientes. O nome desse arquivo pode ser substitu\u00eddo atrav\u00e9s da diretiva ResourceConfig no<br \/>\narquivo principal de configura\u00e7\u00e3o.<br \/>\naccess.conf<br \/>\nCont\u00e9m diretivas que controlam o acesso aos documentos. O nome desse arquivo pode ser<br \/>\nsubstitu\u00eddo atrav\u00e9s da diretiva AccessConfig no arquivo principal de configura\u00e7\u00e3o.<br \/>\nO servidor Web l\u00ea os arquivos acima na ordem que est\u00e3o especificados (httpd.conf,<br \/>\nsrm.conf e access.conf). As configura\u00e7\u00f5es tamb\u00e9m podem ser especificadas diretamente no<br \/>\narquivo httpd.conf. Note que n\u00e3o \u00e9 obrigat\u00f3rio usar os arquivos srm.conf e<br \/>\naccess.conf, mas isto proporciona uma melhor organiza\u00e7\u00e3o das diretivas do servidor,<br \/>\nprincipalmente quando se tem um grande conjunto de diretivas. Um exemplo comentado destes tr\u00eas<br \/>\narquivos de configura\u00e7\u00e3o \u00e9 encontrado em Exemplo comentado de um arquivo de configura\u00e7\u00e3o do<br \/>\nApache, Se\u00e7\u00e3o 12.14.<br \/>\n12.1.6 Requerimentos<br \/>\nA m\u00e1quina m\u00ednima para se rodar um servidor Apache para atender a uma rede padr\u00e3o 10MB\/s \u00e9<br \/>\num Pentium 90, 24MB de RAM, um HD com um bom desempenho e espa\u00e7o em disco consider\u00e1vel<br \/>\nde acordo com o tamanho projetado de seu servidor web (considerando seu crescimento).<br \/>\nUma configura\u00e7\u00e3o mais r\u00e1pida para redes 100MB\/s teria como processador um Cyrix MX ou Intel<br \/>\nPentium MMX como plataforma m\u00ednima (Cyrix \u00e9 o recomendado pelo alto desempenho no<br \/>\nprocessamento de strings), barramento de HD SCSI com uma boa placa controladora (Adaptec<br \/>\n19160 ou superior) com 64MB de RAM no m\u00ednimo.<br \/>\n12.1.7 Arquivos de log criados pelo Apache<br \/>\nO servidor httpd grava seus arquivos de log geralmente em \/var\/log\/apache, n\u00e3o \u00e9 poss\u00edvel<br \/>\ndescrever os arquivos de logs usados porque tanto seus nomes como conte\u00fado podem ser<br \/>\npersonalizados no arquivo httpd.conf. Mesmo assim, os arquivos de logs encontrados na<br \/>\ninstala\u00e7\u00e3o padr\u00e3o do Apache s\u00e3o os seguintes:<br \/>\n\u2022 access.log &#8211; Registra detalhes sobre o acesso as p\u00e1ginas do servidor httpd.<br \/>\n\u2022 error.log &#8211; Registra detalhes saber erros de acesso as p\u00e1ginas ou erros internos do<br \/>\nservidor.<br \/>\n\u2022 agent.log &#8211; Registra o nome do navegador do cliente (campo UserAgent do cabe\u00e7alho<br \/>\nhttp).<br \/>\nMais refer\u00eancias podem ser encontradas em Sistema de Log do Apache, Se\u00e7\u00e3o 12.10. Um bom<br \/>\nprograma para gera\u00e7\u00e3o de estat\u00edsticas de acesso com gr\u00e1ficos \u00e9 o Relat\u00f3rio gr\u00e1fico de acesso ao<br \/>\nsistema, Se\u00e7\u00e3o 12.10.15.<br \/>\n12.1.8 Instala\u00e7\u00e3o<br \/>\napt-get install apache apache-doc<br \/>\n(o pacote apache-doc cont\u00e9m a documenta\u00e7\u00e3o de referencia do Apache, \u00e9 recomend\u00e1vel<br \/>\ninstala-lo se estiver curioso e deseja entender melhor seu funcionamento ou consultar diretivas).<br \/>\n12.1.9 Iniciando o servidor\/reiniciando\/recarregando a configura\u00e7\u00e3o<br \/>\nO Apache pode ser executado tanto como um servidor Inetd ou como um Daemon. A inicializa\u00e7\u00e3o<br \/>\nde programas pelo Inetd \u00e9 uma boa estrat\u00e9gia quando voc\u00ea precisa de um controle de acesso b\u00e1sico<br \/>\n(o fornecido pelo tcpd), e o servi\u00e7o \u00e9 pouco usado na m\u00e1quina.<br \/>\nA seguran\u00e7a de um servi\u00e7o iniciado pelo inetd pode ser substitu\u00edda e melhorada por um firewall<br \/>\nbem configurado, garantindo facilidades extras como um relat\u00f3rio de tr\u00e1fego para a porta do<br \/>\nservidor web, por exemplo. Mesmo assim se o servidor Apache estiver rodando como daemon e<br \/>\nestiver ocioso, ele ser\u00e1 movido para swap liberando a mem\u00f3ria RAM para a execu\u00e7\u00e3o de outros<br \/>\nprogramas.<br \/>\nNeste cap\u00edtulo ser\u00e1 assumido seu funcionamento do Apache como Daemon, que \u00e9 o m\u00e9todo de<br \/>\nfuncionamento recomendado para sites de grande tr\u00e1fego onde ele \u00e9 freq\u00fcentemente requisitado e<br \/>\nconsiderado um servi\u00e7o cr\u00edtico.<br \/>\nO m\u00e9todo padr\u00e3o para iniciar programas como daemons na Debian \u00e9 atrav\u00e9s dos diret\u00f3rios<br \/>\n\/etc\/rc?.d. Cada diret\u00f3rio deste cont\u00e9m os programas que ser\u00e3o executados\/interrompidos no<br \/>\nn\u00edvel de execu\u00e7\u00e3o &#8220;?&#8221; (rc1.d\/, rc2.d\/ &#8230;). O conte\u00fado destes diret\u00f3rios s\u00e3o links para os scripts<br \/>\noriginais em \/etc\/init.d\/programa, o nosso programa alvo \u00e9 \/etc\/init.d\/apache. O<br \/>\n\/etc\/init.d\/apache aceita os seguintes par\u00e2metros:<br \/>\n\u2022 start &#8211; Inicia o Apache<br \/>\n\u2022 stop &#8211; Finaliza o Apache<br \/>\n\u2022 restart &#8211; Reinicia o Apache, efetuando uma pausa de 5 segundos entre a interrup\u00e7\u00e3o do<br \/>\nseu funcionamento e reinicio.<br \/>\n\u2022 reload &#8211; Recarrega os arquivos de configura\u00e7\u00e3o do Apache, as altera\u00e7\u00f5es entram em<br \/>\nfuncionamento imediatamente.<br \/>\n\u2022 reload-modules &#8211; Recarrega os m\u00f3dulos. Basicamente \u00e9 feito um restart no servidor.<br \/>\n\u2022 force-reload &#8211; Faz a mesma fun\u00e7\u00e3o que o reload<br \/>\nPara reiniciar o Apache usando o \/etc\/init.d\/apache, digite:<br \/>\n.\/etc\/init.d\/apache restart<br \/>\nou<br \/>\ncd \/etc\/init.d;.\/apache restart<br \/>\nNa realidade, o que o \/etc\/init.d\/apache faz \u00e9 interagir diretamente com o shell script<br \/>\napachectl.<br \/>\nO apachectl recebe os par\u00e2metros enviados pelo usu\u00e1rio e converte para sinais que ser\u00e3o<br \/>\nenviados para o bin\u00e1rio apache. Da mesma forma ele verifica os c\u00f3digos de sa\u00edda do apache e<br \/>\nos transforma em mensagens de erro leg\u00edveis para o usu\u00e1rio comum. Os seguintes comandos s\u00e3o<br \/>\naceitos pelo apachectl:<br \/>\n\u2022 httpd-server\/start &#8211; Inicia o Apache<br \/>\n\u2022 stop &#8211; Finaliza o Apache (enviando um sinal TERM)<br \/>\n\u2022 restart &#8211; Reinicia o Apache (enviando um sinal HUP)<br \/>\n\u2022 graceful &#8211; Recarrega os arquivos de configura\u00e7\u00e3o do Apache (enviando um sinal<br \/>\nUSR1)<br \/>\n\u2022 fullstatus &#8211; Mostra o status completo do servidor Apache (requer o lynx e o m\u00f3dulo<br \/>\nmod_status carregado).<br \/>\n\u2022 status &#8211; Mostra o status do processo do servidor Apache (requer o lynx e o m\u00f3dulo<br \/>\nmod_status carregado).<br \/>\n\u2022 configtest &#8211; Verifica se a sintaxe dos arquivos de configura\u00e7\u00e3o est\u00e1 OK (executa um<br \/>\napache -t).<br \/>\n12.1.10 Op\u00e7\u00f5es de linha de comando<br \/>\n\u2022 -D nome &#8211; define um nome que ser\u00e1 usado na diretiva &lt;IfDefine nome&gt;.<br \/>\n\u2022 -d diret\u00f3rio &#8211; especifica o diret\u00f3rio ServerRoot (substitui o do arquivo de<br \/>\nconfigura\u00e7\u00e3o).<br \/>\n\u2022 -f arquivo &#8211; especifica um arquivo ServerConfigFile alternativo.<br \/>\n\u2022 -C &#8220;diretiva&#8221; &#8211; processa a diretiva antes de ler os arquivo de configura\u00e7\u00e3o.<br \/>\n\u2022 -c &#8220;diretiva&#8221; &#8211; processa a diretiva depois de ler os arquivos de configura\u00e7\u00e3o.<br \/>\n\u2022 -v &#8211; mostra a vers\u00e3o do programa.<br \/>\n\u2022 -V &#8211; mostra op\u00e7\u00f5es usadas na compila\u00e7\u00e3o do Apache.<br \/>\n\u2022 -h &#8211; Mostra o help on-line do programa<br \/>\n\u2022 -l &#8211; lista m\u00f3dulos compilados junto com o Apache (embutidos)<br \/>\n\u2022 -L &#8211; lista diretivas de configura\u00e7\u00f5es dispon\u00edveis<br \/>\n\u2022 -S &#8211; Mostra configura\u00e7\u00f5es de Virtual Hosting<br \/>\n\u2022 -t &#8211; executa a checagem de sintaxe nos arquivos de configura\u00e7\u00e3o do Apache (incluindo a<br \/>\nchecagem da diretiva DocRoot).<br \/>\n\u2022 -T &#8211; executa a checagem de sintaxe nos arquivos de configura\u00e7\u00e3o do Apache (menos da<br \/>\ndiretiva DocRoot).<br \/>\n12.2 Configurando a porta padr\u00e3o do Apache<br \/>\nUse a diretiva Port para configurar a porta padr\u00e3o que o Apache receber\u00e1 requisi\u00e7\u00f5es por padr\u00e3o.<br \/>\nA diretiva Listen tamb\u00e9m \u00e9 usada para ajustar o endere\u00e7o\/portas alternativas (usadas tamb\u00e9m em<br \/>\nVirtual Hosts) e substituir\u00e1 as defini\u00e7\u00f5es de Port(veja Especificando endere\u00e7os\/portas<br \/>\nadicionais (a diretiva Listen ), Se\u00e7\u00e3o 12.5 para detalhes).<br \/>\nOBS:: Somente uma diretiva Port e um argumento poder\u00e3o ser especificados. Para mais controle<br \/>\nsobre as portas do sistema use a diretiva Listen.<br \/>\n12.3 Adicionando uma p\u00e1gina no Apache<br \/>\nExistem dois tipos de p\u00e1ginas que podem ser adicionadas ao Apache: a p\u00e1gina ra\u00edz e sub-p\u00e1ginas.<br \/>\nP\u00e1gina Ra\u00edz<br \/>\nA p\u00e1gina ra\u00edz \u00e9 especificada atrav\u00e9s da diretiva DocumentRoot e ser\u00e1 mostrada quando se<br \/>\nentrar no dom\u00ednio principal, como http:\/\/www.guiafoca.org. Na configura\u00e7\u00e3o<br \/>\npadr\u00e3o do Apache, DocumentRoot aponta para o diret\u00f3rio \/home\/viaza132\/www. Este diret\u00f3rio ser\u00e1<br \/>\nassumido como ra\u00edz caso os diret\u00f3rios n\u00e3o sejam iniciados por uma \/:<br \/>\n\u2022 home\/focalinux &#8211; Aponta para \/home\/viaza132\/www\/home\/focalinux<br \/>\n\u2022 \/home\/focalinux &#8211; Aponta para \/home\/focalinux<br \/>\nEste diret\u00f3rio deve conter um arquivo de \u00edndice v\u00e1lido (especificado pela diretiva<br \/>\nDocumentIndex no srm.conf) e permiss\u00f5es de acesso v\u00e1lidas no arquivo access.conf<br \/>\npara autorizar o acesso as p\u00e1ginas em \/home\/viaza132\/www (veja Restri\u00e7\u00f5es de Acesso, Se\u00e7\u00e3o 12.7<br \/>\npara detalhes).<br \/>\nSub-p\u00e1ginas<br \/>\nSub p\u00e1ginas s\u00e3o armazenadas abaixo do diret\u00f3rio da P\u00e1gina ra\u00edz, como<br \/>\nhttp:\/\/www.guiafoca.org\/download. Elas podem ser um subdiret\u00f3rio da p\u00e1gina<br \/>\nprincipal em \/home\/viaza132\/www ou serem criadas atrav\u00e9s da diretiva Alias no arquivo srm.conf.<br \/>\nCaso seja um sub-diret\u00f3rio, as permiss\u00f5es de acesso de \/home\/viaza132\/www ser\u00e3o herdadas para este<br \/>\nsubdiret\u00f3rio, mas tamb\u00e9m poder\u00e3o ser modificadas com a especifica\u00e7\u00e3o de uma nova diretiva<br \/>\nde acesso.<br \/>\nAtrav\u00e9s da diretiva Alias a p\u00e1gina pode estar localizada em outro diret\u00f3rio do disco (at\u00e9<br \/>\nmesmo outro sistema de arquivos) e as permiss\u00f5es de acesso dever\u00e3o ser definidas para<br \/>\naquela p\u00e1gina. Para criar um endere\u00e7o http:\/\/www.guiafoca.org\/iniciante que<br \/>\naponta para o diret\u00f3rio \/home\/focalinux\/download\/iniciante no disco local,<br \/>\nbasta usar a seguinte diretiva no srm.conf:<br \/>\nAlias \/iniciante \/home\/focalinux\/download\/iniciante<br \/>\nPode ser necess\u00e1rio permitir o acesso a nova p\u00e1gina caso o servidor tenha uma configura\u00e7\u00e3o<br \/>\nrestritiva por padr\u00e3o (veja Restri\u00e7\u00f5es de Acesso, Se\u00e7\u00e3o 12.7 para detalhes). Ap\u00f3s isto, fa\u00e7a o<br \/>\nservidor httpd re-ler os arquivos de configura\u00e7\u00e3o ou reinicia-lo. Ap\u00f3s isto, a p\u00e1gina<br \/>\n\/home\/focalinux\/download\/iniciante estar\u00e1 acess\u00edvel via<br \/>\nhttp:\/\/www.guiafoca.org\/iniciante.<br \/>\nOBS: Caso inclua uma \/ no diret\u00f3rio que ser\u00e1 acess\u00edvel via URL, o endere\u00e7o somente estar\u00e1<br \/>\ndispon\u00edvel caso voc\u00ea entre com \/ no final da URL:<br \/>\nAlias \/doc\/ \/usr\/doc\/<br \/>\nO diret\u00f3rio \/doc somente poder\u00e1 ser acessado usando<br \/>\nhttp:\/\/www.guiafoca.org\/doc\/, o uso de http:\/\/www.guiafoca.org\/doc<br \/>\nretornar\u00e1 uma mensagem de URL n\u00e3o encontrada.<br \/>\n12.4 Configurando as interfaces que o Apache atender\u00e1<br \/>\nA diretiva BindAddress \u00e9 usada para especificar endere\u00e7os IP das interfaces ou endere\u00e7os FQDN<br \/>\nque o Apache responder\u00e1 requisi\u00e7\u00f5es. Mais de um endere\u00e7o podem ser especificados separados<br \/>\npor espa\u00e7os. Caso n\u00e3o seja definido, o Apache assumir\u00e1 o valor &#8220;*&#8221; (atender\u00e1 requisi\u00e7\u00f5es vindas<br \/>\nde qualquer interface).<br \/>\nOBS1: &#8211; \u00c9 permitido usar somente uma diretiva BindAddress. A diretiva Listen dever\u00e1 ser usada se<br \/>\ndesejar mais controle sobre as portas do servidor web. Veja Especificando endere\u00e7os\/portas<br \/>\nadicionais (a diretiva Listen ), Se\u00e7\u00e3o 12.5 para detalhes.<br \/>\nOBS2: &#8211; As interfaces especificadas pela diretiva Listen substituir\u00e1 as especificadas em<br \/>\nBindAddress.<br \/>\nExemplo:<br \/>\n\u2022 BindAddress 192.168.1.1 &#8211; Especifica que os usu\u00e1rios da faixa de rede<br \/>\n192.168.1.* ter\u00e3o acesso ao servidor httpd. Isto assume que a m\u00e1quina possui o<br \/>\nendere\u00e7o 192.168.1.1 em sua interface de rede interna.<br \/>\n\u2022 BindAddress * &#8211; Atender\u00e1 requisi\u00e7\u00f5es vindas de qualquer interface de rede.<br \/>\n12.5 Especificando endere\u00e7os\/portas adicionais (a diretiva<br \/>\nListen)<br \/>\nA diretiva Listen \u00e9 usada para se ter um controle maior sobre a especifica\u00e7\u00e3o de endere\u00e7os\/portas<br \/>\nalternativas que o servidor web esperar\u00e1 por requisi\u00e7\u00f5es externas. Esta diretiva \u00e9 muito usada na<br \/>\nconstru\u00e7\u00e3o de Virtual Hosts. Esta diretiva pode substituir completamente as diretivas Port e<br \/>\nBindAddress. Podem ser usados o n\u00famero da porta, ou o par endere\u00e7o:porta:<br \/>\nListen 192.168.1.1:80<br \/>\nListen 192.168.7.1:81<br \/>\nListen 60000<br \/>\nO endere\u00e7o que dever\u00e1 ser usado \u00e9 o da interface de rede (assim como na diretiva BindAddress). No<br \/>\nexemplo acima, o servidor httpd esperar\u00e1 por requisi\u00e7\u00f5es vindas de 192.168.1.* na porta 80 e<br \/>\ntamb\u00e9m 60000, e requisi\u00e7\u00f5es vindas de 192.168.7.1 na porta 81 e tamb\u00e9m 60000.<br \/>\n12.6 Especificando op\u00e7\u00f5es\/permiss\u00f5es para as p\u00e1ginas<br \/>\nAs op\u00e7\u00f5es de restri\u00e7\u00e3o podem tanto ser especificadas nas diretivas &lt;Directory&gt;, &lt;Location&gt; ou<br \/>\n&lt;Files&gt; quanto nos arquivos .htaccess (ou outro nome de arquivo de controle de acesso<br \/>\nespecificado pela op\u00e7\u00e3o AccessFileName do arquivo de configura\u00e7\u00e3o do Apache). Cada diretiva<br \/>\nde acesso \u00e9 especificada entre &lt;tags&gt; e devem ser fechadas com &lt;\/tag&gt; (como na linguagem<br \/>\nHTML). As seguintes diretivas de acesso s\u00e3o v\u00e1lidas no Apache:<br \/>\nDirectory<br \/>\nAs restri\u00e7\u00e3o afetar\u00e1 o diret\u00f3rio no disco especificado, conseq\u00fcentemente a p\u00e1gina armazenada<br \/>\nnele. Por exemplo:<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOrder deny,allow<br \/>\ndeny from all<br \/>\nallow from 10.1.0.1<br \/>\n&lt;Directory&gt;<br \/>\nO acesso ao diret\u00f3rio \/home\/viaza132\/www ser\u00e1 permitido somente ao computador com o endere\u00e7o IP<br \/>\n10.1.0.1.<br \/>\nDirectoryMatch<br \/>\nFunciona como a diretiva &lt;Directory&gt; mas trabalha com express\u00f5es regulares como<br \/>\nargumento. Por exemplo:<br \/>\n&lt;DirectoryMatch &#8220;^\/www\/.*&#8221;&gt;<br \/>\nOrder deny,allow<br \/>\ndeny from all<br \/>\n&lt;DirectoryMatch&gt;<br \/>\nBloquear\u00e1 o acesso ao diret\u00f3rio \/www e sub-diret\u00f3rios dentro dele.<br \/>\nFiles<br \/>\nAs restri\u00e7\u00f5es afetar\u00e3o os arquivos do disco que conferem com o especificado. \u00c9 poss\u00edvel usar<br \/>\nos coringas ? e * como no shell. Tamb\u00e9m podem ser usadas express\u00f5es regulares<br \/>\nespecificando um &#8220;~&#8221; ap\u00f3s Files e antes da express\u00e3o. Por exemplo:<br \/>\n&lt;Files *.txt&gt;<br \/>\nOrder deny,allow<br \/>\ndeny from all<br \/>\n&lt;\/Files&gt;<br \/>\nBloqueia o acesso a todos os arquivos com a extens\u00e3o .txt<br \/>\n&lt;Files ~ &#8220;\\.(gif|jpe?g|bmp|png)$&#8221;&gt;<br \/>\nOrder deny,allow<br \/>\n&lt;\/Files&gt;<br \/>\nBloqueia o acesso a arquivos gif, jpg, jpeg, bmp, png (note que o &#8220;~&#8221; ativa o<br \/>\nmodo de interpreta\u00e7\u00e3o de express\u00f5es regulares).<br \/>\nFilesMatch<br \/>\nPermite usar express\u00f5es regulares na especifica\u00e7\u00e3o de arquivos (equivalente a diretiva &lt;Files<br \/>\n~ &#8220;express\u00e3o&#8221;&gt;). Por exemplo:<br \/>\n&lt;FilesMatch &#8220;\\.(gif|jpe?g|bmp|png)$&#8221;&gt;<br \/>\nOrder deny,allow<br \/>\n&lt;\/FilesMatch&gt;<br \/>\nBloqueia o acesso a arquivos gif, jpg, jpeg, bmp, png.<br \/>\nLocation<br \/>\nAs restri\u00e7\u00f5es afetar\u00e3o o diret\u00f3rio base especificado na URL e seus sub-diret\u00f3rios. Por<br \/>\nexemplo:<br \/>\n&lt;Location \/security&gt;<br \/>\nOrder allow,deny<br \/>\n&lt;\/Location&gt;<br \/>\nBloqueia o acesso de todos os usu\u00e1rios ao diret\u00f3rio \/security da URL (a explica\u00e7\u00e3o<br \/>\nporque o acesso \u00e9 bloqueado neste caso ser\u00e1 explicado em Autoriza\u00e7\u00e3o, Se\u00e7\u00e3o 12.7.1).<br \/>\nLocationMatch<br \/>\nId\u00eantico a diretiva &lt;Location&gt; mas trabalha com express\u00f5es regulares. Por exemplo:<br \/>\n&lt;LocationMatch &#8220;\/(extra|special)\/data&#8221;&gt;<br \/>\nOrder deny,allow<br \/>\ndeny from all<br \/>\n&lt;\/LocationMatch&gt;<br \/>\nBloquear\u00e1 URLs que cont\u00e9m a substring &#8220;\/extra\/data&#8221; ou &#8220;\/special\/data&#8221;.<br \/>\nO uso das diretivas &lt;Directory&gt; e &lt;Files&gt; \u00e9 apropriada quando voc\u00ea deseja trabalhar com<br \/>\npermiss\u00f5es a n\u00edvel de diret\u00f3rios\/arquivos no disco local (o controle do proxy tamb\u00e9m \u00e9 feito via<br \/>\n&lt;Directory&gt;), o uso da diretiva &lt;Location&gt; \u00e9 adequado para trabalhar com permiss\u00f5es a n\u00edvel de<br \/>\nURL. A ordem de processamento das diretivas de acesso s\u00e3o processadas \u00e9 a seguinte:<br \/>\n\u2022 A diretiva &lt;Directory&gt; (com exce\u00e7\u00e3o de &lt;DirectoryMatch&gt;) e os arquivos .htaccess s\u00e3o<br \/>\nprocessados simultaneamente. As defini\u00e7\u00f5es dos arquivos .htaccess substituem as de<br \/>\n&lt;Directory&gt;)<br \/>\n\u2022 Express\u00f5es regulares de &lt;DirectoryMatch&gt;, &lt;Directory&gt;.<br \/>\n\u2022 &lt;Files&gt; e &lt;FilesMatch&gt; s\u00e3o processados simultaneamente.<br \/>\n\u2022 &lt;Location&gt; e &lt;LocationMatch&gt; s\u00e3o processados simultaneamente.<br \/>\nNormalmente \u00e9 encontrado a op\u00e7\u00e3o Options dentro de uma das diretivas acima, a fun\u00e7\u00e3o desta<br \/>\ndiretiva \u00e9 controlar os seguintes aspectos da listagem de diret\u00f3rios:<br \/>\nAll<br \/>\nTodas as op\u00e7\u00f5es s\u00e3o usadas exceto a MultiViews. \u00c9 a padr\u00e3o caso a op\u00e7\u00e3o Options n\u00e3o<br \/>\nseja especificada.<br \/>\nExecCGI<br \/>\nPermite a execu\u00e7\u00e3o de scripts CGI.<br \/>\nFollowSymLinks<br \/>\nO servidor seguir\u00e1 links simb\u00f3licos neste diret\u00f3rio (o caminho n\u00e3o \u00e9 modificado). Esta op\u00e7\u00e3o<br \/>\n\u00e9 ignorada caso apare\u00e7a dentro das diretivas &lt;Location&gt;, &lt;LocationMatch&gt; e<br \/>\n&lt;DirectoryMatch&gt;.<br \/>\nIncludes<br \/>\n\u00c9 permitido o uso de includes no lado do servidor.<br \/>\nIncludesNOEXEC<br \/>\n\u00c9 permitido o uso de includes do lado do servidor, mas o comando #exec e #include de<br \/>\num script CGI s\u00e3o desativados.<br \/>\nIndexes<br \/>\nSe n\u00e3o existir um arquivo especificado pela diretiva &lt;DirectoryIndex&gt; no diret\u00f3rio<br \/>\nespecificado, o servidor formatar\u00e1 automaticamente a listagem ao inv\u00e9s de gerar uma resposta<br \/>\nde acesso negado.<br \/>\nMultiViews<br \/>\nPermite o uso da Negocia\u00e7\u00e3o de conte\u00fado naquele diret\u00f3rio. A negocia\u00e7\u00e3o de conte\u00fado<br \/>\npermite o envio de um documento no idioma requisitado pelo navegador do cliente.<br \/>\nSymLinksIfOwnerMatch<br \/>\nO servidor somente seguir\u00e1 links simb\u00f3licos se o arquivo ou diret\u00f3rio alvo tiver como dono o<br \/>\nmesmo user ID do link. Esta op\u00e7\u00e3o \u00e9 ignorada caso apare\u00e7a dentro das diretivas &lt;Location&gt;,<br \/>\n&lt;LocationMatch&gt; e &lt;DirectoryMatch&gt;.<br \/>\nM\u00faltiplos par\u00e2metros para Options podem ser especificados atrav\u00e9s de espa\u00e7os.<br \/>\nOBS1: A op\u00e7\u00e3o Options n\u00e3o tem efeito dentro da diretiva FILES.<br \/>\nOBS2: Tanto faz usar mai\u00fasculas quanto min\u00fasculas nas diretivas de configura\u00e7\u00e3o, op\u00e7\u00f5es e<br \/>\npar\u00e2metros de configura\u00e7\u00e3o do Apache, a capitaliza\u00e7\u00e3o apenas ajuda a leitura e interpreta\u00e7\u00e3o:<br \/>\nSymLinksIfOwnerMatch (LinksSimb\u00f3licosSeDonoConferir).<br \/>\nAs op\u00e7\u00f5es especificadas para o diret\u00f3rio afetam tamb\u00e9m seus sub-diret\u00f3rios, a n\u00e3o ser que sejam<br \/>\nespecificadas op\u00e7\u00f5es separadas para o sub-diret\u00f3rio:<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOptions Indexes FollowSymLinks<br \/>\n&lt;\/Directory&gt;<br \/>\nAo acessar o diret\u00f3rio \/home\/viaza132\/www\/focalinux, as permiss\u00f5es usadas ser\u00e3o de \/home\/viaza132\/www, ao<br \/>\nmenos que uma diretiva &lt;Directory&gt; ou &lt;Location&gt; seja especificada:<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOptions Indexes FollowSymLinks<br \/>\n&lt;\/Directory&gt;<br \/>\n&lt;Directory \/home\/viaza132\/www\/focalinux&gt;<br \/>\nOptions Includes<br \/>\n&lt;\/Directory&gt;<br \/>\nAs op\u00e7\u00f5es e restri\u00e7\u00f5es de acesso de \/home\/viaza132\/www\/focalinux ser\u00e3o EXATAMENTE as<br \/>\nespecificadas no bloco da diretiva &lt;Directory \/home\/viaza132\/www\/focalinux&gt; e somente os includes ser\u00e3o<br \/>\npermitidos. Para adicionar ou remover uma op\u00e7\u00e3o individual definidas por diretivas anteriores,<br \/>\npodem ser usado os sinais &#8220;+&#8221; ou &#8220;-&#8220;, por exemplo:<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOptions Indexes FollowSymLinks<br \/>\n&lt;\/Directory&gt;<br \/>\n&lt;Directory \/home\/viaza132\/www\/focalinux&gt;<br \/>\nOptions +Includes -Indexes<br \/>\n&lt;\/Directory&gt;<br \/>\nAs op\u00e7\u00f5es Indexes e FollowSymLinks s\u00e3o definidas para o diret\u00f3rio \/home\/viaza132\/www, ent\u00e3o as<br \/>\npermiss\u00f5es do diret\u00f3rio \/home\/viaza132\/www\/focalinux ser\u00e3o FollowSymLinks (do diret\u00f3rio<br \/>\n\/web\/docs) e Includes (adicionada) e o par\u00e2metro Indexes n\u00e3o ter\u00e1 efeito neste diret\u00f3rio.<br \/>\n\u00c9 permitido fazer um aninhamento das diretivas &lt;Directory&gt; e &lt;Files&gt;:<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOrder allow,deny<br \/>\nallow from all<br \/>\n&lt;Files LEIAME-DONO.txt&gt;<br \/>\nOrder deny,allow<br \/>\ndeny from all<br \/>\n&lt;\/Files&gt;<br \/>\n&lt;\/Directory&gt;<br \/>\nNeste caso, somente os arquivos LEIAME-DONO.txt existentes no diret\u00f3rio \/home\/viaza132\/www e seus<br \/>\nsub-diret\u00f3rios ser\u00e3o bloqueados.<br \/>\nSe a diretiva &lt;Files&gt; for usada fora de uma estrutura &lt;Directory&gt;, ela ter\u00e1 efeito em todos os<br \/>\narquivos disponibilizados pelo servidor. Este \u00e9 excelente m\u00e9todo para proteger os arquivos de<br \/>\nacesso, senhas e grupos, conforme ser\u00e1 explicado mais adiante.<br \/>\nQualquer outro tipo de aninhamento de diretivas resultar\u00e1 em um erro de configura\u00e7\u00e3o ao se tentar<br \/>\ncarregar\/recarregar o Apache. Um exemplo de diretiva incorreta:<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOptions Indexes FollowSymLinks<br \/>\n&lt;Directory \/home\/viaza132\/www\/focalinux&gt;<br \/>\nOptions +Includes -Indexes<br \/>\n&lt;\/Directory&gt;<br \/>\n&lt;\/Directory&gt;<br \/>\nO correto \u00e9:<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOptions Indexes FollowSymLinks<br \/>\n&lt;\/Directory&gt;<br \/>\n&lt;Directory \/home\/viaza132\/www\/focalinux&gt;<br \/>\nOptions +Includes -Indexes<br \/>\n&lt;\/Directory&gt;<br \/>\nEspero que tenha observado o erro no exemplo acima.<br \/>\nOBS1: Voc\u00ea pode verificar se a configura\u00e7\u00e3o do apache est\u00e1 correta digitando apache -t como<br \/>\nusu\u00e1rio root, se tudo estiver correto com suas configura\u00e7\u00f5es ele retornar\u00e1 a mensagem: &#8220;Syntax<br \/>\nOK&#8221;.<br \/>\nOBS2: Se Options n\u00e3o for especificado, o padr\u00e3o ser\u00e1 permitir tudo exceto MultiViews.<br \/>\nOBS3: Qualquer restri\u00e7\u00e3o afetar\u00e1 o diret\u00f3rio atual e todos os seus sub-diret\u00f3rios! Defina permiss\u00f5es<br \/>\nde sub-diret\u00f3rios espec\u00edficos separadamente caso precise de um n\u00edvel de acesso diferente. Veja<br \/>\ntamb\u00e9m a se\u00e7\u00e3o sobre arquivos OverRide (.htaccess) para detalhes sobre este tipo de arquivo.<br \/>\nOBS4: A diretiva de acesso &#8220;&lt;Directory \/&gt;&#8221; n\u00e3o afetar\u00e1 outros sistemas de arquivos montados<br \/>\ndentro de seus subdiret\u00f3rios. Caso uma diretiva de acesso padr\u00e3o n\u00e3o seja especificada para outros<br \/>\nsistemas de arquivos, o acesso ser\u00e1 automaticamente negado.<br \/>\n12.7 Restri\u00e7\u00f5es de Acesso<br \/>\nA restri\u00e7\u00e3o de acesso do Apache \u00e9 feita atrav\u00e9s de Autoriza\u00e7\u00e3o (Autoriza\u00e7\u00e3o, Se\u00e7\u00e3o 12.7.1) e<br \/>\nAutentica\u00e7\u00e3o (Autentica\u00e7\u00e3o, Se\u00e7\u00e3o 12.7.2). Atrav\u00e9s da autoriza\u00e7\u00e3o, \u00e9 checado se o endere\u00e7o\/rede<br \/>\nespecificada tem ou n\u00e3o permiss\u00e3o para acessar a p\u00e1gina. A autentica\u00e7\u00e3o requer que seja passado<br \/>\nnome e senha para garantir acesso a p\u00e1gina. Os m\u00e9todos de Autoriza\u00e7\u00e3o e Autentica\u00e7\u00e3o podem ser<br \/>\ncombinados como veremos mais adiante.<br \/>\n12.7.1 Autoriza\u00e7\u00e3o<br \/>\nA restri\u00e7\u00e3o de acesso por autoriza\u00e7\u00e3o (controlado pelo m\u00f3dulo mod_access), permite ou n\u00e3o o<br \/>\nacesso ao cliente de acordo com o endere\u00e7o\/rede especificada. As restri\u00e7\u00f5es afetam tamb\u00e9m os subdiret\u00f3rios<br \/>\ndo diret\u00f3rio alvo. Abaixo um exemplo de restri\u00e7\u00e3o de acesso que bloqueia o acesso de<br \/>\nqualquer host que faz parte do dom\u00ednio .spammers.com.br a URL http:\/\/servidor\/teste:<br \/>\n&lt;Location \/teste&gt;<br \/>\nOption Indexes<br \/>\nOrder allow,deny<br \/>\nallow from all<br \/>\ndeny from .spammers.com.br<br \/>\n&lt;\/Location&gt;<br \/>\nA op\u00e7\u00e3o Option foi explicada acima, seguem as explica\u00e7\u00f5es das outras diretivas:<br \/>\nOrder<br \/>\nEspecifica em que ordem as op\u00e7\u00f5es de acesso allow\/deny ser\u00e3o pesquisadas. Caso n\u00e3o seja<br \/>\nespecificada, o padr\u00e3o ser\u00e1 deny\/allow. Note que a ordem de pesquisa de allow e deny \u00e9 a<br \/>\ninversa da especificada. A diretiva Order aceita os seguintes valores:<br \/>\n\u2022 deny,allow &#8211; Esta \u00e9 a padr\u00e3o, significa um servidor mais restritivo; a diretiva allow<br \/>\n\u00e9 processada primeiro e somente depois a diretiva deny. Caso nenhuma diretiva allow<br \/>\ne deny forem especificadas ou n\u00e3o conferirem, PERMITE TUDO como padr\u00e3o.<br \/>\n\u2022 allow,deny &#8211; Significa um servidor mais permissivo, a op\u00e7\u00e3o deny \u00e9 processada<br \/>\nprimeiro e somente depois a op\u00e7\u00e3o allow. Caso nenhuma diretiva allow e deny for<br \/>\nespecificadas ou n\u00e3o conferirem, BLOQUEIA TUDO como padr\u00e3o.<br \/>\n\u2022 mutual-failure &#8211; Somente permite o acesso se o usu\u00e1rio receber autoriza\u00e7\u00e3o<br \/>\natrav\u00e9s da op\u00e7\u00e3o allow e N\u00c3O ser bloqueado pela op\u00e7\u00e3o deny, caso uma das<br \/>\nchecagens falhe, o acesso \u00e9 imediatamente negado. \u00c9 uma op\u00e7\u00e3o interessante quando<br \/>\nvoc\u00ea quer somente pessoas de um determinado endere\u00e7o\/rede acessando o seu sistema<br \/>\ne n\u00e3o estejam em sua lista negra \ud83d\ude42<br \/>\nATEN\u00c7\u00c3O: \u00c9 importante saber se a p\u00e1gina ser\u00e1 permissiva ou restritiva para escolher a<br \/>\nordem mais adequada ao seu caso, tamb\u00e9m leve em considera\u00e7\u00e3o a possibilidade do<br \/>\nprocessamento cair na diretiva de acesso padr\u00e3o, caso nem a diretiva allow e deny conferiram<br \/>\ne estiver usando a ordem de acesso &#8220;allow,deny&#8221; ou &#8220;deny,allow&#8221;. Um sistema mal<br \/>\nconfigurado neste aspecto poder\u00e1 trazer s\u00e9rias conseq\u00fc\u00eancias.<br \/>\n\u00c9 comum em p\u00e1ginas permissivas se definir a seguinte configura\u00e7\u00e3o:<br \/>\nOrder allow,deny<br \/>\nallow from all<br \/>\nO motivo \u00e9 que em um grande site, se forem adicionadas mais restri\u00e7\u00f5es nesta p\u00e1gina (devido<br \/>\na alguns dom\u00ednios que tem usu\u00e1rios mal comportados, bloqueio de acesso a rede do<br \/>\nconcorrente, potenciais atacantes, etc&#8230;), estas dever\u00e3o ser lidas antes da diretiva &#8220;allow from<br \/>\nall&#8221; e podem passar desapercebidas ao administrador e podem simplesmente n\u00e3o funcionar<br \/>\ncaso a op\u00e7\u00e3o Order n\u00e3o esteja ajustada corretamente (lembre-se, voc\u00ea \u00e9 o administrador e a<br \/>\nintegridade do site depende de sua aten\u00e7\u00e3o na escolha da ordem correta das diretivas de<br \/>\nacesso).<br \/>\nallow from<br \/>\nEspecifica o endere\u00e7o que ter\u00e1 acesso ao recurso especificado. A diretiva allow from aceita os<br \/>\nseguintes valores:<br \/>\n\u2022 all &#8211; O acesso \u00e9 permitido a todos.<br \/>\n\u2022 um endere\u00e7o de dom\u00ednio completo (FQDN). Por exemplo www.debian.org.br.<br \/>\n\u2022 um endere\u00e7o de dom\u00ednio parcial. Qualquer computador que confira com o inicio ou<br \/>\nfim ter\u00e1 o acesso permitido. Por exemplo, .spammers.com.br, .debian.org.<br \/>\n\u2022 um endere\u00e7o IP completo, como 192.168.1.1<br \/>\n\u2022 um endere\u00e7o IP parcial como 192.168.1.<br \/>\n\u2022 um par rede\/m\u00e1scara como 10.1.0.0\/255.255.0.0 ou 10.1.0.0\/16, uma<br \/>\nfaixa de acesso a m\u00e1quinas de uma mesma rede pode ser definida facilmente atrav\u00e9s<br \/>\ndeste m\u00e9todo.<br \/>\nOBS1: \u00c9 necess\u00e1rio reiniciar o Apache depois de qualquer modifica\u00e7\u00e3o em seu arquivo de<br \/>\nconfigura\u00e7\u00e3o (executando apachectl restart), ou recarregar os arquivos de<br \/>\nconfigura\u00e7\u00e3o (apachectl graceful).<br \/>\nOBS2: Mais de um host pode ser especificado separando com um espa\u00e7o:<br \/>\nallow from 192.168. .debian.org.br<br \/>\nPermitir\u00e1 o acesso de qualquer m\u00e1quina que o endere\u00e7o IP confira com 192.168.*.* e<br \/>\nqualquer computador do dom\u00ednio debian.org.br<br \/>\nOBS3: Regras baseadas em nomes simples de hosts (como www) n\u00e3o conferir\u00e3o! Dever\u00e1 ser<br \/>\nusado o FQDN ou IP: www.dominio.com.br<br \/>\nOBS4: Caso Order n\u00e3o seja especificado, deny,allow ser\u00e1 usado como padr\u00e3o (ou seja,<br \/>\npermitir\u00e1 tudo como padr\u00e3o).<br \/>\ndeny from<br \/>\nEspecifica os endere\u00e7os que N\u00c3O ter\u00e3o acesso ao recurso especificado. As explica\u00e7\u00f5es<br \/>\nreferentes a esta diretiva de acesso s\u00e3o id\u00eantica as de allow from.<br \/>\n\u00c9 recomend\u00e1vel o uso de endere\u00e7os IP ao inv\u00e9s de endere\u00e7os DNS e um mecanismo anti-spoofing<br \/>\nno firewall ou c\u00f3digo de roteamento, pois ficar\u00e1 mais dif\u00edcil um ataque baseado em DNS spoofing,<br \/>\naumentando consideravelmente a seguran\u00e7a de seu servidor web.<br \/>\nATEN\u00c7\u00c3O: Caso receba erros 403 (acesso negado) sem bloquear a URL nas diretivas de acesso,<br \/>\numa dos seguintes problemas pode ser a causa:<br \/>\n\u2022 O servidor Web n\u00e3o tem permiss\u00f5es para acessar\/abrir o diret\u00f3rio da p\u00e1gina. Certifique-se<br \/>\nque o dono e grupo do processo Apache (especificado pela diretiva User e Group)<br \/>\npossuem permiss\u00f5es de acesso \u00e0quele diret\u00f3rio.<br \/>\n\u2022 Quando quer fazer uma listagem de arquivos do diret\u00f3rio e n\u00e3o especifica a op\u00e7\u00e3o Option<br \/>\nIndexes como op\u00e7\u00e3o de listagem.<br \/>\n\u2022 Quando n\u00e3o est\u00e1 usando Option Indexes para impedir a listagem de conte\u00fado do<br \/>\ndiret\u00f3rio e o n\u00e3o foi encontrado um arquivo de \u00edndice v\u00e1lido dentre os existentes na diretiva<br \/>\nDirectoryIndex no diret\u00f3rio atual.<br \/>\nAbaixo alguns exemplos de permiss\u00f5es de acesso:<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOptions SymLinksIfOwnerMatch Indexes MultiViews<br \/>\nOrder allow,deny<br \/>\nallow from all<br \/>\n&lt;\/Directory&gt;<br \/>\nPermite o acesso a de qualquer usu\u00e1rio de qualquer lugar (allow from all), permite tamb\u00e9m a<br \/>\nvisualiza\u00e7\u00e3o da listagem formatada de arquivos caso nenhum arquivo especificado na diretiva<br \/>\nDirectoryIndex seja encontrado (Indexes), permite negocia\u00e7\u00e3o de conte\u00fado (MultiViews) e seguir<br \/>\nlinks caso o dono do arquivo confira com o nome do link (SymLinksIfOwnerMatch).<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOptions SymLinksIfOwnerMatch Indexes MultiViews<br \/>\n&lt;\/Directory&gt;<br \/>\nTem o mesmo significado da diretiva acima por m\u00e9todos diferentes; quando nenhuma op\u00e7\u00e3o Order<br \/>\n\u00e9 especificada, deny,allow \u00e9 definido como padr\u00e3o, e como nenhuma op\u00e7\u00e3o de acesso allow\/deny<br \/>\nfoi especificada, o padr\u00e3o &#8220;Order deny,allow&#8221; \u00e9 usado e permite TUDO como padr\u00e3o.<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOptions Indexes<br \/>\nOrder deny,allow<br \/>\ndeny from all<br \/>\n&lt;\/Directory&gt;<br \/>\nEsta regra acima n\u00e3o tem muita l\u00f3gica pois restringe o acesso de todos os usu\u00e1rios ao diret\u00f3rio<br \/>\n\/home\/viaza132\/www, ao menos se esta for sua inten\u00e7\u00e3o&#8230;<br \/>\n&lt;Location \/focalinux&gt;<br \/>\nOptions All<br \/>\nOrder allow,deny<br \/>\nallow from all<br \/>\n&lt;\/Location&gt;<br \/>\nA regra acima permite o acesso a URL http:\/\/www.servidor.org\/focalinux de<br \/>\nqualquer host na Internet<br \/>\n&lt;Files .htaccess&gt;<br \/>\nOrder deny,allow<br \/>\ndeny from all<br \/>\n&lt;\/Files&gt;<br \/>\nBloqueia o acesso a qualquer arquivo .htaccess do sistema<br \/>\n&lt;Files ~ &#8220;leiame-(arm|alpha|m68k|sparc|powerpc)\\.txt&#8221;&gt;<br \/>\nOrder deny,allow<br \/>\ndeny from all<br \/>\n&lt;\/Files&gt;<br \/>\nBloqueia o acesso a qualquer arquivo leiame-arm.txt, leiame-alpha.txt, leiamem68k.<br \/>\ntxt, leiame-sparc.txt e leiame-powerpc.txt fazendo uso de express\u00f5es<br \/>\nregulares.<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOptions Indexes<br \/>\nOrder mutual-failure<br \/>\nallow from .dominio.com.br<br \/>\ndeny from lammer.dominio.com.br<br \/>\n&lt;\/Directory&gt;<br \/>\nA diretiva acima somente permite acesso ao diret\u00f3rio \/home\/viaza132\/www de m\u00e1quinas pertencentes ao<br \/>\ndom\u00ednio .dominio.com.br desde que n\u00e3o seja lammer.dominio.com.br.<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOptions Indexes MultiViews<br \/>\nOrder allow,deny<br \/>\ndeny from .com .com.br<br \/>\nallow from all<br \/>\n&lt;\/Directory&gt;<br \/>\nBloqueia o acesso ao diret\u00f3rio \/home\/viaza132\/www de computadores pertencentes aos dom\u00ednios .com e<br \/>\n.com.br.<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOptions None<br \/>\nOrder deny,allow<br \/>\nallow from 192.168.1. .guiafoca.org .debian.org<br \/>\ndeny from 200.200.123.<br \/>\n&lt;\/Directory&gt;<br \/>\nA regra acima permite o acesso de m\u00e1quinas da rede 192.168.1.*, do dom\u00ednio<br \/>\n*.guiafoca.org e *.debian.org, o acesso de m\u00e1quinas da rede 200.200.123.* \u00e9<br \/>\nbloqueado (nada contra, peguei nesse n\u00famero ao acaso :-).<br \/>\nNote que a m\u00e1quina 192.168.4.10 ter\u00e1 acesso LIVRE a regra acima, pois n\u00e3o conferir\u00e1 nem<br \/>\ncom allow nem com deny, ent\u00e3o o processamento cair\u00e1 na diretiva padr\u00e3o de deny,allow, que neste<br \/>\ncaso permite o acesso caso nem allow e deny conferiram com o padr\u00e3o.<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOptions None<br \/>\nOrder allow,deny<br \/>\nallow from 192.168.1. .cipsga.org.br .debian.org<br \/>\ndeny from 200.200.123.<br \/>\n&lt;\/Directory&gt;<br \/>\nA regra acima \u00e9 id\u00eantica a anterior somente com a mudan\u00e7a da op\u00e7\u00e3o Order. Bloqueia o acesso de<br \/>\nm\u00e1quinas da rede 200.200.123.* e permite o acesso de m\u00e1quinas da rede 192.168.1.*, do<br \/>\ndom\u00ednio *.cipsga.org.br e *.debian.org.<br \/>\nNote que a m\u00e1quina 192.168.4.10 ter\u00e1 acesso BLOQUEADO a regra acima, pois n\u00e3o conferir\u00e1<br \/>\nnem com allow nem com deny, ent\u00e3o o processamento cair\u00e1 na diretiva padr\u00e3o de allow,deny que<br \/>\nneste caso bloqueia o acesso.<br \/>\n12.7.2 Autentica\u00e7\u00e3o<br \/>\nAtrav\u00e9s da autentica\u00e7\u00e3o (controlado pelo m\u00f3dulo mod_auth) \u00e9 poss\u00edvel especificar um nome e<br \/>\nsenha para acesso ao recurso solicitado. As senhas s\u00e3o gravadas em formato criptografado usando<br \/>\nCrypto ou MD5 (conforme desejado). O arquivo de senhas pode ser centralizado ou especificado<br \/>\nindividualmente por usu\u00e1rio, diret\u00f3rio ou at\u00e9 mesmo por arquivo acessado.<br \/>\n12.7.2.1 Criando um arquivo de Senhas<br \/>\nO arquivo de senhas pode ser criado e mantido atrav\u00e9s do uso de 3 utilit\u00e1rios: htpasswd,<br \/>\nhtdigest e dbmmanage:<br \/>\n12.7.2.1.1 htpasswd<br \/>\nEste \u00e9 usado para criar o arquivo de senhas. Para criar um banco de dados com o nome senhas<br \/>\npara o usu\u00e1rio convidado, \u00e9 usada a seguinte sintaxe:<br \/>\nhtpasswd -c -m senhas convidado<br \/>\nVoc\u00ea ser\u00e1 perguntado por uma senha para o usu\u00e1rio convidado e para redigita-la. A op\u00e7\u00e3o &#8220;-c&#8221;<br \/>\nindica que dever\u00e1 ser criado um arquivo, a op\u00e7\u00e3o &#8220;-m&#8221; indica a utiliza\u00e7\u00e3o de senhas criptografadas<br \/>\nusando o algoritmo MD5, que garante maior seguran\u00e7a que o m\u00e9todo Crypto. A senha pode ser<br \/>\nespecificada diretamente na linha de comando atrav\u00e9s da op\u00e7\u00e3o &#8220;-b&#8221; (isto \u00e9 um \u00f3timo recurso para<br \/>\nutiliza\u00e7\u00e3o em shell scripts ou programas CGI de integra\u00e7\u00e3o com o navegador).<br \/>\nhtpasswd -b -d senhas chefe abcdef<br \/>\nNo exemplo acima, uma senha de alta seguran\u00e7a ser\u00e1 introduzida no banco de dados senhas<br \/>\ntornando imposs\u00edvel o acesso a p\u00e1gina do usu\u00e1rio \ud83d\ude42<br \/>\nNote que esta senha foi cadastrada usando o algoritmo de criptografia Crypto (op\u00e7\u00e3o -d). O<br \/>\nalgoritmo SHA tamb\u00e9m pode ser usado como alternativa, atrav\u00e9s da op\u00e7\u00e3o &#8220;-s&#8221;. Para modificar a<br \/>\nsenha do usu\u00e1rio convidado, basta usar a mesma sintaxe (sem a op\u00e7\u00e3o &#8220;-c&#8221; que \u00e9 usada para criar<br \/>\num novo arquivo):<br \/>\nhtpasswd -m senhas convidado<br \/>\nou<br \/>\nhtpasswd -b -m senhas convidado nova_senha<br \/>\nOpcionalmente voc\u00ea pode especificar a op\u00e7\u00e3o &#8220;-d&#8221; para atualizar tamb\u00e9m o formato da senha para<br \/>\nCrypto. Podem existir senhas de criptografias mistas (SHA, Crypto, MD5) no mesmo arquivo sem<br \/>\nnenhum problema.<br \/>\nA mudan\u00e7a do formato de senhas \u00e9 \u00fatil quando se deseja aumentar o n\u00edvel de seguran\u00e7a oferecido<br \/>\npor um melhor sistema ou para manter a compatibilidade com alguns scripts\/programas que<br \/>\ncompartilhem o arquivo de senhas.<br \/>\n12.7.2.1.2 htdigest e dbmmanage<br \/>\nEstes s\u00e3o id\u00eanticos ao htpasswd, a diferen\u00e7a \u00e9 que o htdigest permite criar\/manter um<br \/>\narquivo de senhas usando a autentica\u00e7\u00e3o Digest, enquanto o dbmmanage permite manter o banco<br \/>\nde dados de senhas em um arquivo DB, DBM, GDBM e NDBM, formatos conhecidos pelo Perl.<br \/>\n12.7.2.2 Autentica\u00e7\u00e3o atrav\u00e9s de usu\u00e1rios<br \/>\nAtrav\u00e9s deste m\u00e9todo \u00e9 poss\u00edvel especificar que usu\u00e1rios ter\u00e3o acesso ao recurso definido, usando<br \/>\nsenhas de acesso individuais criptografadas usando um dos utilit\u00e1rios da se\u00e7\u00e3o anterior. Para<br \/>\nrestringir o acesso ao endere\u00e7o http:\/\/servidor.org\/teste:<br \/>\n&lt;Location \/teste&gt;<br \/>\nAuthName &#8220;Acesso a p\u00e1gina do Foca Linux&#8221;<br \/>\nAuthType basic<br \/>\nAuthUserFile \/home\/gleydson\/SenhaUsuario<br \/>\n# AuthGroupFile \/home\/users\/SenhaGrupo<br \/>\nRequire valid-user<br \/>\n&lt;\/Location&gt;<br \/>\nAo tentar acessar o endere\u00e7o http:\/\/servidor\/teste, ser\u00e1 aberta uma janela no navegador<br \/>\ncom o t\u00edtulo Enter username for Acesso a p\u00e1gina do Foca Linux at servidor.org, a diretiva Require<br \/>\nvalid-user definem que o usu\u00e1rio e senha digitados devem existir no arquivo especificado por<br \/>\nAuthUserFile para que o acesso seja garantido. Uma explica\u00e7\u00e3o de cada op\u00e7\u00e3o de acesso usado na<br \/>\nautentica\u00e7\u00e3o:<br \/>\nAuthName<br \/>\nSer\u00e1 o nome que aparecer\u00e1 na janela de autentica\u00e7\u00e3o do seu navegador indicando qual \u00e1rea<br \/>\nrestrita est\u00e1 solicitando senha (podem existir v\u00e1rias no servidor, bastando especificar v\u00e1rias<br \/>\ndiretivas de restri\u00e7\u00f5es).<br \/>\nAuthType<br \/>\nEspecifica o m\u00e9todo de que o nome e senha ser\u00e3o passados ao servidor. Este m\u00e9todo de<br \/>\nautentica\u00e7\u00e3o pode ser Basic ou Digest<br \/>\n\u2022 Basic &#8211; Utiliza a codifica\u00e7\u00e3o base64 para encodifica\u00e7\u00e3o de nome e senha, enviando o<br \/>\nresultado ao servidor. Este \u00e9 um m\u00e9todo muito usado e pouco seguro, pois qualquer<br \/>\nsniffer instalado em um roteador pode capturar e descobrir facilmente seu nome e<br \/>\nsenha.<br \/>\n\u2022 Digest &#8211; Transmite os dados de uma maneira que n\u00e3o pode ser facilmente<br \/>\ndecodificada, incluindo a codifica\u00e7\u00e3o da \u00e1rea protegida (especificada pela diretiva<br \/>\nAuthName) que possui a seq\u00fcencia de login\/senha v\u00e1lida. A diferen\u00e7a deste m\u00e9todo \u00e9<br \/>\nque voc\u00ea precisar\u00e1 de arquivos de senhas diferentes para cada \u00e1rea protegida<br \/>\nespecificada por AuthName (tamb\u00e9m chamada de Realm).<br \/>\nAuthUserFile<br \/>\n\u00c9 o arquivo gerado pelo utilit\u00e1rio htpasswd que cont\u00e9m a senha correspondente ao usu\u00e1rio<br \/>\nAuthGroupFile<br \/>\n\u00c9 um arquivo texto que cont\u00e9m o nome do grupo, dois pontos (&#8220;:&#8221;) e o nome dos usu\u00e1rios que<br \/>\npodem ter acesso ao recurso, separados por v\u00edrgulas. No exemplo acima ele se encontra<br \/>\ncomentado, mas a seguir encontrar\u00e1 exemplos que explicam em detalhes o funcionamento<br \/>\ndesta diretiva.<br \/>\nRequire<br \/>\nEspecifica que usu\u00e1rios podem ter acesso ao diret\u00f3rio. Podem ser usadas uma das 3 sintaxes:<br \/>\n\u2022 Require user usu\u00e1rio1 usu\u00e1rio2 usu\u00e1rio3 &#8211; Somente os usu\u00e1rios<br \/>\nespecificados s\u00e3o considerados v\u00e1lidos para ter acesso ao diret\u00f3rio.<br \/>\n\u2022 Require group grupo1 grupo2 grupo3 &#8211; Somente os usu\u00e1rios dos grupos<br \/>\nespecificados s\u00e3o considerados v\u00e1lidos para terem acesso ao diret\u00f3rio. Esta diretiva \u00e9<br \/>\n\u00fatil quando deseja que somente alguns usu\u00e1rios de determinado grupo tenham acesso<br \/>\nao recurso (por exemplo, usu\u00e1rios do grupo admins).<br \/>\n\u2022 Require valid-user &#8211; Qualquer usu\u00e1rio v\u00e1lido no banco de dados de senhas<br \/>\npode acessar o diret\u00f3rio. \u00c9 bem \u00fatil quando as op\u00e7\u00f5es de acesso especificadas por<br \/>\nRequire user s\u00e3o muito longas.<br \/>\nA op\u00e7\u00e3o Require deve ser acompanhado das diretivas AuthName, AuthType e as<br \/>\ndiretivas AuthUserFile e AuthGroupFile para funcionar adequadamente.<br \/>\nOBS: \u00c9 necess\u00e1rio reiniciar o Apache depois de qualquer modifica\u00e7\u00e3o em seu arquivo de<br \/>\nconfigura\u00e7\u00e3o (apachectl restart), ou recarregar os arquivos de configura\u00e7\u00e3o (apachectl<br \/>\ngraceful). Note que o apachectl \u00e9 somente um shell script para intera\u00e7\u00e3o mais amig\u00e1vel com<br \/>\no servidor web apache, retornando mensagens indicando o sucesso\/falha no comando ao inv\u00e9s de<br \/>\nc\u00f3digos de sa\u00edda.<br \/>\nAlguns exemplos para melhor assimila\u00e7\u00e3o:<br \/>\n&lt;Location \/teste&gt;<br \/>\nAuthName &#8220;Acesso a p\u00e1gina do Foca Linux&#8221;<br \/>\nAuthType basic<br \/>\nAuthUserFile \/home\/gleydson\/SenhaUsuario<br \/>\nRequire user gleydson<br \/>\n&lt;\/Location&gt;<br \/>\nAs explica\u00e7\u00f5es s\u00e3o id\u00eanticas a anterior, mas somente permite o acesso do usu\u00e1rio gleydson a<br \/>\nURL http:\/\/servidor.org\/teste, bloqueando o acesso de outros usu\u00e1rios contidos no<br \/>\narquivo AuthUserFile.<br \/>\n&lt;Location \/teste&gt;<br \/>\nAuthName &#8220;Acesso a p\u00e1gina do Foca Linux&#8221;<br \/>\nAuthType basic<br \/>\nAuthUserFile \/home\/gleydson\/SenhaUsuario<br \/>\nRequire user gleydson usuario1 usuario2<br \/>\n&lt;\/Location&gt;<br \/>\n&lt;Location \/teste&gt;<br \/>\nAuthName &#8220;Acesso a p\u00e1gina do Foca Linux&#8221;<br \/>\nAuthType basic<br \/>\nAuthUserFile \/home\/gleydson\/SenhaUsuario<br \/>\nRequire user gleydson<br \/>\nRequire user usuario1<br \/>\nRequire user usuario2<br \/>\n&lt;\/Location&gt;<br \/>\nAs 2 especifica\u00e7\u00f5es acima s\u00e3o equivalentes e permite o acesso aos usu\u00e1rios gleydson,<br \/>\nusuario1 e usuario2 a p\u00e1gina http:\/\/servidor.org\/teste.<br \/>\n12.7.2.3 Autentica\u00e7\u00e3o usando grupos<br \/>\nH\u00e1 casos onde existem usu\u00e1rios de um arquivo de senhas que devem ter acesso a um diret\u00f3rio e<br \/>\noutros n\u00e3o, neste caso a diretiva valid-user n\u00e3o pode ser especificada (porque permitiria o acesso de<br \/>\ntodos os usu\u00e1rios do arquivo de senha ao diret\u00f3rio) e uma grande lista de usu\u00e1rios ficaria bastante<br \/>\ncomplicada de ser gerenciada com v\u00e1rios usu\u00e1rios na diretiva Require user.<br \/>\nQuando existe esta situa\u00e7\u00e3o, \u00e9 recomendado o uso de grupos de usu\u00e1rios. Para fazer uso desse<br \/>\nrecurso, primeiro dever\u00e1 ser criado um arquivo quer armazenar\u00e1 o nome do grupo e dos usu\u00e1rios<br \/>\npertencente \u00e0quele grupo usando a seguinte sintaxe (vamos chamar este arquivo de SenhaGrupo):<br \/>\nadmins: gleydson usuario2<br \/>\nusuarios: usuario1 usuario2 usuario3 gleydson<br \/>\nAgora adaptamos o exemplo anterior para que somente os usu\u00e1rios especificados no grupo admins<br \/>\ndo arquivo criado acima:<br \/>\n&lt;Location \/teste&gt;<br \/>\nAuthName &#8220;Acesso a p\u00e1gina do Foca Linux&#8221;<br \/>\nAuthType basic<br \/>\nAuthUserFile \/home\/gleydson\/SenhaUsuario<br \/>\nAuthGroupFile \/home\/gleydson\/SenhaGrupo<br \/>\nRequire group admins<br \/>\n&lt;\/Location&gt;<br \/>\nAgora somente os usu\u00e1rios pertencentes ao grupo admins (gleydson e usuario2) poder\u00e3o ter acesso<br \/>\nao diret\u00f3rio \/teste.<br \/>\nOBS1: Verifique se o servidor Web possui acesso a leitura no arquivo de senhas de usu\u00e1rios e<br \/>\ngrupos, caso contr\u00e1rio ser\u00e1 retornado um c\u00f3digo &#8220;500 &#8211; Internal Server Error&#8221;. Este tipo de erro \u00e9<br \/>\ncaracterizado por tudo estar OK na sintaxe dos arquivos de configura\u00e7\u00e3o ap\u00f3s checagem com<br \/>\n&#8220;apache -t&#8221; e todas as diretivas de controle de acesso apontam para os diret\u00f3rios e arquivos corretos.<br \/>\nOBS2:: Sempre use espa\u00e7os para separar os nomes de usu\u00e1rios pertencentes a um grupo.<br \/>\nOBS3: NUNCA coloque os arquivos que cont\u00e9m senhas e grupos em diret\u00f3rios de acesso p\u00fablico<br \/>\nonde usu\u00e1rios podem ter acesso via o servidor Web. Tais localiza\u00e7\u00f5es s\u00e3o \/home\/viaza132\/www,<br \/>\n\/home\/&#8221;usuario&#8221;\/public_html e qualquer outro diret\u00f3rio de acesso p\u00fablico que defina em<br \/>\nseu sistema.<br \/>\n\u00c9 recomend\u00e1vel tamb\u00e9m ocultar estes arquivos atrav\u00e9s da diretiva &lt;Files&gt; evitando poss\u00edveis riscos<br \/>\nde seguran\u00e7a com usu\u00e1rios acessando os arquivos de senha e grupo.<br \/>\nNa distribui\u00e7\u00e3o Debian, qualquer arquivo iniciando com .ht* ser\u00e1 automaticamente ocultado<br \/>\npelo sistema, pois j\u00e1 existe uma diretiva &lt;Files ~ &#8220;\\.ht&#8221;&gt;. Tal diretiva pode tamb\u00e9m ser especificada<br \/>\nno arquivo de acesso .htaccess. Assim um arquivo .htsenha e .htgroup s\u00e3o bons nomes<br \/>\nse estiver desejando ocultar dados de olhos curiosos&#8230;<br \/>\n12.7.3 Usando autoriza\u00e7\u00e3o e autentica\u00e7\u00e3o juntos<br \/>\nOs m\u00e9todos de autoriza\u00e7\u00e3o e autentica\u00e7\u00e3o podem ser usados ao mesmo tempo dentro de qualquer<br \/>\numa das diretivas de controle de acesso. As diretivas de autoriza\u00e7\u00e3o s\u00e3o processadas primeiro<br \/>\n(mod_access) e depois as diretivas de autentica\u00e7\u00e3o (mod_auth). Segue um exemplo:<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOptions Indexes<br \/>\nOrder deny,allow<br \/>\nallow from .dominiolocal.com.br<br \/>\ndeny from all<br \/>\nAuthName &#8220;Acesso ao diret\u00f3rio do servidor Web&#8221;<br \/>\nAuthType basic<br \/>\nAuthUserFile \/var\/cache\/apache\/senhas<br \/>\nRequire valid-user<br \/>\n&lt;\/Directory&gt;<br \/>\nPara ter acesso ao diret\u00f3rio \/home\/viaza132\/www, primeiro o computador deve fazer parte do dom\u00ednio<br \/>\n.dominiolocal.com.br, assim ela passa pelo teste de autoriza\u00e7\u00e3o, depois disso ser\u00e1<br \/>\nnecess\u00e1rio fornecer o login e senha para acesso a p\u00e1gina, digitando o login e senha corretos, o teste<br \/>\nde autentica\u00e7\u00e3o ser\u00e1 completado com sucesso e o acesso ao diret\u00f3rio \/home\/viaza132\/www autorizado.<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOptions Indexes<br \/>\nOrder mutual-failure<br \/>\nallow from .dominiolocal.com.br<br \/>\ndeny from lammer.dominiolocal.com.br<br \/>\nAuthName &#8220;Acesso ao diret\u00f3rio do servidor Web&#8221;<br \/>\nAuthType basic<br \/>\nAuthUserFile \/var\/cache\/apache\/senhas<br \/>\nAuthGroupFile \/var\/cache\/apache\/grupos<br \/>\nRequire group admins<br \/>\n&lt;\/Directory&gt;<br \/>\nNo exemplo acima, \u00e9 usado o m\u00e9todo de autoriza\u00e7\u00e3o com a op\u00e7\u00e3o Order mutual-failure e o m\u00e9todo<br \/>\nde autentica\u00e7\u00e3o atrav\u00e9s de grupos. Primeiro \u00e9 verificado se o usu\u00e1rio pertence ao dom\u00ednio<br \/>\n.dominiolocal.com.br e se ele n\u00e3o est\u00e1 acessando da m\u00e1quina<br \/>\nlammer.dominiolocal.com.br, neste caso ele passa pelo teste de autoriza\u00e7\u00e3o. Depois disso<br \/>\nele precisar\u00e1 fornecer o nome e senha v\u00e1lidos, com o login pertencente ao AuthGroupFile, passando<br \/>\npelo processo de autentica\u00e7\u00e3o e obtendo acesso ao diret\u00f3rio \/home\/viaza132\/www.<br \/>\n12.7.3.1 Acesso diferenciado em uma mesma diretiva<br \/>\n\u00c9 interessante permitir usu\u00e1rios fazendo conex\u00f5es de locais confi\u00e1veis terem acesso direto sem<br \/>\nprecisar fornecer nome e senha e de locais inseguros acessarem somente ap\u00f3s comprovarem quem<br \/>\nrealmente s\u00e3o. Como \u00e9 o caso de permitir usu\u00e1rios de uma rede privada terem acesso completo aos<br \/>\nrecursos e permitir o acesso externo ao mesmo recurso somente atrav\u00e9s de senha. Isto pode ser feito<br \/>\ncom o uso da diretiva Satisfy junto ao bloco de autoriza\u00e7\u00e3o\/autentica\u00e7\u00e3o. Vamos tomar como base<br \/>\no exemplo anterior:<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOptions Indexes<br \/>\nOrder mutual-failure<br \/>\nallow from .dominiolocal.com.br<br \/>\ndeny from lammer.dominiolocal.com.br<br \/>\nAuthName &#8220;Acesso ao diret\u00f3rio do servidor Web&#8221;<br \/>\nAuthType basic<br \/>\nAuthUserFile \/var\/cache\/apache\/senhas<br \/>\nAuthGroupFile \/var\/cache\/apache\/grupos<br \/>\nRequire group admins<br \/>\nSatisfy any<br \/>\n&lt;\/Directory&gt;<br \/>\nNote que o exemplo \u00e9 o mesmo com a adi\u00e7\u00e3o da diretiva Satisfy any no final do bloco do arquivo.<br \/>\nQuando a op\u00e7\u00e3o Satisfy n\u00e3o \u00e9 especificada, ela assumir\u00e1 &#8220;all&#8221; como padr\u00e3o, ou seja, o usu\u00e1rio<br \/>\ndever\u00e1 passar no teste de autoriza\u00e7\u00e3o e autentica\u00e7\u00e3o para ter acesso.<br \/>\nA diferen\u00e7a do exemplo acima em rela\u00e7\u00e3o ao da se\u00e7\u00e3o anterior \u00e9 se a m\u00e1quina passar no teste de<br \/>\nautoriza\u00e7\u00e3o ela j\u00e1 ter\u00e1 acesso garantido. Caso falhe no teste de autoriza\u00e7\u00e3o, ainda ter\u00e1 a chance de<br \/>\nter acesso a p\u00e1gina passando na checagem de autentica\u00e7\u00e3o.<br \/>\nIsto garante acesso livre aos usu\u00e1rios do dom\u00ednio .dominiolocal.com.br. J\u00e1 os outros<br \/>\nusu\u00e1rios, incluindo acessos vindos de lammer.dominiolocal.com.br que pode ser uma<br \/>\nm\u00e1quina com muito uso, poder\u00e1 ter acesso ao recurso caso tenha fornecido um nome e senha<br \/>\nv\u00e1lidos para passar pelo processo de autentica\u00e7\u00e3o. Tenha isto em mente&#8230; este tipo de problema \u00e9<br \/>\ncomum e depende mais de uma pol\u00edtica de seguran\u00e7a e conduta interna, o sistema de seguran\u00e7a n\u00e3o<br \/>\npode fazer nada a n\u00e3o ser permitir acesso a um nome e senha v\u00e1lidos.<br \/>\nTenha cuidado com o uso da op\u00e7\u00e3o Satisfy em diretivas que especificam somente o m\u00e9todo de<br \/>\nautentica\u00e7\u00e3o:<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOptions Indexes<br \/>\nAuthName &#8220;Acesso ao diret\u00f3rio do servidor Web&#8221;<br \/>\nAuthType basic<br \/>\nAuthUserFile \/var\/cache\/apache\/senhas<br \/>\nAuthGroupFile \/var\/cache\/apache\/grupos<br \/>\nRequire group admins<br \/>\nSatisfy any<br \/>\n&lt;\/Directory&gt;<br \/>\nATEN\u00c7\u00c3O PARA O DESCUIDO ACIMA!: Como o m\u00e9todo de autoriza\u00e7\u00e3o N\u00c3O \u00e9 especificado, \u00e9<br \/>\nassumido deny,allow como padr\u00e3o, que permite o acesso a TODOS os usu\u00e1rios. O bloco acima<br \/>\nNUNCA executar\u00e1 o m\u00e9todo de autentica\u00e7\u00e3o por este motivo. A melhor coisa \u00e9 N\u00c3O usar a op\u00e7\u00e3o<br \/>\nSatisfy em casos que s\u00f3 requerem autentica\u00e7\u00e3o ou usar Satisfy all (que ter\u00e1 o mesmo efeito de n\u00e3o<br \/>\nusa-la, hehehe).<br \/>\nA falta de aten\u00e7\u00e3o nisto pode comprometer silenciosamente a seguran\u00e7a de seu sistema.<br \/>\n12.7.4 O arquivo .htaccess<br \/>\nO arquivo .htaccess deve ser colocado no diret\u00f3rio da p\u00e1gina que dever\u00e1 ter suas permiss\u00f5es de<br \/>\nacesso\/listagem controladas. A vantagem em rela\u00e7\u00e3o a inclus\u00e3o direta de diretivas de acesso dentro<br \/>\ndo arquivo de configura\u00e7\u00e3o do Apache, \u00e9 que o controle de acesso poder\u00e1 ser definido pelo<br \/>\npr\u00f3prio webmaster da p\u00e1gina, sem precisar ter acesso direto a configura\u00e7\u00e3o do Apache, que<br \/>\nrequerem privil\u00e9gios de root.<br \/>\nOutro ponto fundamental \u00e9 que n\u00e3o h\u00e1 necessidade de reiniciar o servidor Web, pois este arquivo \u00e9<br \/>\nlido no momento de cada acesso ao diret\u00f3rio que controla. O nome do arquivo OverRide pode ser<br \/>\ndefinido atrav\u00e9s da diretiva AccessFileName no arquivo de configura\u00e7\u00e3o do Apache, .htaccess<br \/>\n\u00e9 usado como padr\u00e3o.<br \/>\nO controle de que op\u00e7\u00f5es estar\u00e3o dispon\u00edveis no .htaccess s\u00e3o definidas na diretiva<br \/>\nAllowOverride que pode conter o seguintes par\u00e2metros:<br \/>\n\u2022 None &#8211; O servidor n\u00e3o buscar\u00e1 o arquivo .htaccess nos diret\u00f3rios<br \/>\n\u2022 All &#8211; O servidor utilizar\u00e1 todas as op\u00e7\u00f5es abaixo no arquivo .htaccess<br \/>\n\u2022 AuthConfig &#8211; Permite o uso de diretivas de autentica\u00e7\u00e3o (AuthDBMGroupFile,<br \/>\nAuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, etc.).<br \/>\n\u2022 FileInfo &#8211; Permite o uso de diretivas controlando o tipo de documento (AddEncoding,<br \/>\nAddLanguage, AddType, DefaultType, ErrorDocument, LanguagePriority, etc.).<br \/>\n\u2022 Indexes &#8211; Permite o uso de diretivas controlando a indexa\u00e7\u00e3o de diret\u00f3rio<br \/>\n(AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon,<br \/>\nDirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName,<br \/>\netc.).<br \/>\n\u2022 Limit &#8211; Permite o uso de diretivas controlando o acesso ao computador (allow, deny e<br \/>\norder).<br \/>\n\u2022 Options &#8211; Permite o uso de diretivas controlando caracter\u00edsticas espec\u00edficas do diret\u00f3rio<br \/>\n(Options e XBitHack).<br \/>\nOBS: N\u00e3o tem sentido usar a op\u00e7\u00e3o AllowOverride dentro da diretiva &lt;Location&gt;, ela ser\u00e1<br \/>\nsimplesmente ignorada.<br \/>\nPara acesso ao arquivo .htaccess do diret\u00f3rio \/home\/viaza132\/www\/focalinux, o Apache buscar\u00e1 os<br \/>\narquivos .htaccess na seq\u00fcencia: \/.htaccess, \/var\/.htaccess,<br \/>\n\/home\/viaza132\/www\/.htaccess, \/home\/viaza132\/www\/focalinux\/.htaccess, qualquer diretiva que n\u00e3o<br \/>\nexista no .htaccess do diret\u00f3rio \/home\/viaza132\/www\/focalinux ter\u00e1 seu valor definido pela diretiva<br \/>\ndos arquivos .htaccess dos diret\u00f3rios anteriores. Somente ap\u00f3s esta seq\u00fcencia de checagens o<br \/>\nacesso ao documento \u00e9 permitido (ou negado).<br \/>\nPor este motivo, muitos administradores decidem desativar completamente o uso de arquivos<br \/>\n.htaccess no diret\u00f3rio ra\u00edz e habilitar somente nos diret\u00f3rios especificados pela diretiva<br \/>\n&lt;Directory&gt; no arquivo de configura\u00e7\u00e3o do Apache, evitando brechas de seguran\u00e7a na<br \/>\nmanipula\u00e7\u00e3o destes arquivos (esta \u00e9 uma boa id\u00e9ia a n\u00e3o ser que se dedique 24 horas somente na<br \/>\nadministra\u00e7\u00e3o do seu servidor Web e conhe\u00e7a toda sua estrutura hier\u00e1rquica de seguran\u00e7a:<br \/>\n&lt;Directory \/&gt;<br \/>\nAllowOverride none<br \/>\n&lt;\/Directory&gt;<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nAllowOverride limit authconfig indexes<br \/>\n&lt;\/Directory&gt;<br \/>\nNa especifica\u00e7\u00e3o acima, o arquivo .htaccess ser\u00e1 procurado no diret\u00f3rio \/home\/viaza132\/www e seus<br \/>\nsub-diret\u00f3rios, usando somente op\u00e7\u00f5es que controlam a autoriza\u00e7\u00e3o de acesso (limit), autentica\u00e7\u00e3o e<br \/>\nop\u00e7\u00f5es (authconfig) e de indexa\u00e7\u00e3o de documentos (indexes).<br \/>\nAlguns exemplos do uso do arquivo .htaccess:<br \/>\nPara permitir o acesso direto de usu\u00e1rios da rede 192.168.1.* diretamente, e requerer senha de<br \/>\nacesso para outros usu\u00e1rios, o seguinte arquivo .htaccess deve ser criado no diret\u00f3rio<br \/>\n\/home\/viaza132\/www:<br \/>\nOrder deny,allow<br \/>\nallow from 192.168.1.0\/24<br \/>\ndeny from all<br \/>\nAuthName &#8220;Acesso a p\u00e1gina Web principal da Empresa&#8221;<br \/>\nAuthType basic<br \/>\nAuthUserFile \/var\/cache\/apache\/senhas<br \/>\nRequire valid-user<br \/>\nSatisfy any<br \/>\nNote que a sintaxe \u00e9 exatamente a mesma das usadas na diretivas de acesso, por este motivo vou<br \/>\ndispensar explica\u00e7\u00f5es detalhadas a respeito.<br \/>\nATEN\u00c7\u00c3O: A diretiva Options Indexes dever\u00e1 ser especificada no AllowOverRide e n\u00e3o no<br \/>\narquivo .htaccess. Agora voc\u00ea j\u00e1 sabe o que fazer se estiver recebendo erros 500 ao tentar<br \/>\nacessar a p\u00e1gina (Erro interno no servidor)&#8230;<br \/>\n12.7.5 Usando a diretiva SetEnvIf com Allow e Deny<br \/>\n\u00c9 poss\u00edvel especificar o acesso baseado em vari\u00e1veis de ambiente usando a diretiva SetEnvIf, isto<br \/>\nlhe permite controlar o acesso de acordo com o conte\u00fado de cabe\u00e7alhos HTTP. A sintaxe \u00e9 a<br \/>\nseguinte:<br \/>\nSetEnvIf [atributo] [express\u00e3o] [vari\u00e1vel]<br \/>\nIsto poder ser facilmente interpretado como: Se o &#8220;atributo&#8221; especificado conter a &#8220;express\u00e3o&#8221;, a<br \/>\n&#8220;vari\u00e1vel&#8221; ser\u00e1 criada e armazenar\u00e1 o valor verdadeiro. Veja abaixo:<br \/>\nSetEnvIf User-Agent &#8220;.*MSIE*.&#8221; EXPLODER<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOrder deny,allow<br \/>\nallow from all<br \/>\ndeny from env=EXPLODER<br \/>\n&lt;\/Directory&gt;<br \/>\nSe o Navegador (campo User-Agent do cabe\u00e7alho http) usado para acessar a p\u00e1gina for o<br \/>\nInternet Explorer, a vari\u00e1vel EXPLODER ser\u00e1 criada e ter\u00e1 o valor verdadeiro (porque a<br \/>\nexpress\u00e3o de SetEnvIf conferiu com a express\u00e3o).<br \/>\nNote o uso de &#8220;deny from env=VARI\u00c1VEL&#8221;. Neste caso se o navegador for o Internet<br \/>\nExplorer, o acesso ser\u00e1 bloqueado (pois o navegador conferiu, assim a vari\u00e1vel EXPLODER<br \/>\nrecebeu o valor verdadeiro).<br \/>\n\u00c9 permitido especificar as diretivas de acesso normais junto com especifica\u00e7\u00e3o de vari\u00e1veis de<br \/>\nambiente, basta separa-los com espa\u00e7os. Uma descri\u00e7\u00e3o completa dos cabe\u00e7alhos HTTP, conte\u00fado e<br \/>\npar\u00e2metros aceitos por cada um s\u00e3o descritos na RFC 2068.<br \/>\n12.7.6 A diretiva &lt;Limit&gt;<br \/>\nEsta diretiva \u00e9 semelhante a &lt;Directory&gt; mas trabalha com m\u00e9todos HTTP (como GET, PUT,<br \/>\nPOST, etc) ao inv\u00e9s de diret\u00f3rios. A diretiva &lt;Limit&gt; pode ser usada dentro da diretiva de acesso<br \/>\n&lt;Directory&gt;, &lt;Location&gt;, mas nenhuma diretiva de controle de acesso pode ser colocada dentro de<br \/>\n&lt;Limit&gt;.<br \/>\nOs m\u00e9todos HTTP v\u00e1lidos s\u00e3o: GET, POST, PUT DELETE, CONNECT, OPTIONS, TRACE,<br \/>\nPATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK e UNLOCK. Note que os<br \/>\nm\u00e9todos s\u00e3o case-sensitive. Por exemplo:<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\nOption Indexes<br \/>\n&lt;Limit POST PUT DELETE&gt;<br \/>\nOrder deny,allow<br \/>\nallow from 192.168.1.0\/24<br \/>\ndeny from all<br \/>\n&lt;\/Limit&gt;<br \/>\n&lt;\/Directory&gt;<br \/>\nSomente permitem o uso dos m\u00e9todos POST, PUT, DELETE de m\u00e1quinas da rede interna.<br \/>\nOBS1: Se o m\u00e9todo GET \u00e9 bloqueado, o cabe\u00e7alho HTTP tamb\u00e9m ser\u00e1 bloqueado.<br \/>\nOBS2: A diretiva de acesso &lt;Limit&gt; somente ter\u00e1 efeito na diretiva &lt;Location&gt; se for especificada<br \/>\nno arquivo de configura\u00e7\u00e3o do servidor web. A diretiva &lt;Location&gt; simplesmente \u00e9 ignorada nos<br \/>\narquivos .htaccess&#8230;<br \/>\nEste abaixo \u00e9 usado por padr\u00e3o na distribui\u00e7\u00e3o Debian para restringir para somente leitura o<br \/>\nacesso aos diret\u00f3rios de usu\u00e1rios acessados via m\u00f3dulo mod_userdir:<br \/>\n&lt;Directory \/home\/*\/public_html&gt;<br \/>\nAllowOverride FileInfo AuthConfig Limit<br \/>\nOptions MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec<br \/>\n&lt;Limit GET POST OPTIONS PROPFIND&gt;<br \/>\nOrder allow,deny<br \/>\nAllow from all<br \/>\n&lt;\/Limit&gt;<br \/>\n&lt;Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK&gt;<br \/>\nOrder deny,allow<br \/>\nDeny from all<br \/>\n&lt;\/Limit&gt;<br \/>\n&lt;\/Directory&gt;<br \/>\n12.7.7 Diretiva &lt;LimitExcept&gt;<br \/>\nEsta diretiva \u00e9 semelhante a &lt;Limit&gt;, mas atinge todos os m\u00e9todos HTTP, menos os especificados.<br \/>\n12.8 Definindo documentos de erro personalizados<br \/>\nDocumentos de erros personalizados s\u00e3o definidos atrav\u00e9s da diretiva ErrorDocument. \u00c9 poss\u00edvel<br \/>\nespecificar c\u00f3digos de erros que ser\u00e3o atendidos por certos documentos ou colocar esta diretiva<br \/>\ndentro de blocos de controle de acesso &lt;Directory&gt;, &lt;Location&gt; ou &lt;VirtualHost&gt; para que tenham<br \/>\nmensagens de erro personalizadas, ao inv\u00e9s da padr\u00e3o usada pelo servidor httpd.<br \/>\nErrorDocument [c\u00f3digo de erro] [documento]<br \/>\nOnde:<br \/>\nc\u00f3digo de erro<br \/>\nC\u00f3digo de erro da mensagem (veja C\u00f3digos HTTP, Se\u00e7\u00e3o 12.15 como refer\u00eancia). O c\u00f3digo<br \/>\nde erro 401 deve referir-se a um arquivo local.<br \/>\ndocumento<br \/>\nDocumento, mensagem de erro ou redirecionamento que ser\u00e1 usado no servidor caso aquele<br \/>\nc\u00f3digo de erro seja encontrado:<br \/>\nPara definir uma mensagem de erro padr\u00e3o para todo servidor web, basta colocar a diretiva<br \/>\nErrorDocument fora das diretivas que controlam o acesso a diret\u00f3rios e virtual hosts (o inicio do<br \/>\narquivo httpd.conf \u00e9 ideal).<br \/>\nExemplos:<br \/>\n\u2022 ErrorDocument 404 \/cgi-bin\/erros404.pl &#8211; Direciona para um script em Perl<br \/>\nque manda um e-mail ao administrador falando sobre o link quebrado e envia o usu\u00e1rio a<br \/>\numa p\u00e1gina de erro padr\u00e3o.<br \/>\n\u2022 ErrorDocument 404 \/naoencontrada.html &#8211; Direciona o usu\u00e1rio para o arquivo<br \/>\nnaoencontrada.html (dentro de DocumentRoot) quando ocorrer o erro 404. Note que<br \/>\no diret\u00f3rio \/ levado em considera\u00e7\u00e3o \u00e9 o especificado pela diretiva DocumentRoot.<br \/>\n\u2022 ErrorDocument 500 &#8220;Erro Interno no servidor&#8221; &#8211; Mostra a mensagem na<br \/>\ntela quando ocorrer o erro 500.<br \/>\n\u2022 ErrorDocument 401 \/obtendoacesso.html &#8211; Direciona o usu\u00e1rio ao arquivo<br \/>\nexplicando como obter acesso ao sistema.<br \/>\n\u2022 ErrorDocument 503 http:\/\/www.guiafoca.org\/servicos.html &#8211;<br \/>\nRedireciona o usu\u00e1rio a URL especificada.<br \/>\n\u2022 ErrorDocument 403 &#8220;Acesso negado&#8221; &#8211; Mostra a mensagem na tela no caso de<br \/>\nerros 403.<br \/>\n12.9 M\u00f3dulos DSO<br \/>\nOs m\u00f3dulos DSO permitem adicionar\/remover caracter\u00edsticas do Apache sem necessidade de<br \/>\nrecompilar todo o servidor web, assim interrompendo o servi\u00e7o para a atualiza\u00e7\u00e3o dos arquivos.<br \/>\nM\u00f3dulos de programas terceiros tamb\u00e9m podem ser compilados e adicionado sem problemas<br \/>\natrav\u00e9s deste recurso.<br \/>\nOs m\u00f3dulos s\u00e3o carregados para a mem\u00f3ria no momento que o apache \u00e9 iniciado atrav\u00e9s da<br \/>\ndiretiva LoadModule no arquivo de configura\u00e7\u00e3o. Dessa forma, toda vez que um novo m\u00f3dulo for<br \/>\nadicionado, removido ou alterado, ser\u00e1 necess\u00e1rio reiniciar o servidor apache. A sintaxe da linha<br \/>\npara carregar m\u00f3dulos .so \u00e9 a seguinte:<br \/>\nLoadModule [nome_do_modulo] [caminho_do_arquivo_so]<br \/>\nnome_do_modulo<br \/>\nEspecifica o nome do m\u00f3dulo, n\u00e3o deve conter espa\u00e7os.<br \/>\ncaminho_do_arquivo_so<br \/>\nDefine a localiza\u00e7\u00e3o do arquivo que cont\u00e9m o m\u00f3dulo especificado. Por padr\u00e3o os m\u00f3dulos<br \/>\nest\u00e3o localizados em \/usr\/lib\/apache\/[vers\u00e3o]<br \/>\nA posi\u00e7\u00e3o em que os m\u00f3dulos aparecem podem ter influ\u00eancia em seu funcionamento, alguns<br \/>\nrequerem que sejam especificados antes de outros m\u00f3dulos para funcionarem corretamente (como o<br \/>\nm\u00f3dulo php3_module, que deve ser carregado antes de qualquer m\u00f3dulo de controle de CGI&#8217;s). Leia<br \/>\na documenta\u00e7\u00e3o espec\u00edfica sobe o m\u00f3dulo em caso de d\u00favidas, os m\u00f3dulos que acompanham o<br \/>\nApache s\u00e3o documentados em detalhes no manual do Apache.<br \/>\nPara usar uma caracter\u00edstica\/diretiva\/op\u00e7\u00e3o do Apache que dependa de um certo m\u00f3dulo,<br \/>\nobviamente voc\u00ea dever\u00e1 carregar o m\u00f3dulo correspondente (em caso de d\u00favidas, leia a<br \/>\ndocumenta\u00e7\u00e3o sobre o m\u00f3dulo). Veja a httpd.conf, Se\u00e7\u00e3o 12.14.1 para exemplos do uso da diretiva<br \/>\nLoadModule.<br \/>\nPor exemplo, se voc\u00ea quiser utilizar as diretivas de autoriza\u00e7\u00e3o (allow, deny, order) dever\u00e1 ter o<br \/>\nm\u00f3dulo mod_access carregado, para usar as diretivas de autoriza\u00e7\u00e3o (authname, authuserfile,<br \/>\nauthtype, etc) dever\u00e1 ter o m\u00f3dulo mod_auth carregado. Mais detalhes podem ser encontrados em<br \/>\nAutoriza\u00e7\u00e3o, Se\u00e7\u00e3o 12.7.1. OBS1: O suporte a DSO atualmente s\u00f3 est\u00e1 dispon\u00edvel para plataforma<br \/>\nUNIX e seus derivados, como o Linux.<br \/>\nTamb\u00e9m \u00e9 poss\u00edvel ativar certas diretivas verificando se o m\u00f3dulo correspondente estiver ou n\u00e3o<br \/>\ncarregado atrav\u00e9s da diretiva IfModule:<br \/>\n&lt;IfModule mod_userdir.c&gt;<br \/>\nUserDir disabled root<br \/>\nUserDir public_html<br \/>\n&lt;\/IfModule&gt;<br \/>\nNas linhas acima, as diretivas UserDir somente ser\u00e3o executadas se o m\u00f3dulo mod_userdir.c estiver<br \/>\ncarregado atrav\u00e9s da diretiva LoadModule.<br \/>\nSegue abaixo uma lista de m\u00f3dulos padr\u00f5es que acompanham do Apache, os m\u00f3dulos marcados<br \/>\ncom &#8220;*&#8221; s\u00e3o ativados por padr\u00e3o:<br \/>\nCria\u00e7\u00e3o de Ambiente<br \/>\n\u2022 * mod_env &#8211; Ajusta vari\u00e1veis de ambiente para scripts CGI\/SSI<br \/>\n\u2022 * mod_setenvif &#8211; Ajusta vari\u00e1veis de ambiente de acordo com cabe\u00e7alhos http<br \/>\n\u2022 mod_unique_id &#8211; Gera identificadores \u00fanicos para requisi\u00e7\u00f5es<br \/>\nDecis\u00e3o de tipo de conte\u00fado de arquivos<br \/>\n\u2022 * mod_mime &#8211; Determina\u00e7\u00e3o de tipo\/encodifica\u00e7\u00e3o do conte\u00fado (configurado)<br \/>\n\u2022 mod_mime_magic &#8211; Determina\u00e7\u00e3o de tipo\/encodifica\u00e7\u00e3o do conte\u00fado (autom\u00e1tico)<br \/>\n\u2022 * mod_negotiation &#8211; Sele\u00e7\u00e3o de conte\u00fado baseado nos cabe\u00e7alhos &#8220;HTTP<br \/>\nAccept*&#8221;<br \/>\nMapeamento de URL<br \/>\n\u2022 * mod_alias &#8211; Tradu\u00e7\u00e3o e redirecionamento de URL simples<br \/>\n\u2022 mod_rewrite &#8211; Tradu\u00e7\u00e3o e redirecionamento de URL avan\u00e7ado<br \/>\n\u2022 * mod_userdir &#8211; Sele\u00e7\u00e3o de diret\u00f3rios de recursos por nome de usu\u00e1rio<br \/>\n\u2022 mod_speling &#8211; Corre\u00e7\u00e3o de URLs digitadas incorretamente<br \/>\n\u2022 mod_vhost_alias &#8211; Suporte para virtual hosts dinamicamente configurados em<br \/>\nmassa.<br \/>\nManipula\u00e7\u00e3o de Diret\u00f3rios<br \/>\n\u2022 * mod_dir &#8211; Manipula\u00e7\u00e3o de Diret\u00f3rio e arquivo padr\u00e3o de diret\u00f3rio<br \/>\n\u2022 * mod_autoindex &#8211; Gera\u00e7\u00e3o de \u00edndice autom\u00e1tico de diret\u00f3rio<br \/>\nControle de Acesso<br \/>\n\u2022 * mod_access &#8211; Controle de acesso por autoriza\u00e7\u00e3o (usu\u00e1rio, endere\u00e7o, rede)<br \/>\n\u2022 * mod_auth &#8211; Autentica\u00e7\u00e3o HTTP b\u00e1sica (usu\u00e1rio, senha)<br \/>\n\u2022 mod_auth_dbm &#8211; Autentica\u00e7\u00e3o HTTP b\u00e1sica (atrav\u00e9s de arquivos NDBM do Unix)<br \/>\n\u2022 mod_auth_db &#8211; Autentica\u00e7\u00e3o HTTP b\u00e1sica (atrav\u00e9s de arquivos Berkeley-DB)<br \/>\n\u2022 mod_auth_anon &#8211; Autentica\u00e7\u00e3o HTTP b\u00e1sica para usu\u00e1rios no estilo an\u00f4nimo<br \/>\n\u2022 mod_auth_digest &#8211; Autentica\u00e7\u00e3o MD5<br \/>\n\u2022 mod_digest &#8211; Autentica\u00e7\u00e3o HTTP Digest<br \/>\nRespostas HTTP<br \/>\n\u2022 mod_headers &#8211; Cabe\u00e7alhos de respostas HTTP (configurado)<br \/>\n\u2022 mod_cern_meta &#8211; Cabe\u00e7alhos de respostas HTTP (arquivos no estilo CERN)<br \/>\n\u2022 mod_expires &#8211; Respostas de expira\u00e7\u00e3o HTTP<br \/>\n\u2022 * mod_asis &#8211; Respostas HTTP em formato simples (raw)<br \/>\nScripts<br \/>\n\u2022 * mod_include &#8211; Suporte a Includes no lado do servidor (SSI &#8211; Server Sides<br \/>\nIncludes)<br \/>\n\u2022 * mod_cgi &#8211; Suporte a CGI (Common Gateway Interface)<br \/>\n\u2022 * mod_actions &#8211; Mapeia scripts CGI para funcionarem como &#8216;handlers&#8217; internos.<br \/>\nManipuladores de conte\u00fado Interno<br \/>\n\u2022 * mod_status &#8211; Visualiza status do servidor em tempo de execu\u00e7\u00e3o.<br \/>\n\u2022 mod_info &#8211; Visualiza sum\u00e1rio de configura\u00e7\u00e3o do servidor.<br \/>\nRegistros de Requisi\u00e7\u00f5es<br \/>\n\u2022 * mod_log_config &#8211; Registro de requisi\u00e7\u00f5es personaliz\u00e1veis<br \/>\n\u2022 mod_log_agent &#8211; Registro especializado do User-Agent HTTP (depreciado)<br \/>\n\u2022 mod_log_refer &#8211; Registro especializado do Referrer HTTP (depreciado)<br \/>\n\u2022 mod_usertrack &#8211; Registro de cliques de usu\u00e1rios atrav\u00e9s de Cookies HTTP<br \/>\nOutros<br \/>\n\u2022 * mod_imap &#8211; Suporte a Mapeamento de Imagem no lado do servidor.<br \/>\n\u2022 mod_proxy &#8211; M\u00f3dulo de Cache do Proxy (HTTP, HTTPS, FTP).<br \/>\n\u2022 mod_so &#8211; Inicializa\u00e7\u00e3o do Dynamic Shared Object (DSO)<br \/>\nExperimental<br \/>\n\u2022 mod_mmap_static &#8211; Cache de p\u00e1ginas freq\u00fcentemente servidas via mmap()<br \/>\nDesenvolvimento<br \/>\n\u2022 mod_example &#8211; Demonstra\u00e7\u00e3o da API do Apache (somente desenvolvedores)<br \/>\n12.10 Sistema de Log do Apache<br \/>\nO Apache \u00e9 bem flex\u00edvel na especifica\u00e7\u00e3o do que ser\u00e1 registrado em seus arquivos de log,<br \/>\npossibilitando utilizar um arquivo de log \u00fanico, diversos arquivos de logs registrando cada evento<br \/>\nocorrido no sistema (conex\u00e3o, navegador, bloqueio de acesso, erros, etc) incluindo os campos que<br \/>\ndeseja em cada arquivo e a ordem dos campos em cada um deles.<br \/>\nEnfim qualquer coisa pode ser especificada de forma que atenda as suas necessidades particulares<br \/>\nde logging.<br \/>\n12.10.1 AgentLog<br \/>\nAgentLog arquivo\/pipe: Indica o nome do arquivo que registrar\u00e1 o nome do navegador que<br \/>\nest\u00e1 acessando a p\u00e1gina (conte\u00fado do cabe\u00e7alho User-Agent). \u00c9 poss\u00edvel usar o pipe &#8220;|&#8221; para<br \/>\ndirecionar os erros para um programa de formata\u00e7\u00e3o ou processamento. ATEN\u00c7\u00c3O: Se um<br \/>\nprograma for usado como pipe, ele ser\u00e1 executado sob o usu\u00e1rio que iniciou o apache. Revise o<br \/>\nc\u00f3digo fonte do programa para ter certeza que n\u00e3o cont\u00e9m falhas que possam comprometer a<br \/>\nseguran\u00e7a de seu sistema.<br \/>\nExemplo: AgentLog \/var\/log\/apache\/agent.log<br \/>\n12.10.2 ErrorLog<br \/>\nErrorLog arquivo\/pipe &#8211; Especifica o arquivo que registrar\u00e1 as mensagens de erro do<br \/>\nservidor Apache. \u00c9 poss\u00edvel usar o pipe &#8220;|&#8221; para direcionar os erros para um programa de<br \/>\nformata\u00e7\u00e3o ou processamento.<br \/>\nExemplo: ErrorLog \/var\/log\/apache\/errors.log<br \/>\n12.10.3 CustomLog<br \/>\nPermite especificar onde os logs ser\u00e3o gravados para os arquivos de logs personalizados. Esta<br \/>\ndiretiva tamb\u00e9m aceita apelidos definidos pela diretiva LogFormat.<br \/>\nCustomLog [arquivo\/pipe] [formato\/nome]<br \/>\nOnde:<br \/>\narquivo\/pipe<br \/>\nArquivo de log personalizado ou pipe.<br \/>\nformato\/nome<br \/>\nEspecifica o formato do arquivo de log (da mesma forma que o especificado na op\u00e7\u00e3o<br \/>\nLogFormat). Dever\u00e1 ser especificado entre &#8220;aspas&#8221; caso tiver espa\u00e7os. Veja LogFormat, Se\u00e7\u00e3o<br \/>\n12.10.10 para detalhes.<br \/>\nAo inv\u00e9s de especificar o formato, tamb\u00e9m \u00e9 poss\u00edvel usar um apelido definido pela op\u00e7\u00e3o<br \/>\nLogFormat (LogFormat, Se\u00e7\u00e3o 12.10.10), neste caso os par\u00e2metros definidos pelo LogFormat para<br \/>\n&#8220;nome&#8221; ser\u00e3o atribu\u00eddos a diretiva CustomLog.<br \/>\nExemplos:<br \/>\n\u2022 CustomLog \/var\/log\/apache\/common.log &#8220;%h %l %u %t \\&#8221;%r\\&#8221; %&gt;s<br \/>\n%b&#8221;<br \/>\n\u2022 CustomLog \/var\/log\/apache\/common.log common<br \/>\n12.10.4 RefererLog<br \/>\nRefererLog [arquivo\/pipe]: Indica que arquivo\/pipe registrar\u00e1 os campos Referer do<br \/>\ncabe\u00e7alho HTTP. Esta diretiva \u00e9 mantida por compatibilidade com o servidor web NCSA 1.4.<br \/>\nA configura\u00e7\u00e3o padr\u00e3o do Apache usa uma diretiva alternativa para a especifica\u00e7\u00e3o do referer que<br \/>\n\u00e9 a seguinte:<br \/>\nLogFormat &#8220;%{Referer}i -&gt; %U&#8221; referer<br \/>\nCustomLog \/var\/log\/apache\/referer.log referer<br \/>\nExemplo: RefererLog \/var\/log\/apache\/referer.log<br \/>\n12.10.5 RewriteLog<br \/>\nRewriteLog: [arquivo\/pipe]: Indica o arquivo\/pipe que registrar\u00e1 qualquer regrava\u00e7\u00e3o de<br \/>\nURL feita pelo Apache.<br \/>\nOBS: N\u00e3o \u00e9 recomend\u00e1vel direcionar o nome de arquivo para \/dev\/null como forma de<br \/>\ndesativar este log, porque o m\u00f3dulo de regrava\u00e7\u00e3o n\u00e3o cria a sa\u00edda para um arquivo de log, ele cria<br \/>\na sa\u00edda de log internamente. Isto somente deixar\u00e1 o servidor lento. Para desativar este registro,<br \/>\nsimplesmente remova\/comente a diretiva RewriteLog ou use a op\u00e7\u00e3o RewriteLogLevel 0.<br \/>\nExemplo: RewriteLog &#8220;\/usr\/local\/var\/apache\/logs\/rewrite.log<br \/>\n12.10.6 RewriteLogLevel<br \/>\nRewriteLogLevel [num]: Especifica os detalhes que ser\u00e3o inclu\u00eddos no registro da op\u00e7\u00e3o<br \/>\nRewriteLog, os valores permitidos est\u00e3o entre 0 e 9. Se for usado 0, o registro do RewriteLog \u00e9<br \/>\ntotalmente desativado (esta \u00e9 a padr\u00e3o). OBS: Qualquer valor acima de 2 deixa o servidor Web cada<br \/>\nvez mais lento devido ao processamento e a quantidade de detalhes registrados no arquivo<br \/>\nespecificado por RewriteLog.<br \/>\n12.10.7 ScriptLog<br \/>\nScriptLog [arquivo]: Especifica o nome do arquivo de log que receber\u00e1 as mensagens de<br \/>\nerros gerados por scripts CGI executados no servidor. Esta op\u00e7\u00e3o \u00e9 controlada pelo m\u00f3dulos<br \/>\nmod_cgi.<br \/>\nOs arquivos de log ser\u00e3o abertos por um sub-processo rodando com as permiss\u00f5es do usu\u00e1rio<br \/>\nespecificado na diretiva &#8220;user&#8221;.<br \/>\nOBS: Esta op\u00e7\u00e3o somente \u00e9 recomendada como depuradora de scripts CGI, n\u00e3o para uso cont\u00ednuo<br \/>\nem servidores ativos.<br \/>\nExemplo: ScriptLog \/var\/log\/apache\/cgiscripts.log<br \/>\n12.10.8 ScriptLogBuffer<br \/>\nScriptLogBuffer: Especifica o tamanho do cabe\u00e7alho PUT ou POST gravado no arquivo<br \/>\nespecificado por ScriptLog. O valor padr\u00e3o \u00e9 1024 bytes. Esta op\u00e7\u00e3o \u00e9 controlada pelo m\u00f3dulos<br \/>\nmod_cgi<br \/>\nExemplo: ScriptLogBuffer 512<br \/>\n12.10.9 ScriptLogLength<br \/>\nScriptLogLength: [tamanho]: Especifica o tamanho m\u00e1ximo do arquivo de log gerado<br \/>\npela op\u00e7\u00e3o ScriptLog. O valor padr\u00e3o \u00e9 10385760 bytes (10.3MB). Esta op\u00e7\u00e3o \u00e9 controlada pelo<br \/>\nm\u00f3dulos mod_cgi<br \/>\nExemplo: ScriptLogLength 1024480<br \/>\n12.10.10 LogFormat<br \/>\nLogFormat: Define os campos padr\u00f5es do arquivo gerado pela op\u00e7\u00e3o TransferLog. O seu formato<br \/>\n\u00e9 o seguinte:<br \/>\nLogFormat [formato] [nome]<br \/>\nQuando o formato n\u00e3o \u00e9 especificado, assume o valor padr\u00e3o %h %l %u %t \\&#8221;%r\\&#8221; %s %b.<br \/>\nA especifica\u00e7\u00e3o do [nome] permite que voc\u00ea utilize o formato especificado em uma op\u00e7\u00e3o<br \/>\nCustomLog ou outra diretiva LogFormat, facilitando a especifica\u00e7\u00e3o do formato do log.<br \/>\nOs seguintes formatos s\u00e3o v\u00e1lidos:<br \/>\n\u2022 %b &#8211; Bytes enviados, excluindo cabe\u00e7alhos HTTP.<br \/>\n\u2022 %f &#8211; Nome do arquivo.<br \/>\n\u2022 %{FOOBAR}e &#8211; O conte\u00fado da vari\u00e1vel de ambiente FOOBAR.<br \/>\n\u2022 %h &#8211; M\u00e1quina cliente.<br \/>\n\u2022 %a &#8211; Endere\u00e7o IP da m\u00e1quina cliente.<br \/>\n\u2022 %A &#8211; Endere\u00e7o IP local. Muito \u00fatil em virtual hostings.<br \/>\n\u2022 %{Foobar}i &#8211; O conte\u00fado de Foobar: linhas de cabe\u00e7alho na requisi\u00e7\u00e3o enviada ao<br \/>\nservidor.<br \/>\n\u2022 %l &#8211; O nome de login remoto enviado pelo identd (se fornecido).<br \/>\n\u2022 %{Foobar}n &#8211; O conte\u00fado de &#8220;FooBar&#8221; de outro m\u00f3dulo.<br \/>\n\u2022 %{Foobar}o: &#8211; O conte\u00fado de Foobar: linhas de cabe\u00e7alho na resposta.<br \/>\n\u2022 %p &#8211; A porta do servidor servindo a requisi\u00e7\u00e3o.<br \/>\n\u2022 %P &#8211; A identifica\u00e7\u00e3o do processo filho que serviu a requisi\u00e7\u00e3o.<br \/>\n\u2022 %r &#8211; A primeira linha da requisi\u00e7\u00e3o.<br \/>\n\u2022 %s &#8211; Status. Para requisi\u00e7\u00f5es que foram redirecionadas. internamente. Este \u00e9 o status de uma<br \/>\nrequisi\u00e7\u00e3o *original*. Use %s para a \u00faltima.<br \/>\n\u2022 %t &#8211; Hora, no formato do arquivo de log (formato ingl\u00eas padr\u00e3o).<br \/>\n\u2022 %{format}t &#8211; Hora, no formato definido por strftime.<br \/>\n\u2022 %T &#8211; O tempo necess\u00e1rio para servir a requisi\u00e7\u00e3o, em segundos.<br \/>\n\u2022 %u &#8211; Usu\u00e1rio remoto (atrav\u00e9s do auth, pode ser falso se o status de retorno (%s) for 401).<br \/>\n\u2022 %U &#8211; O caminho da URL requisitada.<br \/>\n\u2022 %v &#8211; O nome can\u00f4nico definido por ServerName que serviu a requisi\u00e7\u00e3o.<br \/>\n\u2022 %V &#8211; O nome do servidor de acordo com a configura\u00e7\u00e3o de UseCanonicalName.<br \/>\nExemplos:<br \/>\nLogFormat &#8220;%h %l %u %t \\&#8221;%r\\&#8221; %&gt;s %b \\&#8221;%{Referer}i\\&#8221; \\&#8221;%{User-Agent}i\\&#8221; %T<br \/>\n%v&#8221; full<br \/>\nLogFormat &#8220;%h %l %u %t \\&#8221;%r\\&#8221; %&gt;s %b \\&#8221;%{Referer}i\\&#8221; \\&#8221;%{User-Agent}i\\&#8221; %P<br \/>\n%T&#8221; debug<br \/>\nLogFormat &#8220;%h %l %u %t \\&#8221;%r\\&#8221; %&gt;s %b \\&#8221;%{Referer}i\\&#8221; \\&#8221;%{User-Agent}i\\&#8221;&#8221;<br \/>\ncombined<br \/>\nLogFormat &#8220;%h %l %u %t \\&#8221;%r\\&#8221; %&gt;s %b&#8221; common<br \/>\nLogFormat &#8220;%{Referer}i -&gt; %U&#8221; referer<br \/>\nLogFormat &#8220;%{User-agent}i&#8221; agent<br \/>\n12.10.11 TransferLog<br \/>\nTransferLog [arquivo\/pipe]: Indica o arquivo que armazenar\u00e1 as transfer\u00eancias entre o<br \/>\nservidor http e o cliente. Ela cria o arquivo de log com o formato definido pela op\u00e7\u00e3o LogFormat<br \/>\nmais recente (sem a especifica\u00e7\u00e3o do nome associado a diretiva) ou o formato padr\u00e3o CLF do log<br \/>\ndo Apache.<br \/>\nSe omitido, o arquivo n\u00e3o ser\u00e1 gerado<br \/>\nExemplo: TransferLog \/var\/log\/apache\/transfer\u00eancias.log<br \/>\nOBS: Se esta n\u00e3o \u00e9 uma op\u00e7\u00e3o muito utilizada na administra\u00e7\u00e3o de seus sistemas, \u00e9 recomend\u00e1vel o<br \/>\nuso da diretiva CustomLog (veja CustomLog, Se\u00e7\u00e3o 12.10.3) para evitar confus\u00f5es futuras.<br \/>\n12.10.12 LogLevel<br \/>\nDefine o n\u00edvel de alerta das mensagens que ser\u00e3o gravadas no arquivo especificado pela diretiva<br \/>\nErrorLog. Quando n\u00e3o \u00e9 especificado, assume o n\u00edvel &#8220;error&#8221; como padr\u00e3o. Abaixo os par\u00e2metros<br \/>\naceitos em sua respectiva ordem de import\u00e2ncia:<br \/>\n\u2022 emerg &#8211; O sistema est\u00e1 inutiliz\u00e1vel.<br \/>\n\u2022 alert &#8211; A a\u00e7\u00e3o deve ser tomada imediatamente.<br \/>\n\u2022 crit &#8211; Condi\u00e7\u00f5es cr\u00edticas.<br \/>\n\u2022 error &#8211; Condi\u00e7\u00f5es de erro.<br \/>\n\u2022 warn &#8211; Condi\u00e7\u00f5es de alerta.<br \/>\n\u2022 notice &#8211; Condi\u00e7\u00e3o normal mas significante.<br \/>\n\u2022 info &#8211; Mensagens informativas.<br \/>\n\u2022 debug &#8211; Mensagens do n\u00edvel de depura\u00e7\u00e3o.<br \/>\nNote que os n\u00edveis s\u00e3o os mesmos usados pelo syslog. Quando um n\u00edvel particular \u00e9<br \/>\nespecificado, as mensagens de todos os n\u00edveis de maior import\u00e2ncia tamb\u00e9m ser\u00e3o registrados. Por<br \/>\nexemplo, se o n\u00edvel &#8220;info&#8221; for especificado, as mensagens com os n\u00edveis de &#8220;notice&#8221; e &#8220;warn&#8221;<br \/>\ntamb\u00e9m ser\u00e3o registradas. \u00c9 recomendado o uso de um n\u00edvel de no m\u00ednimo crit.<br \/>\n12.10.13 Anonymous_LogEmail<br \/>\nSe estiver como &#8220;on&#8221; a senha digitada ser\u00e1 registrada no arquivo especificado por ErrorLog. Esta<br \/>\ndiretiva \u00e9 ativada por padr\u00e3o.<br \/>\nExemplo: Anonymous_LogEmail off<br \/>\n12.10.14 CookieLog<br \/>\nEspecifica o arquivo que ser\u00e1 usado para registrar os cookies<br \/>\nOBS1: Caso o caminho do arquivo n\u00e3o for especificado nas diretivas, ser\u00e1 assumido DocumentRoot<br \/>\ncomo diret\u00f3rio padr\u00e3o.<br \/>\nOBS2: Caso esteja usando o pipe, o dono do processo ser\u00e1 o mesmo que iniciou o servidor WEB<br \/>\nApache. Tenha certeza do funcionamento do programa para n\u00e3o comprometer o seu sistema, e cuide<br \/>\npara que ele n\u00e3o possa ser modificado indevidamente por outros usu\u00e1rios.<br \/>\nExemplo: CookieLog \/var\/log\/apache\/cookies.log<br \/>\n12.10.15 Relat\u00f3rio gr\u00e1fico de acesso ao sistema<br \/>\nO programa webalizer poder\u00e1 ser instalado para gerar um relat\u00f3rio gr\u00e1fico com a estat\u00edsticas de<br \/>\nvisitas por ano\/mes\/dia\/hora usando os dados do access.log. Outra interessante caracter\u00edstica<br \/>\ns\u00e3o as estat\u00edsticas de c\u00f3digos http (veja C\u00f3digos HTTP, Se\u00e7\u00e3o 12.15), onde \u00e9 poss\u00edvel saber a<br \/>\nquantidade de links quebrados existentes em nosso servidor (estes poder\u00e3o ser detectados usando o<br \/>\npacote de an\u00e1lise de sites linbot). O webalizer tamb\u00e9m \u00e9 compat\u00edvel com os formatos de log<br \/>\ndo squid e proftpd. Na distribui\u00e7\u00e3o Debian ele pode ser instalado a partir do pacote<br \/>\nwebalizer e gera um relat\u00f3rio geral quando \u00e9 executado sem op\u00e7\u00f5es.<br \/>\n12.11 Configurando o Apache como servidor proxy<br \/>\nO Apache pode ser configurado para funcionar como servidor proxy transparente para sua rede<br \/>\ninterna, possibilitando inclusive o uso de cache de disco. \u00c9 poss\u00edvel se fazer conex\u00f5es HTTP<br \/>\n(incluindo SSL) e FTP. Atrav\u00e9s desta caracter\u00edstica tamb\u00e9m \u00e9 poss\u00edvel usar uma das caracter\u00edsticas<br \/>\nmais interessante desse servidor web: o redirecionamento de conex\u00f5es para uma determinada URL<br \/>\npara uma outra m\u00e1quina, que pode ser um outro host remoto ou uma m\u00e1quina da rede interna (n\u00e3o<br \/>\nacess\u00edvel diretamente via Internet).<br \/>\nO primeiro passo \u00e9 ativar o m\u00f3dulo de proxy no arquivo httpd.conf, basta descomentar a linha:<br \/>\n# LoadModule proxy_module \/usr\/lib\/apache\/1.3\/libproxy.so<br \/>\nO seguinte bloco pode ser colocado no final do arquivo httpd.conf para configurar um servidor<br \/>\nproxy para realizar conex\u00f5es diretas (sem o uso de cache) e permitir o uso de servidores proxy em<br \/>\nsua rede:<br \/>\n# Suporte a Proxy<br \/>\n#<br \/>\n&lt;IfModule mod_proxy.c&gt;<br \/>\nProxyRequests off<br \/>\nProxyRemote * http:\/\/debian:3128<br \/>\nProxyBlock microsoft.com microsoft.com.br<br \/>\nNoProxy 192.168.1.0\/24<br \/>\nProxyDomain .gms.com.br<br \/>\n# Ativa\/Desativa a manipula\u00e7\u00e3o de cabe\u00e7alhos HTTP\/1.1 &#8220;Via:&#8221;.<br \/>\n#<br \/>\n# (&#8220;Full&#8221; adiciona a vers\u00e3o do servidor Apache; &#8220;Block&#8221; remove todos os<br \/>\ncabe\u00e7alhos<br \/>\n# de sa\u00edda &#8220;Via:&#8221;)<br \/>\n# Escolha uma das op\u00e7\u00f5es: Off | On | Full | Block<br \/>\n#<br \/>\n#ProxyVia On<br \/>\n#&lt;\/IfModule&gt;<br \/>\nSegue a explica\u00e7\u00e3o de cada uma das diretivas acima:<br \/>\nProxyRequests [on\/off]<br \/>\nAtiva (on) ou Desativa (off) o servi\u00e7o de proxy do servidor Apache. Note que o m\u00f3dulo<br \/>\nlibproxy.so deve estar carregado para que o bloco &lt;IfModule libproxy.c&gt; seja<br \/>\nprocessado. A desativa\u00e7\u00e3o desta diretiva n\u00e3o afeta a diretiva ProxyPass.<br \/>\nProxyRemote [origem] [URL]<br \/>\nEsta op\u00e7\u00e3o \u00e9 \u00fatil para fazer o Apache redirecionar suas requisi\u00e7\u00f5es para outro servidor proxy<br \/>\n(como o squid ou o gateway da rede, caso o Apache estiver sendo executado em uma<br \/>\nm\u00e1quina interna). A origem pode ser uma URL completa (como http:\/\/www.debian.org), uma<br \/>\nURL parcial (como ftp, http) ou &#8220;*&#8221; para que o redirecionamento seja sempre usado.<br \/>\nProxyBlock [padr\u00e3o]<br \/>\nPermite bloquear o acesso a endere\u00e7os que contenham o padr\u00e3o especificado. Podem ser<br \/>\nespecificadas palavras, m\u00e1quinas, dom\u00ednios, URLs separados por espa\u00e7os. O Apache far\u00e1 a<br \/>\nresolu\u00e7\u00e3o DNS no caso de endere\u00e7os IP e far\u00e1 o cache para requisi\u00e7\u00f5es futuras.<br \/>\nNoProxy [endere\u00e7os]<br \/>\nPermite especificar endere\u00e7os Internos que n\u00e3o ser\u00e3o redirecionados para o servidor proxy<br \/>\nespecificado por ProxyRemote. Podem ser usados nomes de m\u00e1quinas, endere\u00e7os IP, subredes<br \/>\nou dom\u00ednios separados por espa\u00e7os.<br \/>\nProxyDomain [endere\u00e7o]<br \/>\nEspecifica o endere\u00e7o que ser\u00e1 adicionado a URL caso seja recebida uma requisi\u00e7\u00e3o que<br \/>\ncontenha somente um nome de m\u00e1quina. \u00c9 \u00fatil em redes Internas.<br \/>\nNote que quando o suporte a proxy n\u00e3o est\u00e1 ativado no Apache, qualquer endere\u00e7o de URL<br \/>\nexterna levar\u00e1 a p\u00e1gina definida pela diretiva DocumentRoot. Isto deixar\u00e1 de funcionar ap\u00f3s<br \/>\nconfigurar o servi\u00e7o de proxy.<br \/>\nO uso do cache \u00e9 interessante para acelerar as requisi\u00e7\u00f5es http da rede interna para a rede externa,<br \/>\ndesta forma, se uma requisi\u00e7\u00e3o foi feita anteriormente, ser\u00e1 descarregado o arquivo do disco r\u00edgido<br \/>\ne assim evitar uma nova conex\u00e3o externa (isto libera a rede para outras coisas). Para configurar um<br \/>\ncache no servi\u00e7o proxy, adicione as seguintes linhas no final do bloco anterior de proxy:<br \/>\n# As linhas abaixo ativam o cache do apache, o cache n\u00e3o funcionar\u00e1 ao<br \/>\nmenos que<br \/>\n# CacheRoot seja especificado<br \/>\nCacheRoot \/var\/spool\/apache<br \/>\nCacheForceCompletion 70<br \/>\nCacheSize 5<br \/>\nCacheGcInterval 3<br \/>\nCacheDefaultExpire 5<br \/>\nCacheMaxExpire 300<br \/>\nNoCache 192.168.1.0\/24 a_domain.com outrodom\u00ednio.com.br outro.dominio.net<br \/>\nCada diretiva acima possui o seguinte significado:<br \/>\nCacheRoot<br \/>\nDiret\u00f3rio base onde ser\u00e3o criados os outros diret\u00f3rios de cache. O cache s\u00f3 ser\u00e1 ativado se<br \/>\nesta diretiva for definida.<br \/>\nCacheForceCompletion [num]<br \/>\nSe uma transfer\u00eancia for cancelada e passar de num%, o Apache continuar\u00e1 a transfer\u00eancia e<br \/>\narmazenar\u00e1 o arquivo no cache. O valor padr\u00e3o \u00e9 90.<br \/>\nCacheSize [num]<br \/>\nDefine o tamanho m\u00e1ximo do diret\u00f3rio de cache do Apache, em KB. N\u00e3o especifique um<br \/>\nvalor que tome mais de 70% do espa\u00e7o em disco. O valor padr\u00e3o \u00e9 5.<br \/>\nCacheGcInterval [num]<br \/>\nDefine o tempo que o cache ser\u00e1 checado em busca de arquivos maiores que o total do cache.<br \/>\nArquivos que ultrapassem o tamanho do cache s\u00e3o automaticamente eliminados.<br \/>\nCacheDefaultExpire [num]<br \/>\nDefine o tempo que os documentos ficar\u00e3o no cache, se foram transferidos atrav\u00e9s de<br \/>\nprotocolos que n\u00e3o suportam horas de expira\u00e7\u00e3o. O valor padr\u00e3o \u00e9 1 hora.<br \/>\nCacheMaxExpire [num]<br \/>\nDefine o tempo que os documentos permanecer\u00e3o armazenados no cache (em horas). Esta<br \/>\nop\u00e7\u00e3o ignora a hora de expira\u00e7\u00e3o do documento (caso fornecida). O valor padr\u00e3o \u00e9 24 horas.<br \/>\nNoCache [endere\u00e7os]<br \/>\nPermite especificar lista de palavras, m\u00e1quinas, dom\u00ednios, IP&#8217;s que n\u00e3o ser\u00e3o armazenados no<br \/>\ncache do Apache. Caso seja usado NoCache * o cache ser\u00e1 desativado completamente.<br \/>\nNote que o cache tamb\u00e9m pode ser desativado comentando a diretiva CacheRoot.<br \/>\nSe voc\u00ea desejar um servidor cache mais flex\u00edvel, r\u00e1pido, din\u00e2mico, configur\u00e1vel (com possibilidade<br \/>\nde uso de restri\u00e7\u00f5es baseadas em URL, tempo de acesso, autentica\u00e7\u00e3o), instale o squid e<br \/>\nconfigure o apache para fazer forward de conex\u00f5es para ele (Redirecionamento de conex\u00f5es no<br \/>\nApache, Se\u00e7\u00e3o 12.11.2).<br \/>\n12.11.1 Controlando o acesso ao servidor proxy<br \/>\nIncluir o bloco abaixo no arquivo access.conf para definir o acesso dos servi\u00e7os de proxy nas<br \/>\nredes desejadas (se a sua configura\u00e7\u00e3o for aberta como padr\u00e3o isto pode ser opcional):<br \/>\n# Acesso aos servi\u00e7os proxy do apache<br \/>\n&lt;Directory proxy:*&gt;<br \/>\nOrder deny,allow<br \/>\nDeny from all<br \/>\nAllow from .seudominio.com.br<br \/>\n&lt;\/Directory&gt;<br \/>\nPara explica\u00e7\u00f5es sobre o processo de bloqueio acima, veja Autoriza\u00e7\u00e3o, Se\u00e7\u00e3o 12.7.1.<br \/>\n12.11.2 Redirecionamento de conex\u00f5es no Apache<br \/>\nEste recurso do Apache \u00e9 interessante para criar clusters de servidores em sua rede interna. O que<br \/>\nele faz \u00e9 pegar uma requisi\u00e7\u00e3o a um determinado endere\u00e7o e redireciona-lo a outra m\u00e1quina e as<br \/>\nrespostas s\u00e3o repassadas ao servidor web (para o cliente a mesma m\u00e1quina esta atendendo a<br \/>\nrequisi\u00e7\u00e3o, para voc\u00ea o processamento das requisi\u00e7\u00f5es esta sendo distribu\u00eddo internamente na rede).<br \/>\nAs seguintes diretivas s\u00e3o usadas para realizar o redirecionamento de conex\u00f5es: ProxyPass e<br \/>\nProxyPassReverse<br \/>\nProxyPass [diret\u00f3rio_da_url [outro_servidor:\/diret\u00f3rio]<br \/>\nA ProxyPass permite que a URL seja redirecionada para o servidor local e diret\u00f3rio<br \/>\nespecificado. Por exemplo, assumindo que o endere\u00e7o principal de nosso servidor \u00e9<br \/>\nhttp:\/\/www.guiafoca.org e desejamos que a URL<br \/>\nhttp:\/\/www.guiafoca.org\/download seja atendida por uma m\u00e1quina localizada na<br \/>\nnossa rede privada com o endere\u00e7o http:\/\/192.168.1.54. Basta incluir a linha:<br \/>\nProxyPass \/download http:\/\/192.168.1.54<br \/>\nQualquer requisi\u00e7\u00e3o externa a http:\/\/www.guiafoca.org\/download\/iniciante<br \/>\nser\u00e1 atendida por http:\/\/192.168.1.54\/iniciante.<br \/>\nProxyPassRemote [diret\u00f3rio_da_url [outro_servidor:\/diret\u00f3rio]<br \/>\nEsta diretiva permite modificar o cabe\u00e7alho Location nas mensagens de respostas de<br \/>\nredirecionamento enviadas pelo Apache. Isto permite que o endere\u00e7o retornado seja o do<br \/>\nservidor (que faz a interface externa com o cliente) e n\u00e3o da m\u00e1quina do redirecionamento.<br \/>\nProxyPass \/download http:\/\/192.168.1.54<br \/>\nProxyPassReverse \/download http:\/\/192.168.1.54<br \/>\nSe a m\u00e1quina 192.168.1.54 redirecionar a URL para<br \/>\nhttp:\/\/192.168.1.54\/download\/iniciante, a resposta ser\u00e1 modificada para<br \/>\nhttp:\/\/www.guiafoca.org\/download\/iniciante antes de ser retornada ao<br \/>\ncliente.<br \/>\n\\<br \/>\n12.12 Virtual Hosts<br \/>\nVirtual Hosts (sites virtuais) \u00e9 um recurso que permite servir mais de um site no mesmo servidor.<br \/>\nPodem ser usadas diretivas espec\u00edficas para o controle do site virtual, como nome do administrador,<br \/>\nerros de acesso a p\u00e1gina, controle de acesso e outros dados \u00fateis para personalizar e gerenciar o site.<br \/>\nExistem 2 m\u00e9todos de virtual hosts:<br \/>\n\u2022 Virtual Hosts baseados em IP &#8211; Requer um endere\u00e7o IP diferente para cada site.<br \/>\nEste poder\u00e1 ser um IP real (da interface de rede) ou um apelido (veja IP Alias, Se\u00e7\u00e3o 5.1), o<br \/>\nque interessa \u00e9 que deve haver um endere\u00e7o IP diferente para cada site. O n\u00famero de sites<br \/>\nservidos estar\u00e1 limitado a quantidade de endere\u00e7os IP dispon\u00edveis em sua classe de rede.<br \/>\nVeja Virtual hosts baseados em IP, Se\u00e7\u00e3o 12.12.1 para detalhes de como construir um virtual<br \/>\nhost deste tipo.<br \/>\nO apache foi um dos primeiros servidores web a incluir suporte a virtual hosts baseados<br \/>\nem IP.<br \/>\n\u2022 Virtual Hosts baseados em nome &#8211; Este utiliza nomes para identificar os sites<br \/>\nservidos e requerem somente um endere\u00e7o IP. Desta maneira \u00e9 poss\u00edvel servir um n\u00famero<br \/>\nilimitado de sites virtuais. O navegador do cliente deve suportar os cabe\u00e7alhos necess\u00e1rios<br \/>\npara garantir o funcionamento deste recurso (praticamente todos os navegadores atuais<br \/>\npossuem este suporte). Veja Virtual hosts baseados em nome, Se\u00e7\u00e3o 12.12.2 para detalhes de<br \/>\ncomo construir um virtual host deste tipo.<br \/>\nAs explica\u00e7\u00f5es desta se\u00e7\u00e3o s\u00e3o baseadas na documenta\u00e7\u00e3o do Apache.<br \/>\n12.12.1 Virtual hosts baseados em IP<br \/>\nExistem duas maneiras de rodar este tipo de host virtual: Atrav\u00e9s de daemons httpd separados ou<br \/>\nem um \u00fanico daemon httpd usando a diretiva &lt;VirtualHost&gt;.<br \/>\nAs vantagens do uso de daemons separados para servir requisi\u00e7\u00f5es \u00e9 a prote\u00e7\u00e3o sob UID e GID<br \/>\ndiferente dos outros servidores, assim o administrador do site1 n\u00e3o ter\u00e1 acesso ao httpd.conf,<br \/>\np\u00e1gina do site2 (porque ele estar\u00e1 rodando sob uma UID e GID diferentes e o acesso \u00e9 restrito).<br \/>\nPara usar este m\u00e9todo, especifique a op\u00e7\u00e3o -f [arquivo_cfg] para utilizar um arquivo de<br \/>\nconfigura\u00e7\u00e3o personalizado e a diretiva Listen endere\u00e7o:porta para dizer onde o servidor aguardar\u00e1<br \/>\nas requisi\u00e7\u00f5es.<br \/>\nAs vantagens do uso de um mesmo daemon para servir as requisi\u00e7\u00f5es s\u00e3o: quando n\u00e3o h\u00e1 problema<br \/>\nse os administradores de outros sites tenham acesso ao mesmo arquivo de configura\u00e7\u00e3o ou quando<br \/>\nh\u00e1 a necessidade de servir muitas requisi\u00e7\u00f5es de uma s\u00f3 vez (quanto menos servidores web<br \/>\nestiverem em execu\u00e7\u00e3o, melhor o desempenho do sistema). Abaixo um exemplo de configura\u00e7\u00e3o de<br \/>\nvirtual hosts servindo os sites www.site1.com.br e www.site2.com.br:<br \/>\nServerAdmin webmaster@site.com.br<br \/>\n&lt;VirtualHost www.site1.com.br&gt;<br \/>\nServerName www.site1.com.br<br \/>\nServerAdmin site1@site1.com.br<br \/>\nDocumentRoot \/home\/viaza132\/www\/www_site1_com_br<br \/>\nTransferLog \/var\/log\/apache\/site1\/access.log<br \/>\nErrorLog \/var\/log\/apache\/site1\/error.log<br \/>\nUser www-data<br \/>\nGroup www-data<br \/>\n&lt;\/VirtualHost&gt;<br \/>\n&lt;VirtualHost www.site2.com.br&gt;<br \/>\nServerName www.site2.com.br<br \/>\nDocumentRoot \/home\/viaza132\/www\/www_site2_com_br<br \/>\nCustomLog \/var\/log\/apache\/site2\/access.log combined<br \/>\nErrorLog \/var\/log\/apache\/site2\/error.log<br \/>\n&lt;\/VirtualHost&gt;<br \/>\nQualquer diretiva dentro de &lt;VirtualHost&gt; controlar\u00e3o ter\u00e3o efeito no site virtual especificado.<br \/>\nQuando uma diretiva n\u00e3o for especificada dentro de &lt;VirtualHost&gt;, ser\u00e3o usados os valores padr\u00f5es<br \/>\nespecificados no arquivo de configura\u00e7\u00e3o do Apache (como a diretiva ServerAdmin<br \/>\nwebmaster@site.com.br que ser\u00e1 usado como padr\u00e3o na configura\u00e7\u00e3o de www.site2.com.br).<br \/>\nDigite apache -S para ver suas configura\u00e7\u00f5es de virtual hosts atual.<br \/>\nOBS1: Desative a diretiva UseCanonicalName off quando utilizar o recurso de m\u00e1quinas<br \/>\nvirtuais, esta diretiva faz que o nome do servidor retornado usando o valor em ServerName<br \/>\nquando o cliente digita um endere\u00e7o qualquer.<br \/>\nOBS2: Utilize sempre que poss\u00edvel endere\u00e7os IP em configura\u00e7\u00f5es cr\u00edticas, assim os servi\u00e7os n\u00e3o<br \/>\nser\u00e3o t\u00e3o vulner\u00e1veis a poss\u00edveis falsifica\u00e7\u00f5es ou erros. Veja \/etc\/host.conf, Se\u00e7\u00e3o 4.6.2.2 e Prote\u00e7\u00e3o<br \/>\ncontra IP spoofing, Se\u00e7\u00e3o 10.6.5. Leia tamb\u00e9m a se\u00e7\u00e3o Seguran\u00e7a no uso de IP&#8217;s em Virtual Hosts,<br \/>\nSe\u00e7\u00e3o 12.12.3.<br \/>\nOBS3: N\u00e3o permita que outros usu\u00e1rios a n\u00e3o ser o root e o dono do processo Apache<br \/>\n(especificado pela diretiva User) tenham acesso de grava\u00e7\u00e3o aos logs gerados pelo servidor, pois os<br \/>\ndados podem ser apagados ou criados links simb\u00f3licos para bin\u00e1rios do sistema que ser\u00e3o<br \/>\ndestru\u00eddos quando o Apache gravar dados. Alguns bin\u00e1rios e bibliotecas s\u00e3o essenciais para o<br \/>\nfuncionamento do sistema.<br \/>\n12.12.2 Virtual hosts baseados em nome<br \/>\nEste m\u00e9todo \u00e9 id\u00eantico ao baseado em IP, em especial adicionamos a diretiva NameVirtualHost para<br \/>\ndizer qual \u00e9 o endere\u00e7o IP do servidor que est\u00e1 servindo os virtual hosts baseados em nome. Veja o<br \/>\nexemplo de configura\u00e7\u00e3o:<br \/>\nNameVirtualHost 200.200.200.10:80<br \/>\n&lt;VirtualHost _default_:80 200.200.200.10:80&gt;<br \/>\nServerName www.site.com.br<br \/>\nServerAdmin admin@site.com.br<br \/>\nDocumentRoot \/home\/viaza132\/www<br \/>\nTransferLog \/var\/log\/apache\/access.log<br \/>\nErrorLog \/var\/log\/apache\/error.log<br \/>\n&lt;\/VirtualHost&gt;<br \/>\n&lt;VirtualHost 200.200.200.10&gt;<br \/>\nServerName www.site1.com.br<br \/>\nServerAdmin admin1@site1.com.br<br \/>\nDocumentRoot \/home\/viaza132\/www\/www_site1_com_br<br \/>\nTransferLog \/var\/log\/apache\/site1\/access.log<br \/>\nErrorLog \/var\/log\/apache\/site1\/error.log<br \/>\n&lt;\/VirtualHost&gt;<br \/>\n&lt;VirtualHost 200.200.200.10&gt;<br \/>\nServerName www.site2.com.br<br \/>\nServerAdmin admin2@site2.com.br<br \/>\nDocumentRoot \/home\/viaza132\/www\/www_site2_com_br<br \/>\nTransferLog \/var\/log\/apache\/site2\/access.log<br \/>\nErrorLog \/var\/log\/apache\/site2\/error.log<br \/>\n&lt;\/VirtualHost&gt;<br \/>\nA diretiva NameVirtualHost diz que ser\u00e1 usado virtual hosts baseados em nome servidos pela<br \/>\nm\u00e1quina com IP 200.200.200.10. Os par\u00e2metros dentro do bloco das diretivas &lt;VirtualHost &gt;<br \/>\ns\u00e3o espec\u00edficas somente no site virtual especificado, caso contr\u00e1rio os valores padr\u00f5es definidos no<br \/>\narquivo de configura\u00e7\u00e3o ser\u00e3o usados. Caso nenhum virtual host confira com a configura\u00e7\u00e3o, o<br \/>\nvirtualhost _default_ ser\u00e1 usado.<br \/>\nDigite apache -S para ver suas configura\u00e7\u00f5es de virtual hosts atual. Se sua inten\u00e7\u00e3o \u00e9 criar um<br \/>\ngrande n\u00famero de virtual hosts que ser\u00e3o servidos pela mesma m\u00e1quina, o uso da expans\u00e3o %0 e<br \/>\ndiretivas VirtualDocumentRoot e VirtualScriptAlias s\u00e3o recomendados:<br \/>\nNameVirtualHost 200.200.200.10:80<br \/>\n&lt;VirtualHost 200.200.200.10&gt;<br \/>\nVirtualDocumentRoot \/home\/viaza132\/www\/%0<br \/>\nVirtualScriptAlias \/home\/viaza132\/www\/%0\/cgi-bin<br \/>\nTransferLog log\/apache\/site1\/access.log<br \/>\nErrorLog log\/apache\/site1\/error.log<br \/>\n&lt;\/VirtualHost&gt;<br \/>\nAgora crie os diret\u00f3rios em \/home\/viaza132\/www correspondentes aos nomes de dom\u00ednios que ser\u00e3o servidos<br \/>\npor sua m\u00e1quina: mkdir \/home\/viaza132\/www\/www.site1.com.br, mkdir<br \/>\n\/home\/viaza132\/www\/www.site2.com.br. Note que sua m\u00e1quina dever\u00e1 estar com o DNS configurado<br \/>\npara responder por estes dom\u00ednios .<br \/>\nATEN\u00c7\u00c3O \u00c9 importante que os endere\u00e7os especificados nas diretivas ServerName<br \/>\n(www.site1.com.br) resolvam o endere\u00e7o IP da diretiva VirtualHost (200.200.200.10).<br \/>\nIsto deve ser feito via DNS ou nos arquivos \/etc\/hosts.<br \/>\nOBS1: Utilize sempre que poss\u00edvel endere\u00e7os IP em configura\u00e7\u00f5es cr\u00edticas, assim os servi\u00e7os n\u00e3o<br \/>\nser\u00e3o t\u00e3o vulner\u00e1veis a poss\u00edveis falsifica\u00e7\u00f5es ou erros. Veja \/etc\/host.conf, Se\u00e7\u00e3o 4.6.2.2 e Prote\u00e7\u00e3o<br \/>\ncontra IP spoofing, Se\u00e7\u00e3o 10.6.5. Leia tamb\u00e9m a se\u00e7\u00e3o Seguran\u00e7a no uso de IP&#8217;s em Virtual Hosts,<br \/>\nSe\u00e7\u00e3o 12.12.3.<br \/>\nOBS2: N\u00e3o permita que outros usu\u00e1rios a n\u00e3o ser o root e o dono do processo Apache<br \/>\n(especificado pela diretiva User) tenha acesso de grava\u00e7\u00e3o aos logs gerados pelo servidor. Pois os<br \/>\ndados podem ser apagados ou criados links para bin\u00e1rios do sistema que ser\u00e3o destru\u00eddos quando o<br \/>\napache gravar dados para os logs. Alguns bin\u00e1rios e bibliotecas s\u00e3o essenciais para o funcionamento<br \/>\ndo sistema.<br \/>\n12.12.3 Seguran\u00e7a no uso de IP&#8217;s em Virtual Hosts<br \/>\nQuando voc\u00ea est\u00e1 colocando um nome na diretiva de configura\u00e7\u00e3o do seu virtual hosts, est\u00e1<br \/>\nassumindo que ele resolver\u00e1 o endere\u00e7o IP corretamente (como www.site1.com.br =&gt;<br \/>\n200.200.200.10). Se por algum motivo o servidor DNS for modificado (por outra pessoa que<br \/>\ntem acesso a isto), o endere\u00e7o IP resolvido para o site www.site1.com.br poder\u00e1 ser<br \/>\nmodificado para 200.200.200.20, isto redirecionar\u00e1 as requisi\u00e7\u00f5es para outra m\u00e1quina ao inv\u00e9s<br \/>\nda m\u00e1quina correta. Este tipo de ataque \u00e9 chamado &#8220;DNS Spoofing&#8221; e o uso de endere\u00e7o IP (ao<br \/>\ninv\u00e9s de nomes) praticamente evita que isto aconte\u00e7a. Esta situa\u00e7\u00e3o pode acontecer com a diretiva<br \/>\nabaixo:<br \/>\n&lt;VirtualHost www.gms.com.br&gt;<br \/>\nServerName www.gms.com.br<br \/>\nServerAdmin gleydson@guiafoca.org<br \/>\nDocumentRoot \/home\/viaza132\/www\/www_gms_com_br<br \/>\n&lt;\/VirtualHost&gt;<br \/>\nOutra situa\u00e7\u00e3o, que impede o funcionamento do servidor Web, \u00e9 quando o servidor DNS est\u00e1 em<br \/>\nmanuten\u00e7\u00e3o ou por algum outro motivo n\u00e3o pode resolver o endere\u00e7o IP de um nome especificado<br \/>\n(como www.site1.com.br). O apache precisa saber qual \u00e9 o seu endere\u00e7o IP para ser<br \/>\nexecutado. Veja a pr\u00f3xima modifica\u00e7\u00e3o:<br \/>\n&lt;VirtualHost 192.168.1.1&gt;<br \/>\nServerName www.gms.com.br<br \/>\nServerAdmin gleydson@guiafoca.org<br \/>\nDocumentRoot \/home\/viaza132\/www\/www_gms_com_br<br \/>\n&lt;\/VirtualHost&gt;<br \/>\nNa configura\u00e7\u00e3o acima usamos o IP do servidor para especificar o virtual host. O apache tentar\u00e1<br \/>\nfazer o DNS reverso para determinar qual nome \u00e9 servido por aquele endere\u00e7o IP<br \/>\n(www.site1.com.br). Se ele falhar, somente a se\u00e7\u00e3o &lt;VirtualHost&gt; correspondente ser\u00e1<br \/>\ndesativada. Isto j\u00e1 \u00e9 uma melhoria sobre a primeira configura\u00e7\u00e3o. O nome do servidor na diretiva<br \/>\nServerName garante que o servidor responda com o nome correto.<br \/>\nPara evitar ataques baseados em DNS siga os seguintes procedimentos de seguran\u00e7a:<br \/>\n\u2022 Preferencialmente utilize o arquivo \/etc\/hosts para a resolu\u00e7\u00e3o de nomes em m\u00e1quinas<br \/>\nlocais (principalmente quando existe somente um administrador). \u00c9 um m\u00e9todo que evita<br \/>\ndiversas consultas ao servidor DNS (que pode deixar o acesso lento) e este arquivo \u00e9<br \/>\ngerenciado pelo usu\u00e1rio root, isto evita o acesso de qualquer usu\u00e1rio para a falsifica\u00e7\u00e3o de<br \/>\nendere\u00e7os.<br \/>\nEste arquivo tamb\u00e9m \u00e9 \u00fatil caso a pesquisa DNS falhe (quando a ordem de pesquisa for do servidor<br \/>\nDNS para o arquivo hosts no arquivo \/etc\/host.conf), pois de qualquer forma o nome ser\u00e1<br \/>\nresolvido e o servidor Apache ser\u00e1 executado.<br \/>\n\u2022 Evite dar poderes a outros administradores manipularem seu pr\u00f3prio dom\u00ednio DNS, n\u00e3o h\u00e1<br \/>\nnada que possa impedi-lo de modificar o endere\u00e7o &#8220;X&#8221; para ser servido pelo IP &#8220;Y&#8221;<br \/>\ndesviando o tr\u00e1fego para seu pr\u00f3prio servidor web. Se isto n\u00e3o for poss\u00edvel, siga as dicas<br \/>\nabaixo para diminuir poss\u00edveis problemas.<br \/>\n\u2022 Utilize endere\u00e7os IP na diretiva &lt;VirtualHost&gt;.<br \/>\n\u2022 Use endere\u00e7os IP na diretiva Listen.<br \/>\n\u2022 Use um endere\u00e7o IP na diretiva BindAddress.<br \/>\n\u2022 Sempre utilize o par\u00e2metro ServerName em todas as diretivas &lt;VirtualHost&gt;, isto evita o<br \/>\nretorno incorreto de nomes (que pode evitar\/revelar fraudes).<br \/>\n\u2022 Quando utilizar virtual hosts, crie uma diretiva &lt;VirtualHost _default_L:*&gt; usando uma<br \/>\ndiretiva DocumentRoot que n\u00e3o aponte para lugar algum. Esta diretiva ser\u00e1 acessada quando<br \/>\nnenhuma diretiva VirtualHost servir a requisi\u00e7\u00e3o, conferindo com o endere\u00e7o\/ip.<br \/>\n12.13 Uso de criptografia SSL<br \/>\nEsta se\u00e7\u00e3o \u00e9 uma refer\u00eancia r\u00e1pida para configura\u00e7\u00e3o e uso do m\u00f3dulo apache-ssl com o<br \/>\nservidor Apache. Este m\u00f3dulo realiza a comunica\u00e7\u00e3o segura de dados (criptografada) via porta<br \/>\n443 (que \u00e9 usada como padr\u00e3o quando especificamos uma url iniciando com https:\/\/). A transmiss\u00e3o<br \/>\ncriptografada de dados \u00e9 importante quanto temos dados confidenciais que precisamos transmitir<br \/>\ncomo movimenta\u00e7\u00e3o banc\u00e1ria, senhas, n\u00famero de cart\u00f5es de cr\u00e9dito, fazer a administra\u00e7\u00e3o remota<br \/>\ndo servidor, etc. SSL significa Secure Sockets Layer (camada segura de transfer\u00eancia) e TLS<br \/>\nTransport Layer Security (camada segura de Transporte).<br \/>\nA inten\u00e7\u00e3o aqui \u00e9 fornecer explica\u00e7\u00f5es pr\u00e1ticas para colocar um servidor Apache com suporte a<br \/>\nSSL funcionando no menor tempo poss\u00edvel. Detalhes sobre funcionamento de certificados, m\u00e9todos<br \/>\nde criptografia, assinatura, etc. dever\u00e3o ser buscados na documenta\u00e7\u00e3o deste m\u00f3dulo ou em sites<br \/>\nespecializados (\u00e9 um assunto muito longo).<br \/>\n12.13.1 Servidor apache com suporte a ssl<br \/>\nAo inv\u00e9s de utilizar o m\u00f3dulo mod_ssl, voc\u00ea poder\u00e1 usar o pacote apache-ssl, ele nada mais<br \/>\n\u00e9 que um servidor Apache com o suporte SSL j\u00e1 incluso e n\u00e3o interfere no servidor Apache<br \/>\npadr\u00e3o, porque \u00e9 executado somente na porta 443.<br \/>\nSe voc\u00ea tem um grande site com configura\u00e7\u00f5es de acesso personalizadas, ele trar\u00e1 mais trabalho de<br \/>\nadministra\u00e7\u00e3o, pois as configura\u00e7\u00f5es e diretivas de restri\u00e7\u00f5es de acesso dever\u00e3o ser copiadas para<br \/>\neste servidor web. No entanto, ele \u00e9 indicado para m\u00e1quinas que ser\u00e3o servidores SSL dedicados ou<br \/>\nquando n\u00e3o possui configura\u00e7\u00f5es especiais em seu servidor web principal.<br \/>\nEsta se\u00e7\u00e3o tem por objetivo a instala\u00e7\u00e3o do suporte ao m\u00f3dulo SSL (mod_ssl) no servidor<br \/>\nApache padr\u00e3o.<br \/>\n12.13.2 Instalando o suporte a m\u00f3dulo SSL no Apache<br \/>\nInstale o pacote libapache-mod-ssl. Ap\u00f3s instala-lo, edite o arquivo<br \/>\n\/etc\/apache\/httpd.conf adicionando a linha:<br \/>\nLoadModule ssl_module \/usr\/lib\/apache\/1.3\/mod_ssl.so<br \/>\nDepois, gere um certificado digital ssl com o programa mod-ssl-makecert. Ele ser\u00e1<br \/>\narmazenado por padr\u00e3o nos diret\u00f3rios em \/etc\/apache\/ssl.??? e seu uso explicado no resto<br \/>\ndesta se\u00e7\u00e3o.<br \/>\n12.13.3 Gerando um certificado digital<br \/>\nO certificado digital \u00e9 a pe\u00e7a que garante a transfer\u00eancia segura de dados. Ele cont\u00e9m detalhes sobre<br \/>\na empresa que far\u00e1 seu uso e quem o emitiu. Para gerar ou modificar um certificado digital, execute<br \/>\no comando mod-ssl-makecert e siga as instru\u00e7\u00f5es. O m\u00e9todo de criptografia usado pelo<br \/>\ncertificado digital \u00e9 baseado no conceito de chave p\u00fablica\/privada, a descri\u00e7\u00e3o sobre o<br \/>\nfuncionamento deste sistema de criptografia \u00e9 feito em Usando pgp ( gpg )para criptografia de<br \/>\narquivos, Se\u00e7\u00e3o 20.5.<br \/>\nOBS N\u00e3o utilize acentos nos dados de seu certificado.<br \/>\n12.13.4 Exemplo de configura\u00e7\u00e3o do m\u00f3dulo mod-ssl<br \/>\nAbaixo uma configura\u00e7\u00e3o r\u00e1pida para quem deseja ter um servidor com suporte a SSL funcionando<br \/>\nem menor tempo poss\u00edvel (ela \u00e9 feita para operar em todas as instala\u00e7\u00f5es e n\u00e3o leva em<br \/>\nconsidera\u00e7\u00e3o o projeto de seguran\u00e7a de sua configura\u00e7\u00e3o atual do Apache). Note que todas as<br \/>\ndiretivas relacionadas com o m\u00f3dulo mod_ssl come\u00e7am com o nome &#8220;SSL&#8221;:<br \/>\n# Somente processa as diretivas relacionadas a SSL caso o m\u00f3dulo mod_ssl<br \/>\nestiver<br \/>\n# carregado pela diretiva LoadModule<br \/>\n&lt;IfModule mod_ssl.c&gt;<br \/>\n# \u00c9 necess\u00e1rio especificar as portas que o servidor Web aguardar\u00e1 conex\u00f5es<br \/>\n(normais e<br \/>\n# ssl).<br \/>\nListen 80<br \/>\nListen 443<br \/>\n# Ativa o tratamento de conex\u00f5es com o destino na porta 443 pela diretiva<br \/>\n# VirtualHost abaixo<br \/>\n&lt;VirtualHost _default_:443&gt;<br \/>\n# Ativa ou desativa o m\u00f3dulo SSL para este host virtual<br \/>\nSSLEngine on<br \/>\n# Certificado do servidor<br \/>\nSSLCertificateFile \/etc\/apache\/ssl.crt\/server.crt<br \/>\n# Chave privada de certificado do servidor.<br \/>\nSSLCertificateKeyFile \/etc\/apache\/ssl.key\/server.key<br \/>\n# A linha abaixo for\u00e7a o fechamento de conex\u00f5es quando a<br \/>\n# conex\u00e3o com o navegador Internet Explorer \u00e9 interrompida. Isto<br \/>\n# viola o padr\u00e3o SSL\/TLS mas \u00e9 necess\u00e1rio para este tipo de<br \/>\n# navegador. Alguns problemas de conex\u00f5es de navegadores tamb\u00e9m<br \/>\n# s\u00e3o causados por n\u00e3o saberem lidar com pacotes keepalive.<br \/>\nSetEnvIf User-Agent &#8220;.*MSIE.*&#8221; nokeepalive ssl-unclean-shutdown<br \/>\n&lt;\/VirtualHost&gt;<br \/>\n&lt;\/IfModule&gt;<br \/>\n###########################################################################<br \/>\n######<br \/>\n# Adicionalmente poder\u00e3o ser especificadas as seguintes op\u00e7\u00f5es para<br \/>\nmodificar #<br \/>\n# o comportamento da se\u00e7\u00e3o SSL (veja mais detalhes na documenta\u00e7\u00e3o do modssl)<br \/>\n#<br \/>\n###########################################################################<br \/>\n######<br \/>\n# Formato e localiza\u00e7\u00e3o do cache paralelo de processos da se\u00e7\u00e3o. O cache de<br \/>\nse\u00e7\u00e3o \u00e9<br \/>\n# feito internamente pelo m\u00f3dulo mas esta diretiva acelera o processamento<br \/>\n# de requisi\u00e7\u00f5es paralelas feitas por modernos clientes navegadores. Por<br \/>\npadr\u00e3o<br \/>\n# nenhum cache \u00e9 usado (&#8220;none&#8221;).<br \/>\nSSLSessionCache dbm:\/var\/run\/ssl-cache<br \/>\n# Localiza\u00e7\u00e3o do arquivo de lock que o m\u00f3dulo SSL utiliza para<br \/>\n# sincroniza\u00e7\u00e3o entre processos. O padr\u00e3o \u00e9 nenhum.<br \/>\nSSLMutex file:\/var\/run\/ssl-mutex<br \/>\n# Especifica o m\u00e9todo de embaralhamento de dados que ser\u00e1 utilizado<br \/>\n# durante o inicio de uma se\u00e7\u00e3o SSL (startup) ou durante o processo<br \/>\n# de conex\u00e3o (connect). Podem ser especificados &#8220;builtin&#8221; (\u00e9 muito r\u00e1pido<br \/>\n# pois consome poucos ciclos da CPU mas n\u00e3o gera tanta combina\u00e7\u00e3o<br \/>\naleat\u00f3ria), um<br \/>\n# programa que gera n\u00fameros aleat\u00f3rios (com &#8220;exec&#8221;) ou os dispositivos<br \/>\naleat\u00f3rios<br \/>\n# \/dev\/random e \/dev\/urandom (com &#8220;file&#8221;). Por padr\u00e3o nenhuma fonte<br \/>\n# adicional de n\u00fameros aleat\u00f3rios \u00e9 usada.<br \/>\nSSLRandomSeed startup builtin<br \/>\nSSLRandomSeed connect builtin<br \/>\n#SSLRandomSeed startup file:\/dev\/urandom 512<br \/>\n#SSLRandomSeed connect file:\/dev\/urandom 512<br \/>\n#SSLRandomSeed connect exec:\/pub\/bin\/NumAleat<br \/>\n# Tipos MIME para download de certificados<br \/>\nAddType application\/x-x509-ca-cert .crt<br \/>\nAddType application\/x-pkcs7-crl .crl<br \/>\n# Tempo m\u00e1ximo de perman\u00eancia dos objetos do cache acima. O valor padr\u00e3o \u00e9<br \/>\n# 300 segundos (5 minutos).<br \/>\nSSLSessionCacheTimeout 300<br \/>\n# Vers\u00e3o do protocolo SSL que ser\u00e1 usada. Podem ser especificadas<br \/>\n# SSLv2, SSLv3 TLSv1 ou all. O mais compat\u00edvel com os navegadores atuais<br \/>\n# \u00e9 o &#8220;SSLv2&#8221;. Por padr\u00e3o &#8220;all&#8221; \u00e9 usado.<br \/>\n#SSLProtocol all<br \/>\n#SSLProtocol -all +SSLv3<br \/>\n# Registra detalhes sobre o tr\u00e1fego neste arquivo. Mensagens de erro<br \/>\n# tamb\u00e9m s\u00e3o armazenadas no arquivo de registro padr\u00e3o do Apache<br \/>\nSSLLog \/var\/log\/apache\/ssl-mod.log<br \/>\n# N\u00edvel das mensagens de log registradas por SSLLog<br \/>\nSSLLogLevel info<br \/>\nAlgumas diretivas deste m\u00f3dulo podem fazer parte tanto da configura\u00e7\u00e3o global do servidor como<br \/>\ndiretivas de acesso (Directory, Location, .htaccess, veja a op\u00e7\u00e3o &#8220;Context&#8221; na<br \/>\ndocumenta\u00e7\u00e3o do mod_ssl).<br \/>\n12.13.5 Autorizando acesso somente a conex\u00f5es SSL<br \/>\nExistem casos que precisa restringir o uso de conex\u00f5es normais e permitir somente conex\u00f5es via<br \/>\nSSL (como por exemplo, dentro da diretiva de acesso que controla seu acesso a uma p\u00e1gina com<br \/>\nlistagem de clientes). A op\u00e7\u00e3o SSLRequereSSL \u00e9 usada para tal e deve ser usada dentro das diretivas<br \/>\nde controle acesso:<br \/>\n&lt;Directory \/home\/viaza132\/www\/secure\/clientes&gt;<br \/>\nOptions Indexes<br \/>\nOrder deny,allow<br \/>\nDeny from evil.cracker.com<br \/>\nSSLRequireSSL<br \/>\n&lt;\/Directory&gt;<br \/>\nA diretiva acima requer que sejam feitas conex\u00f5es SSL (porta 443 &#8211; https:\/\/) para acesso ao diret\u00f3rio<br \/>\n\/home\/viaza132\/www\/secure\/clientes, qualquer conex\u00e3o padr\u00e3o n\u00e3o criptografada (feita na porta 80)<br \/>\nser\u00e1 rejeitada com o erro 403.<br \/>\nOBS: A diretiva SSLRequireSSL podia ser colocada entre as condicionais &#8220;IfModule mod_ssl.c&#8221;<br \/>\nmas o servidor web permitiria conex\u00f5es n\u00e3o criptografadas se por algum motivo esse m\u00f3dulo n\u00e3o<br \/>\nestivesse carregado. Na configura\u00e7\u00e3o acima, ocorrer\u00e1 um erro e impedir\u00e1 o funcionamento do<br \/>\nservidor web caso ocorra algum problema com o mod_ssl.<br \/>\n12.13.6 Iniciando o servidor Web com suporte a SSL<br \/>\nVerifique se a configura\u00e7\u00e3o do Apache est\u00e1 ok com apache -t. Caso positivo, reinicie o<br \/>\nservidor usando um dos m\u00e9todos descritos em Iniciando o servidor\/reiniciando\/recarregando a<br \/>\nconfigura\u00e7\u00e3o, Se\u00e7\u00e3o 12.1.9. O servidor web lhe pedir\u00e1 a FraseSenha para descriptografar a chave<br \/>\nprivada SSL (esta senha foi escolhida durante o processo de cria\u00e7\u00e3o do certificado).<br \/>\nEsta senha garante uma seguran\u00e7a adicional caso a chave privada do servidor seja copiada de<br \/>\nalguma forma. Somente quem tem conhecimento da FraseSenha poder\u00e1 iniciar o servidor com<br \/>\nsuporte a transfer\u00eancia segura de dados. Verifique se o virtual host est\u00e1 servindo as requisi\u00e7\u00f5es na<br \/>\nporta 443 com apache -S.<br \/>\nO \u00fanico m\u00e9todo para fazer o servidor web evitar de pedir a senha para descriptografar a chave<br \/>\nprivada \u00e9 colocando uma senha em branco. Isto s\u00f3 \u00e9 recomendado em ambientes seguros e o<br \/>\ndiret\u00f3rio que cont\u00e9m a chave privada dever\u00e1 ter somente permiss\u00f5es para o dono\/grupo que executa<br \/>\no servidor Web. Qualquer outra permiss\u00e3o poder\u00e1 por em risco a seguran\u00e7a da instala\u00e7\u00e3o caso a<br \/>\nchave privada seja roubada. Depois disso, execute o comando:<br \/>\n# entre no diret\u00f3rio que cont\u00e9m a chave privada<br \/>\ncd \/etc\/apache\/ssl.key<br \/>\n# renomeie a chave privada para outro nome<br \/>\nren server.key server.key-Csenha<br \/>\nopenssl rsa -in server.key-Csenha -out server.key<br \/>\nDigite a senha quando pedido. A chave original (com senha) estar\u00e1 gravada no arquivo<br \/>\nserver.key-Csenha e poder\u00e1 ser restaurada se necess\u00e1rio. Reinicie o servidor Apache, desta<br \/>\nvez ele n\u00e3o pedir\u00e1 a senha.<br \/>\nOBS1: Tire uma c\u00f3pia de seguran\u00e7a da chave privada original antes de executar esta opera\u00e7\u00e3o.<br \/>\nOBS2: N\u00e3o se esque\u00e7a de ajustar as permiss\u00f5es de acesso no diret\u00f3rio \/etc\/apache\/ssl.key<br \/>\ncaso n\u00e3o utilize senha para proteger seu certificado digital.<br \/>\n12.14 Exemplo comentado de um arquivo de configura\u00e7\u00e3o do<br \/>\nApache<br \/>\nO exemplo abaixo foi retirado da distribui\u00e7\u00e3o Debian GNU\/Linux, fiz sua tradu\u00e7\u00e3o,<br \/>\nmodifica\u00e7\u00f5es e inclui alguns coment\u00e1rios sobre as diretivas para deixa-lo mais de acordo com o<br \/>\nconte\u00fado abordado pelo guia e mais auto-explicativo.<br \/>\nA configura\u00e7\u00e3o do Apache est\u00e1 distribu\u00edda nos arquivos httpd.conf, srm.conf e<br \/>\naccess.conf e podem ser usados como modelo para a constru\u00e7\u00e3o da configura\u00e7\u00e3o de seu<br \/>\nservidor.<br \/>\n12.14.1 httpd.conf<br \/>\n##<br \/>\n## httpd.conf &#8212; Arquivo de configura\u00e7\u00e3o do servidor httpd Apache<br \/>\n##<br \/>\n#<br \/>\n# Baseado nos arquivos de configura\u00e7\u00e3o originais do servidor NCSA por Rob<br \/>\nMcCool.<br \/>\n# Modificado para distribui\u00e7\u00e3o junto ao guia Foca GNU\/Linux Avan\u00e7ado<br \/>\n# http:\/\/focalinux.cipsga.org.br\/ &lt;gleydson@guiafoca.org&gt;<br \/>\n#<br \/>\n# Este \u00e9 o arquivo de configura\u00e7\u00e3o principal do servidor Apache. Ele cont\u00e9m<br \/>\nas<br \/>\n# diretivas de configura\u00e7\u00e3o que d\u00e3o ao servidor suas instru\u00e7\u00f5es.<br \/>\n# Veja &lt;http:\/\/www.apache.org\/docs\/&gt; para informa\u00e7\u00f5es detalhadas sobre as<br \/>\n# diretivas.<br \/>\n#<br \/>\n# N\u00c3O leia simplesmente as instru\u00e7\u00f5es deste arquivo sem entender o que<br \/>\nsignificam<br \/>\n# e o que fazem, se n\u00e3o tiver certeza do que est\u00e1 fazendo consulte a<br \/>\ndocumenta\u00e7\u00e3o<br \/>\n# on-line ou leia as se\u00e7\u00f5es apropriadas do guia. Voc\u00ea foi avisado.<br \/>\n#<br \/>\n# Ap\u00f3s este arquivo ser processado, o servidor procurar\u00e1 e processar\u00e1 o<br \/>\narquivo<br \/>\n# \/etc\/apache\/srm.conf e ent\u00e3o \/etc\/apache\/access.conf<br \/>\n# a n\u00e3o ser que voc\u00ea tenha modificado o nome dos arquivos acima atrav\u00e9s das<br \/>\n# diretivas ResourceConfig e\/ou AccessConfig neste arquivo.<br \/>\n#<br \/>\n# Configura\u00e7\u00e3o e nomes de arquivos de log: Se os nomes de arquivos que<br \/>\n# especificar para os arquivos de controle do servidor iniciam com uma<br \/>\n# &#8220;\/&#8221;, o servidor usar\u00e1 aquele caminho explicitamente. Se os nomes *n\u00e3o*<br \/>\n# iniciarem com uma &#8220;\/&#8221;, o valor de ServerRoot \u00e9 adicionado &#8212; assim<br \/>\n# &#8220;logs\/foo.log&#8221; com ServerRoot ajustado para &#8220;\/usr\/local\/apache&#8221; ser\u00e1<br \/>\n# interpretado pelo servidor como &#8220;\/usr\/local\/apache\/logs\/foo.log&#8221;.<br \/>\n#<br \/>\n# Originalmente por Rob McCool<br \/>\n# modificado por Gleydson Mazioli da Silva para o guia Foca GNU\/Linux<br \/>\n# Carga dos M\u00f3dulos de Objetos Compartilhados:<br \/>\n# Para voc\u00ea ser capaz de usa a funcionalidade de um m\u00f3dulo que foi<br \/>\nconstru\u00eddo como<br \/>\n# um m\u00f3dulo compartilhado, ser\u00e1 necess\u00e1rio adicionar as linhas &#8216;LoadModule&#8217;<br \/>\n# correspondente a sua localiza\u00e7\u00e3o, assim as diretivas que os m\u00f3dulos<br \/>\ncont\u00e9m<br \/>\n# estar\u00e3o dispon\u00edveis _antes_ de serem usadas.<br \/>\n# Exemplo:<br \/>\n#<br \/>\n# ServerType pode ser inetd, ou standalone. O modo Inetd somente \u00e9<br \/>\nsuportado nas<br \/>\n# plataformas Unix. O modo standalone inicia o servidor como um daemon.<br \/>\n#<br \/>\nServerType standalone<br \/>\n# Se estiver executando a partir do inetd, v\u00e1 at\u00e9 a diretiva &#8220;ServerAdmin&#8221;.<br \/>\n# Port: A porta que o servidor standalone escutar\u00e1. Para portas &lt; 1023,<br \/>\nser\u00e1<br \/>\n# necess\u00e1rio o servidor funcionando como root inicialmente.<br \/>\nPort 80<br \/>\n#<br \/>\n# HostnameLookups: Registra os nomes DNS dos clientes ou apenas seus<br \/>\nendere\u00e7os<br \/>\n# IP&#8217;s<br \/>\n# ex., www.apache.org (on) ou 204.62.129.132 (off).<br \/>\n# O valor padr\u00e3o \u00e9 off porque permitir\u00e1 menos tr\u00e1fego na rede. Ativando<br \/>\n# esta op\u00e7\u00e3o significa que cada acesso de um cliente resultar\u00e1 em<br \/>\n# NO M\u00cdNIMO uma requisi\u00e7\u00e3o de procura ao servidor de nomes (DNS).<br \/>\n#<br \/>\nHostnameLookups off<br \/>\n# Caso desejar que o servidor http seja executado como um usu\u00e1rio ou grupo<br \/>\ndiferente<br \/>\n# voc\u00ea deve executar o httpd inicialmente como root e ele modificar\u00e1 sua ID<br \/>\npara a<br \/>\n# especificada.<br \/>\n# User\/Group: O nome (ou #n\u00famero) do usu\u00e1rio\/grupo que executar\u00e1 o servidor<br \/>\nhttpd.<br \/>\n# No SCO (ODT 3) use &#8220;User nouser&#8221; e &#8220;Group nogroup&#8221;<br \/>\n# No HPUX voc\u00ea pode n\u00e3o ser\u00e1 capaz de usar mem\u00f3ria compartilhada como<br \/>\nnobody, e<br \/>\n# \u00e9 sugerido que seja criado um usu\u00e1rio www e executar o servidor httpd<br \/>\ncomo<br \/>\n# este usu\u00e1rio, adequando as permiss\u00f5es onde necess\u00e1rias.<br \/>\nUser www-data<br \/>\nGroup www-data<br \/>\n# ServerAdmin: Seu endere\u00e7o de e-mail, onde os problemas com o servidor<br \/>\ndevem ser<br \/>\n# enviadas. Este endere\u00e7o aparecer\u00e1 nas mensagens de erro do servidor.<br \/>\nServerAdmin gleydson@guiafoca.org<br \/>\n#<br \/>\n# ServerRoot: O topo da \u00e1rvore de diret\u00f3rios onde os arquivos de<br \/>\nconfigura\u00e7\u00e3o do<br \/>\n# servidor, erros, e log s\u00e3o mantidos.<br \/>\n#<br \/>\n# NOTA: Se tiver a inten\u00e7\u00e3o de colocar isto em um sistema de arquivos<br \/>\nmontado<br \/>\n# em um servidor NFS (ou outra rede) ent\u00e3o por favor leia a documenta\u00e7\u00e3o do<br \/>\n# LockFile<br \/>\n# (dispon\u00edvel em &lt;http:\/\/www.apache.org\/docs\/mod\/core.html#lockfile&gt;);<br \/>\n# e se salvar\u00e1 de v\u00e1rios problemas.<br \/>\n#<br \/>\n# N\u00e3o adicione uma barra no fim do caminho do diret\u00f3rio.<br \/>\n#<br \/>\nServerRoot \/etc\/apache<br \/>\n# BindAddress: Voc\u00ea pode usar esta op\u00e7\u00e3o em virtual hosts. Esta<br \/>\n# op\u00e7\u00e3o \u00e9 usada para dizer ao servidor que endere\u00e7o IP escutar. Ele pode<br \/>\n# conter ou &#8220;*&#8221;, um endere\u00e7o IP, ou um nome de dom\u00ednio completamente<br \/>\nqualificado<br \/>\n# (FQDN). Veja tamb\u00e9m a diretiva VirtualHost.<br \/>\nBindAddress *<br \/>\n#<br \/>\n# Suporte a Objetos Compartilhados Dinamicamente (DSO &#8211; Dynamic Shared<br \/>\nObject)<br \/>\n#<br \/>\n# Para ser capaz de usar a funcionalidade de um m\u00f3dulo que foi compilado<br \/>\ncomo<br \/>\n# um m\u00f3dulo DSO, voc\u00ea ter\u00e1 que adicionar as linhas &#8216;LoadModule&#8217;<br \/>\ncorrespondentes<br \/>\n# nesta localiza\u00e7\u00e3o, assim as diretivas contidas nela estar\u00e3o dispon\u00edveis<br \/>\n# _antes_ de serem usadas. Por favor leia o arquivo README.DSO na<br \/>\ndistribui\u00e7\u00e3o<br \/>\n# 1.3 do Apache para mais detalhes sobre o mecanismo DSO e execute o<br \/>\ncomando<br \/>\n# &#8220;apache -l&#8221; para a lista de m\u00f3dulos j\u00e1 compilados (estaticamente linkados<br \/>\ne<br \/>\n# assim sempre dispon\u00edveis) em seu bin\u00e1rio do Apache.<br \/>\n#<br \/>\n# Please keep this LoadModule: line here, it is needed for installation.<br \/>\n# LoadModule vhost_alias_module \/usr\/lib\/apache\/1.3\/mod_vhost_alias.so<br \/>\n# LoadModule env_module \/usr\/lib\/apache\/1.3\/mod_env.so<br \/>\nLoadModule config_log_module \/usr\/lib\/apache\/1.3\/mod_log_config.so<br \/>\n# LoadModule mime_magic_module \/usr\/lib\/apache\/1.3\/mod_mime_magic.so<br \/>\nLoadModule mime_module \/usr\/lib\/apache\/1.3\/mod_mime.so<br \/>\nLoadModule negotiation_module \/usr\/lib\/apache\/1.3\/mod_negotiation.so<br \/>\nLoadModule status_module \/usr\/lib\/apache\/1.3\/mod_status.so<br \/>\n# LoadModule info_module \/usr\/lib\/apache\/1.3\/mod_info.so<br \/>\n# LoadModule includes_module \/usr\/lib\/apache\/1.3\/mod_include.so<br \/>\nLoadModule autoindex_module \/usr\/lib\/apache\/1.3\/mod_autoindex.so<br \/>\nLoadModule dir_module \/usr\/lib\/apache\/1.3\/mod_dir.so<br \/>\nLoadModule php3_module \/usr\/lib\/apache\/1.3\/libphp3.so<br \/>\nLoadModule cgi_module \/usr\/lib\/apache\/1.3\/mod_cgi.so<br \/>\n# LoadModule asis_module \/usr\/lib\/apache\/1.3\/mod_asis.so<br \/>\n# LoadModule imap_module \/usr\/lib\/apache\/1.3\/mod_imap.so<br \/>\n# LoadModule action_module \/usr\/lib\/apache\/1.3\/mod_actions.so<br \/>\n# LoadModule speling_module \/usr\/lib\/apache\/1.3\/mod_speling.so<br \/>\nLoadModule userdir_module \/usr\/lib\/apache\/1.3\/mod_userdir.so<br \/>\nLoadModule alias_module \/usr\/lib\/apache\/1.3\/mod_alias.so<br \/>\nLoadModule rewrite_module \/usr\/lib\/apache\/1.3\/mod_rewrite.so<br \/>\nLoadModule access_module \/usr\/lib\/apache\/1.3\/mod_access.so<br \/>\nLoadModule auth_module \/usr\/lib\/apache\/1.3\/mod_auth.so<br \/>\n# LoadModule anon_auth_module \/usr\/lib\/apache\/1.3\/mod_auth_anon.so<br \/>\n# LoadModule dbm_auth_module \/usr\/lib\/apache\/1.3\/mod_auth_dbm.so<br \/>\n# LoadModule db_auth_module \/usr\/lib\/apache\/1.3\/mod_auth_db.so<br \/>\n# LoadModule proxy_module \/usr\/lib\/apache\/1.3\/libproxy.so<br \/>\n# LoadModule digest_module \/usr\/lib\/apache\/1.3\/mod_digest.so<br \/>\n# LoadModule cern_meta_module \/usr\/lib\/apache\/1.3\/mod_cern_meta.so<br \/>\nLoadModule expires_module \/usr\/lib\/apache\/1.3\/mod_expires.so<br \/>\n# LoadModule headers_module \/usr\/lib\/apache\/1.3\/mod_headers.so<br \/>\n# LoadModule usertrack_module \/usr\/lib\/apache\/1.3\/mod_usertrack.so<br \/>\nLoadModule unique_id_module \/usr\/lib\/apache\/1.3\/mod_unique_id.so<br \/>\nLoadModule setenvif_module \/usr\/lib\/apache\/1.3\/mod_setenvif.so<br \/>\n# LoadModule sys_auth_module \/usr\/lib\/apache\/1.3\/mod_auth_sys.so<br \/>\n# LoadModule put_module \/usr\/lib\/apache\/1.3\/mod_put.so<br \/>\n# LoadModule throttle_module \/usr\/lib\/apache\/1.3\/mod_throttle.so<br \/>\n# LoadModule allowdev_module \/usr\/lib\/apache\/1.3\/mod_allowdev.so<br \/>\n# LoadModule auth_mysql_module \/usr\/lib\/apache\/1.3\/mod_auth_mysql.so<br \/>\n# LoadModule pgsql_auth_module \/usr\/lib\/apache\/1.3\/mod_auth_pgsql.so<br \/>\n# LoadModule eaccess_module \/usr\/lib\/apache\/1.3\/mod_eaccess.so<br \/>\n# LoadModule roaming_module \/usr\/lib\/apache\/1.3\/mod_roaming.so<br \/>\n#<br \/>\n# ExtendedStatus: Controla de o Apache gerar\u00e1 detalhes completos de status<br \/>\n# (ExtendedStatus On) ou apenas detalhes b\u00e1sicos (ExtendedStatus Off)<br \/>\nquando o<br \/>\n# manipulador (handler) &#8220;server-status&#8221; for usado. O padr\u00e3o \u00e9 Off.<br \/>\n#<br \/>\nExtendedStatus on<br \/>\n#<br \/>\n# ErrorLog: A localiza\u00e7\u00e3o do arquivo de log de erros.<br \/>\n# Se n\u00e3o estiver especificando a diretiva ErrorLog dentro de &lt;VirtualHost&gt;,<br \/>\n# as mensagens de erros relativas aos hosts virtuais ser\u00e3o registradas<br \/>\nneste<br \/>\n# arquivo. Se definir um arquivo de log de erros para &lt;VirtualHost&gt;, as<br \/>\n# mensagens relativas ao servidor controlados por ela ser\u00e3o registradas l\u00e1<br \/>\ne<br \/>\n# n\u00e3o neste arquivo.<br \/>\n#<br \/>\nErrorLog \/var\/log\/apache\/error.log<br \/>\n#<br \/>\n# LogLevel: Controla o n\u00famero de mensagens registradas no ErrorLog.<br \/>\n# Facilidades poss\u00edveis incluem: debug, info, notice, warn, error, crit,<br \/>\n# alert, emerg.<br \/>\n# Veja as facilidades na se\u00e7\u00e3o do guia sobre o syslog para detalhes<br \/>\n#<br \/>\nLogLevel warn<br \/>\n# As seguintes diretivas definem alguns formatos de nomes que ser\u00e3o usadas<br \/>\ncom a<br \/>\n# diretiva CustomLog (veja abaixo).<br \/>\nLogFormat &#8220;%h %l %u %t \\&#8221;%r\\&#8221; %&gt;s %b \\&#8221;%{Referer}i\\&#8221; \\&#8221;%{User-Agent}i\\&#8221; %T<br \/>\n%v&#8221; full<br \/>\nLogFormat &#8220;%h %l %u %t \\&#8221;%r\\&#8221; %&gt;s %b \\&#8221;%{Referer}i\\&#8221; \\&#8221;%{User-Agent}i\\&#8221; %P<br \/>\n%T&#8221; debug<br \/>\nLogFormat &#8220;%h %l %u %t \\&#8221;%r\\&#8221; %&gt;s %b \\&#8221;%{Referer}i\\&#8221; \\&#8221;%{User-Agent}i\\&#8221;&#8221;<br \/>\ncombined<br \/>\nLogFormat &#8220;%h %l %u %t \\&#8221;%r\\&#8221; %&gt;s %b&#8221; common<br \/>\nLogFormat &#8220;%{Referer}i -&gt; %U&#8221; referer<br \/>\nLogFormat &#8220;%{User-agent}i&#8221; agent<br \/>\n#<br \/>\n# A localiza\u00e7\u00e3o e formato do arquivo de log de acesso (definida pela<br \/>\ndiretiva<br \/>\n# LogFormat acima).<br \/>\n# Se n\u00e3o definir quaisquer arquivos de log de acesso dentro de um<br \/>\n# &lt;VirtualHost&gt;, elas ser\u00e3o registradas aqui. Se for definida dentro<br \/>\n# de &lt;VirtualHost&gt; o arquivo de log de acesso ser\u00e1 registrado no<br \/>\n# arquivo especificado na diretiva e n\u00e3o aqui.<br \/>\n#<br \/>\n#CustomLog \/var\/log\/apache\/access.log common<br \/>\n# Se voc\u00ea desejar ter um arquivo de log separado para o agent (navegador<br \/>\nusado)<br \/>\n# e referer, descomente as seguintes diretivas.<br \/>\n#CustomLog \/var\/log\/apache\/referer.log referer<br \/>\n#CustomLog \/var\/log\/apache\/agent.log agent<br \/>\n# Se preferir um arquivo de log simples, com os detalhes de acesso, agent,<br \/>\ne<br \/>\n# referer (usando o formato combined da diretiva LogFile acima), use a<br \/>\nseguinte<br \/>\n# diretiva.<br \/>\nCustomLog \/var\/log\/apache\/access.log combined<br \/>\n#<br \/>\n# Incluir uma linha contendo a vers\u00e3o do servidor e um nome de host virtual<br \/>\n# para as p\u00e1ginas geradas pelo servidor (documentos de erro, listagens<br \/>\n# de diret\u00f3rios FTP, sa\u00edda dos m\u00f3dulos mod_status e mod_info, etc., exceto<br \/>\n# para documentos gerados via CGI). Use o valor &#8220;EMail&#8221; para tamb\u00e9m incluir<br \/>\n# um link mailto: para o ServerAdmin. Escolha entre &#8220;On&#8221;, &#8220;Off&#8221; ou &#8220;EMail&#8221;.<br \/>\n#<br \/>\nServerSignature On<br \/>\n#<br \/>\n# PidFile: O arquivo que o servidor gravar\u00e1 os detalhes sobre seu PID<br \/>\nquando<br \/>\n# iniciar.<br \/>\n#<br \/>\nPidFile \/var\/run\/apache.pid<br \/>\n#<br \/>\n# ScoreBoardFile: Arquivo usado para armazenar detalhes do processo interno<br \/>\ndo<br \/>\n# servidor. Nem todas as arquiteturas requerem esta diretiva, mas se a sua<br \/>\n# requerer (voc\u00ea saber\u00e1 porque este arquivo ser\u00e1 criado quando executar o<br \/>\n# Apache) ent\u00e3o voc\u00ea *dever\u00e1* ter certeza que dois processos do Apache n\u00e3o<br \/>\n# utilizam o mesmo arquivo ScoreBoardFile.<br \/>\n#<br \/>\nScoreBoardFile \/var\/run\/apache.scoreboard<br \/>\n#<br \/>\n# Na configura\u00e7\u00e3o padr\u00e3o, o servidor processar\u00e1 este arquivo, o<br \/>\n# srm.conf e o access.conf neste ordem. Voc\u00ea pode fazer o servidor<br \/>\n# ignorar estes arquivos usando &#8220;\/dev\/null&#8221;.<br \/>\n#<br \/>\nResourceConfig \/etc\/apache\/srm.conf<br \/>\nAccessConfig \/etc\/apache\/access.conf<br \/>\n#<br \/>\n# A diretiva LockFile define o caminho do lockfile usado quando o servidor<br \/>\n# Apache for compilado com a op\u00e7\u00e3o USE_FCNTL_SERIALIZED_ACCEPT ou<br \/>\n# USE_FLOCK_SERIALIZED_ACCEPT. Esta diretiva normalmente deve ser deixada<br \/>\nem seu<br \/>\n# valor padr\u00e3o. A raz\u00e3o principal de modifica-la \u00e9 no caso do diret\u00f3rio de<br \/>\nlogs<br \/>\n# for montado via um servidor NFS&lt; pois o arquivo especificado em LockFile<br \/>\n# DEVE SER ARMAZENADO EM UM DISCO LOCAL. O PID do processo do servidor<br \/>\nprincipal<br \/>\n# \u00e9 automaticamente adicionado neste arquivo.<br \/>\n#<br \/>\nLockFile \/var\/run\/apache.lock<br \/>\n# ServerName permite ajustar o nome de host que ser\u00e1 enviado<br \/>\n# aos clientes, caso for diferente do nome real (por exemplo, se desejar<br \/>\nusar<br \/>\n# www ao inv\u00e9s do nome real de seu servidor).<br \/>\n#<br \/>\n# Nota: Voc\u00ea n\u00e3o pode simplesmente inventar nomes e esperar que funcionem.<br \/>\nO nome<br \/>\n# que definir dever\u00e1 ser um nome DNS v\u00e1lido para sua m\u00e1quina.<br \/>\nServerName debian.meudominio.org<br \/>\n# UseCanonicalName: Com esta op\u00e7\u00e3o ligada, se o Apache precisar construir<br \/>\numa<br \/>\n# URL de refer\u00eancia (uma url que \u00e9 um retorno do servidor a uma requisi\u00e7\u00e3o)<br \/>\nele<br \/>\n# usar\u00e1 ServerName e Port para fazer o &#8220;nome can\u00f4nico&#8221;. Com esta op\u00e7\u00e3o<br \/>\ndesligada,<br \/>\n# o Apache usar\u00e1 computador:porta que o cliente forneceu, quando poss\u00edvel.<br \/>\n# Isto tamb\u00e9m afeta SERVER_NAME e SERVER_PORT nos scripts CGIs.<br \/>\n#<br \/>\n# Dependendo de sua configura\u00e7\u00e3o, principalmente em virtual hosts, \u00e9<br \/>\nrecomend\u00e1vel<br \/>\n# deixa-la desativada ou com o valor DNS. O valor DNS obt\u00e9m o nome do<br \/>\nservidor<br \/>\n# atrav\u00e9s de uma requisi\u00e7\u00e3o DNS reversa do endere\u00e7o IP (muito \u00fatil para<br \/>\nvirtual<br \/>\n# hosts baseados em IP).<br \/>\nUseCanonicalName off<br \/>\n# CacheNegotiatedDocs: Por padr\u00e3o, o Apache envia Pragma: no-cache com cada<br \/>\n# documento que foi negociado na base do conte\u00fado. Isto permite dizer a<br \/>\n# servidores proxy para n\u00e3o fazerem cache do documento. Descomentando a<br \/>\n# seguinte linha desativa esta caracter\u00edstica, e os proxyes ser\u00e3o capazes<br \/>\n# de fazer cache dos documentos.<br \/>\n#CacheNegotiatedDocs<br \/>\n# Timeout: O n\u00famero de segundos antes de receber e enviar um time out<br \/>\nTimeout 300<br \/>\n# KeepAlive: Se vai permitir ou n\u00e3o conex\u00f5es persistentes (mais que uma<br \/>\nrequisi\u00e7\u00e3o<br \/>\n# por conex\u00e3o). Mude para &#8220;Off&#8221; para desativar.<br \/>\nKeepAlive On<br \/>\n# MaxKeepAliveRequests: O n\u00famero m\u00e1ximo de requisi\u00e7\u00f5es que ser\u00e3o permitidas<br \/>\n# durante uma conex\u00e3o persistente. Mude para 0 para permitir uma quantidade<br \/>\n# ilimitada. N\u00f3s recomendamos deixar este n\u00famero alto, para obter a m\u00e1xima<br \/>\n# performance<br \/>\nMaxKeepAliveRequests 100<br \/>\n# KeepAliveTimeout: N\u00famero de segundos que aguardar\u00e1 a pr\u00f3xima requisi\u00e7\u00e3o<br \/>\nKeepAliveTimeout 15<br \/>\n# Regulagem do tamanho de pool do servidor. Ao inv\u00e9s de fazer voc\u00ea<br \/>\nadivinhar<br \/>\n# quantos processos servidores precisar\u00e1, o Apache adapta dinamicamente<br \/>\n# de acordo com a carga que ele v\u00ea &#8212; isto \u00e9, ele tenta manter o n\u00famero de<br \/>\n# processos o bastante para manipular a carga atual, mas alguns poucos<br \/>\n# servidores esparsos para manipular requisi\u00e7\u00f5es transientes (ex.<br \/>\nrequisi\u00e7\u00f5es<br \/>\n# simult\u00e2neas m\u00faltiplas de um navegador Netscape simples).<br \/>\n# Ele faz isto verificando periodicamente quantos servidores est\u00e3o<br \/>\n# aguardando por uma requisi\u00e7\u00e3o. Se l\u00e1 existe menos que MinSpareServers,<br \/>\n# ele cria um novo processo. Se existe mais que MaxSpareServers, ele<br \/>\n# fecha alguns processos. Os valores abaixo est\u00e3o adequados para muitos<br \/>\n# sites<br \/>\nMinSpareServers 5<br \/>\nMaxSpareServers 10<br \/>\n# N\u00famero de servidores que ser\u00e3o iniciados &#8212; deve conter um valor<br \/>\nrazo\u00e1vel.<br \/>\nStartServers 5<br \/>\n# Limita o n\u00famero total de servidores rodando, i.e., limita o n\u00famero de<br \/>\nclientes<br \/>\n# que podem conectar simultaneamente &#8212; se este limite \u00e9 sempre atingido,<br \/>\n# os clientes podem ser\u00e3o BARRADOS, assim este valor N\u00c3O DEVE SER MUITO<br \/>\nPEQUENO.<br \/>\n# Ele tem a inten\u00e7\u00e3o principal de ser um freio para manter um em execu\u00e7\u00e3o<br \/>\ncom<br \/>\n# uma performance aceit\u00e1vel de acordo com os requerimentos de constru\u00e7\u00e3o e<br \/>\n# carga calculada no servidor.<br \/>\nMaxClients 150<br \/>\n#<br \/>\n# MaxRequestsPerChild: O n\u00famero de requisi\u00e7\u00f5es que cada processo tem<br \/>\npermiss\u00e3o<br \/>\n# de processar antes do processo filho ser finalizado. O filho ser\u00e1<br \/>\nfinalizado<br \/>\n# para evitar problemas ap\u00f3s uso prolongado quando o Apache (e talvez as<br \/>\n# bibliotecas que utiliza) tomar mem\u00f3ria e outros recursos. Na maioria dos<br \/>\n# sistemas, isto realmente n\u00e3o \u00e9 necess\u00e1rio, exceto para alguns (como o<br \/>\n# Solaris) que possuem ponteiros not\u00e1veis em suas bibliotecas. Para estas<br \/>\n# plataformas, ajuste para algo em torno de 10000 ou algo assim; uma<br \/>\n# configura\u00e7\u00e3o de 0 significa ilimitado.<br \/>\n#<br \/>\n# NOTA: Este valor n\u00e3o inclui requisi\u00e7\u00f5es keepalive ap\u00f3s a requisi\u00e7\u00e3o<br \/>\n# inicial por conex\u00e3o. Por exemplo, se um processo filho manipula<br \/>\n# uma requisi\u00e7\u00e3o inicial e 10 requisi\u00e7\u00f5es &#8220;keptalive&#8221; subseq\u00fcentes,<br \/>\n# ele somente contar\u00e1 1 requisi\u00e7\u00e3o neste limite.<br \/>\n#<br \/>\nMaxRequestsPerChild 30<br \/>\n# Listen: Permite fazer o Apache escutar um IP determinado e\/ou porta, em<br \/>\n# adi\u00e7\u00e3o a padr\u00e3o. Veja tamb\u00e9m o comando VirtualHost<br \/>\n#Listen 3000<br \/>\n#Listen 12.34.56.78:80<br \/>\n# VirtualHost: Permite o daemon responder a requisi\u00e7\u00f5es para mais que um<br \/>\n# endere\u00e7o IP do servidor, se sua m\u00e1quina estiver configurada para aceitar<br \/>\npacotes<br \/>\n# para m\u00faltiplos endere\u00e7os de rede. Isto pode ser feito com a op\u00e7\u00e3o de<br \/>\naliasing<br \/>\n# do ifconfig ou atrav\u00e9s de patches do kernel como o de VIF.<br \/>\n# Qualquer diretiva httpd.conf ou srm.conf pode ir no comando VirtualHost.<br \/>\n# Veja tamb\u00e9m a entrada BindAddress.<br \/>\n#&lt;VirtualHost host.some_domain.com&gt;<br \/>\n#ServerAdmin webmaster@host.some_domain.com<br \/>\n#DocumentRoot \/home\/viaza132\/www\/host.some_domain.com<br \/>\n#ServerName host.some_domain.com<br \/>\n#ErrorLog \/var\/log\/apache\/host.some_domain.com-error.log<br \/>\n#TransferLog \/var\/log\/apache\/host.some_domain.com-access.log<br \/>\n#&lt;\/VirtualHost&gt;<br \/>\n# VirtualHost: Se voc\u00ea quiser manter m\u00faltiplos dom\u00ednios\/nomes de m\u00e1quinas<br \/>\nem sua<br \/>\n# m\u00e1quina voc\u00ea pode ajustar o conte\u00fado de VirtualHost para eles.<br \/>\n# Por favor veja a documenta\u00e7\u00e3o em &lt;http:\/\/www.apache.org\/docs\/vhosts\/&gt;<br \/>\n# para mais detalhes antes de tentar configurar seus hosts virtuais.<br \/>\n# Voc\u00ea pode usar a op\u00e7\u00e3o de linha de comando &#8216;-S&#8217; para verificar sua<br \/>\nconfigura\u00e7\u00e3o<br \/>\n# de hosts virtuais.<br \/>\n#<br \/>\n# Se desejar usar hosts virtuais baseados em nome, ser\u00e1 necess\u00e1rio definir<br \/>\nno<br \/>\n# m\u00ednimo um endere\u00e7o IP (e n\u00famero de porta) para eles.<br \/>\n#<br \/>\n#NameVirtualHost 12.34.56.78:80<br \/>\n#NameVirtualHost 12.34.56.78<br \/>\n#<br \/>\n# Exemplo de um Host Virtual:<br \/>\n# Praticamente qualquer diretiva do Apache pode entrar na condicional<br \/>\n# VirtualHost.<br \/>\n#<br \/>\n#&lt;VirtualHost ip.address.of.host.some_domain.com&gt;<br \/>\n# ServerAdmin webmaster@host.some_domain.com<br \/>\n# DocumentRoot \/www\/docs\/host.some_domain.com<br \/>\n# ServerName host.some_domain.com<br \/>\n# ErrorLog logs\/host.some_domain.com-error.log<br \/>\n# CustomLog logs\/host.some_domain.com-access.log common<br \/>\n#&lt;\/VirtualHost&gt;<br \/>\n#&lt;VirtualHost _default_:*&gt;<br \/>\n#&lt;\/VirtualHost&gt;<br \/>\n12.14.2 srm.conf<br \/>\n# Neste arquivo s\u00e3o definidos o espa\u00e7o de nomes que os usu\u00e1rios<br \/>\nvisualizar\u00e3o no<br \/>\n# seu servidor http. Este arquivo tamb\u00e9m define configura\u00e7\u00f5es do servidor<br \/>\nque<br \/>\n# afetam como as requisi\u00e7\u00f5es s\u00e3o servidas e como os resultados dever\u00e3o ser<br \/>\n# formatados.<br \/>\n# Veja os tutoriais em http:\/\/www.apache.org\/ para mais detalhes<br \/>\n# DocumentRoot: O diret\u00f3rio principal onde voc\u00ea servira seus documentos.<br \/>\n# Por padr\u00e3o, todas as requisi\u00e7\u00f5es s\u00e3o tomadas atrav\u00e9s deste diret\u00f3rio,<br \/>\n# exceto links simb\u00f3licos e aliases que podem ser usados para apontar para<br \/>\n# outras localiza\u00e7\u00f5es no sistema de arquivos.<br \/>\nDocumentRoot \/home\/viaza132\/www<br \/>\n#<br \/>\n# UserDir: O nome do diret\u00f3rio que ser\u00e1 adicionado ao diret\u00f3rio home do<br \/>\nusu\u00e1rio<br \/>\n# caso uma requisi\u00e7\u00e3o ~usu\u00e1rio for recebida.<br \/>\n#<br \/>\n&lt;IfModule mod_userdir.c&gt;<br \/>\n# Linha abaixo por recomenda\u00e7\u00e3o de seguran\u00e7a do manual do Apache<br \/>\nUserDir disabled root<br \/>\nUserDir public_html<br \/>\n&lt;\/IfModule&gt;<br \/>\n#<br \/>\n# DirectoryIndex: Nome do arquivo ou arquivos que ser\u00e3o usados como \u00edndice<br \/>\ndo<br \/>\n# diret\u00f3rio. Especifique mais de um arquivos separados por espa\u00e7os ao inv\u00e9s<br \/>\n# de um s\u00f3 um nome (como &#8220;index&#8221;) para aumentar a performance do servidor.<br \/>\n#<br \/>\n&lt;IfModule mod_dir.c&gt;<br \/>\nDirectoryIndex index.html index.htm index.shtml index.cgi<br \/>\n&lt;\/IfModule&gt;<br \/>\n#<br \/>\n# Diretivas que controlam a exibi\u00e7\u00e3o de listagem de diret\u00f3rios geradas pelo<br \/>\nservidor.<br \/>\n#<br \/>\n&lt;IfModule mod_autoindex.c&gt;<br \/>\n#<br \/>\n# FancyIndexing: se voc\u00ea deseja o padr\u00e3o fancy index ou padr\u00e3o para a<br \/>\nindexa\u00e7\u00e3o<br \/>\n# de arquivos no diret\u00f3rio. Usando FancyIndexing o<br \/>\nservidor<br \/>\n# apache gerar\u00e1 uma listagem de arquivos que poder\u00e1 ser<br \/>\n# ordenada, usar tipos de \u00edcones e encoding, etc. Veja<br \/>\nas<br \/>\n# pr\u00f3ximas op\u00e7\u00f5es<br \/>\nIndexOptions FancyIndexing<br \/>\n#<br \/>\n# As diretivas AddIcon* dizem ao servidor que \u00edcone mostrar para um<br \/>\ndeterminado<br \/>\n# arquivo ou extens\u00e3o de arquivos. Estes somente s\u00e3o mostrados para os<br \/>\n# diret\u00f3rios classificados atrav\u00e9s da op\u00e7\u00e3o FancyIndexing.<br \/>\n#<br \/>\nAddIconByEncoding (CMP,\/icons\/compressed.gif) x-compress x-gzip<br \/>\nAddIconByType (TXT,\/icons\/text.gif) text\/*<br \/>\nAddIconByType (IMG,\/icons\/image2.gif) image\/*<br \/>\nAddIconByType (SND,\/icons\/sound2.gif) audio\/*<br \/>\nAddIconByType (VID,\/icons\/movie.gif) video\/*<br \/>\nAddIcon \/icons\/binary.gif .bin .exe<br \/>\nAddIcon \/icons\/binhex.gif .hqx<br \/>\nAddIcon \/icons\/tar.gif .tar<br \/>\nAddIcon \/icons\/world2.gif .wrl .wrl.gz .vrml .vrm .iv<br \/>\nAddIcon \/icons\/compressed.gif .Z .z .tgz .gz .zip<br \/>\nAddIcon \/icons\/a.gif .ps .ai .eps<br \/>\nAddIcon \/icons\/layout.gif .html .shtml .htm .pdf<br \/>\nAddIcon \/icons\/text.gif .txt<br \/>\nAddIcon \/icons\/c.gif .c<br \/>\nAddIcon \/icons\/p.gif .pl .py<br \/>\nAddIcon \/icons\/f.gif .for<br \/>\nAddIcon \/icons\/dvi.gif .dvi<br \/>\nAddIcon \/icons\/uuencoded.gif .uu<br \/>\nAddIcon \/icons\/script.gif .conf .sh .shar .csh .ksh .tcl<br \/>\nAddIcon \/icons\/tex.gif .tex<br \/>\nAddIcon \/icons\/bomb.gif *\/core<br \/>\nAddIcon \/icons\/deb.gif .deb Debian<br \/>\nAddIcon \/icons\/back.gif ..<br \/>\nAddIcon \/icons\/hand.right.gif README<br \/>\nAddIcon \/icons\/folder.gif ^^DIRECTORY^^<br \/>\nAddIcon \/icons\/blank.gif ^^BLANKICON^^<br \/>\n# DefaultIcon \u00e9 o \u00edcone que ser\u00e1 mostrado para aplicativos que n\u00e3o<br \/>\ntiverem um<br \/>\n# \u00edcone explicitamente definido.<br \/>\nDefaultIcon \/icons\/unknown.gif<br \/>\n#<br \/>\n# AddDescription: isto lhe permite colocar uma curta descri\u00e7\u00e3o ap\u00f3s um<br \/>\narquivo<br \/>\n# nos \u00edndices gerados pelo servidor. Estes somente s\u00e3o mostrados para<br \/>\ndiret\u00f3rios<br \/>\n# com \u00edndices organizados usando a op\u00e7\u00e3o FancyIndexing.<br \/>\n# Formato: AddDescription &#8220;descri\u00e7\u00e3o&#8221; extens\u00e3o<br \/>\n#<br \/>\n#AddDescription &#8220;GZIP compressed document&#8221; .gz<br \/>\n#AddDescription &#8220;tar archive&#8221; .tar<br \/>\n#AddDescription &#8220;GZIP compressed tar archive&#8221; .tgz<br \/>\n# ReadmeName \u00e9 o nome do arquivo LEIAME que o servidor procurar\u00e1 como<br \/>\n# padr\u00e3o. Estes ser\u00e3o inseridos no fim da listagem de diret\u00f3rios.<br \/>\nFormato: ReadmeName nome<br \/>\n#<br \/>\n# O servidor procurar\u00e1 primeiro por nome.html, inclu\u00eddo se ele for<br \/>\nencontrado,<br \/>\n# e ent\u00e3o procurar\u00e1 pelo nome e incluir\u00e1 ele como texto plano se<br \/>\nencontrado..<br \/>\nReadmeName README<br \/>\n# HeaderName \u00e9 o nome do arquivo que deve ser colocado no topo do<br \/>\n\u00edndice<br \/>\n# de diret\u00f3rios. As regras de procura de nome s\u00e3o as mesmas do arquivo<br \/>\n# README<br \/>\nHeaderName HEADER<br \/>\n#<br \/>\n# IndexIgnore: um conjunto de nomes de arquivos que a listagem de<br \/>\ndiret\u00f3rios<br \/>\n# deve ignorar e n\u00e3o incluir na listagem. \u00c9 permitido o uso de coringas<br \/>\n# como no interpretador de comandos.<br \/>\n#<br \/>\nIndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t<br \/>\n&lt;\/IfModule&gt;<br \/>\n# AccessFileName: O nome do arquivo que ser\u00e1 procurado em cada diret\u00f3rio<br \/>\n# que cont\u00e9m detalhes sobre as permiss\u00f5es de acesso a um determinado<br \/>\n# diret\u00f3rio e op\u00e7\u00f5es de listagem. Tenha cuidado ao modificar o nome<br \/>\n# deste arquivo, muitas defini\u00e7\u00f5es que trabalham em cima do nome<br \/>\n# .htaccess nos arquivos de configura\u00e7\u00e3o dever\u00e3o ser modificados para<br \/>\n# n\u00e3o comprometer a seguran\u00e7a de seu servidor.<br \/>\n# Uma falta de aten\u00e7\u00e3o neste ponto poder\u00e1 deixar este arquivo vis\u00edvel<br \/>\n# em qualquer listagem de diret\u00f3rios facilmente&#8230;<br \/>\nAccessFileName .htaccess<br \/>\n# TypesConfig especifica o arquivo de configura\u00e7\u00e3o que cont\u00e9m os tipos<br \/>\n# usados pelo servidor<br \/>\nTypesConfig \/etc\/mime.types<br \/>\n#<br \/>\n# DefaultType \u00e9 o tipo MIME padr\u00e3o que o servidor utilizar\u00e1 para um<br \/>\ndocumento<br \/>\n# caso ele n\u00e3o possa determinar seu conte\u00fado, como atrav\u00e9s de extens\u00f5es<br \/>\n# de arquivos. Se o servidor cont\u00e9m em sua maioria texto ou documentos em<br \/>\nHTML,<br \/>\n# &#8220;text\/plain&#8221; \u00e9 um bom valor. Caso a maioria do conte\u00fado seja bin\u00e1rios,<br \/>\ntal<br \/>\n# como aplicativos ou fotos, o tipo mais adequado ao seu caso poder\u00e1 ser<br \/>\n# &#8220;application\/octet-stream&#8221; para evitar que navegadores tentem exibir<br \/>\n# aplicativos bin\u00e1rios como se fossem texto.<br \/>\n# Se desejar uma refer\u00eancia r\u00e1pida sobre tipos mime, consulte o arquivo<br \/>\n# \/etc\/mime.types<br \/>\n#<br \/>\nDefaultType text\/plain<br \/>\n#<br \/>\n# Document types.<br \/>\n#<br \/>\n&lt;IfModule mod_mime.c&gt;<br \/>\n# AddEncoding permite que alguns navegadores (Mosaic\/X 2.1+, Netscape,<br \/>\netc)<br \/>\n# descompactem dados durante sua abertura. N<br \/>\n# Nota: Nem todos os navegadores suportam isto. Esque\u00e7a os nomes<br \/>\nparecidos,<br \/>\n# as seguintes diretivas Add* n\u00e3o tem nada a ver com personaliza\u00e7\u00f5es<br \/>\n# da op\u00e7\u00e3o FancyIndexing usada nas diretivas acima.<br \/>\nAddEncoding x-compress Z<br \/>\nAddEncoding x-gzip gz tgz<br \/>\n#<br \/>\n# AddLanguage: permite especificar o idioma do documento. Voc\u00ea pode<br \/>\n# ent\u00e3o usar a negocia\u00e7\u00e3o de conte\u00fado para dar ao navegador um<br \/>\n# arquivo no idioma solicitado.<br \/>\n#<br \/>\n# Nota 1: O sufixo n\u00e3o precisa ser o mesmo da palavra chave do<br \/>\n# idioma &#8212; estes com o documento em Polon\u00eas (no qual o<br \/>\n# c\u00f3digo padr\u00e3o da rede \u00e9 pl) pode desejar usar &#8220;AddLanguage pl .po&#8221;<br \/>\n# para evitar confus\u00e3o de nomes com a extens\u00e3o comum de scripts<br \/>\n# scripts em linguagem Perl.<br \/>\n#<br \/>\n# Nota 2: As entradas de exemplos abaixo mostram que em alguns casos<br \/>\n# as duas letras de abrevia\u00e7\u00e3o do &#8216;Idioma&#8217; n\u00e3o \u00e9 id\u00eantico as duas<br \/>\nletras<br \/>\n# do &#8216;Pa\u00eds&#8217; para seu pa\u00eds, como &#8216;Danmark\/dk&#8217; versus &#8216;Danish\/da&#8217;.<br \/>\n#<br \/>\n# Nota 3: No caso de &#8216;ltz&#8217; n\u00f3s violamos a RFC usando uma especifica\u00e7\u00e3o<br \/>\nde<br \/>\n# tr\u00eas caracteres. Mas existe um &#8216;trabalho em progresso&#8217; para corrigir<br \/>\nisto<br \/>\n# e obter os dados de refer\u00eancia para limpar a RFC1766.<br \/>\n#<br \/>\n# Danish (da) &#8211; Dutch (nl) &#8211; English (en) &#8211; Estonian (ee)<br \/>\n# French (fr) &#8211; German (de) &#8211; Greek-Modern (el)<br \/>\n# Italian (it) &#8211; Portugese (pt) &#8211; Luxembourgeois* (ltz)<br \/>\n# Spanish (es) &#8211; Swedish (sv) &#8211; Catalan (ca) &#8211; Czech(cz)<br \/>\n# Polish (pl) &#8211; Brazilian Portuguese (pt-br) &#8211; Japanese (ja)<br \/>\n#<br \/>\nAddLanguage da .dk<br \/>\nAddLanguage nl .nl<br \/>\nAddLanguage en .en<br \/>\nAddLanguage et .ee<br \/>\nAddLanguage fr .fr<br \/>\nAddLanguage de .de<br \/>\nAddLanguage el .el<br \/>\nAddLanguage it .it<br \/>\nAddLanguage ja .ja<br \/>\n# AddCharset ISO-2022-JP .jis<br \/>\nAddLanguage pl .po<br \/>\n# AddCharset ISO-8859-2 .iso-pl<br \/>\nAddLanguage pt .pt<br \/>\nAddLanguage pt-br .pt-br<br \/>\nAddLanguage ltz .lu<br \/>\nAddLanguage ca .ca<br \/>\nAddLanguage es .es<br \/>\nAddLanguage sv .se<br \/>\nAddLanguage cz .cz<br \/>\n# LanguagePriority: permite definir a prioridade para a exibi\u00e7\u00e3o de<br \/>\n# documentos caso nenhum documento confira durante a negocia\u00e7\u00e3o de<br \/>\n# conte\u00fado.<br \/>\n#<br \/>\n# Para fazer isto, especifique os idiomas em ordem de prefer\u00eancia de<br \/>\nexibi\u00e7\u00e3o<br \/>\n# de idiomas.<br \/>\n#<br \/>\n&lt;IfModule mod_negotiation.c&gt;<br \/>\nLanguagePriority pt-br pt es en da nl et fr de el it ja pl ltz ca<br \/>\nsv<br \/>\n&lt;\/IfModule&gt;<br \/>\n#<br \/>\n# AddType permite modificar o mime.types sem editar o arquivo, ou fazer<br \/>\n# a associa\u00e7\u00e3o de arquivos a certos tipos de conte\u00fado.<br \/>\n#<br \/>\n# Por exemplo, o m\u00f3dulo PHP 3.x (que n\u00e3o faz parte da distribui\u00e7\u00e3o do<br \/>\n# Apache &#8211; veja http:\/\/www.php.net) tipicamente utiliza isto:<br \/>\n#<br \/>\n#AddType application\/x-httpd-php3 .php3<br \/>\n#AddType application\/x-httpd-php3-source .phps<br \/>\n#<br \/>\n# E para arquivos PHP 4.x use:<br \/>\n#<br \/>\n#AddType application\/x-httpd-php .php<br \/>\n#AddType application\/x-httpd-php-source .phps<br \/>\nAddType application\/x-tar .tgz<br \/>\nAddType image\/bmp .bmp<br \/>\n# hdml<br \/>\nAddType text\/x-hdml .hdml<br \/>\n#<br \/>\n# AddHandler permite mapear certas extens\u00f5es de arquivos a programas<br \/>\n# &#8220;manipuladores&#8221; adequados a seu conte\u00fado. Estes podem ser constru\u00eddos<br \/>\n# no servidor ou adicionados com o comando Action (veja abaixo).<br \/>\n#<br \/>\n# Se desejar usar includes no lado do servidor, ou servir diret\u00f3rios<br \/>\n# com scripts CGI para fora, descomente as seguintes linhas.<br \/>\n#<br \/>\n# Para usar scripts CGI:<br \/>\n#<br \/>\n#AddHandler cgi-script .cgi .sh .pl<br \/>\n#<br \/>\n# Para usar arquivos html gerados atrav\u00e9s do servidor<br \/>\n#<br \/>\n#AddType text\/html .shtml<br \/>\n#AddHandler server-parsed .shtml<br \/>\n#<br \/>\n# Descomente as seguintes linhas para ativar a caracter\u00edsticas de<br \/>\narquivos<br \/>\n# send-asis HTTP do servidor Apache<br \/>\n#<br \/>\n#AddHandler send-as-is asis<br \/>\n#<br \/>\n# Se desejar usar arquivos de mapas de imagens processadas no servidor,<br \/>\nuse<br \/>\n#<br \/>\n#AddHandler imap-file map<br \/>\n#<br \/>\n# Para ativar tipo de mapas, voc\u00ea poder\u00e1 usar<br \/>\n#<br \/>\n#AddHandler type-map var<br \/>\n&lt;\/IfModule&gt;<br \/>\n# Fim dos tipos de documentos<br \/>\n# Prefer\u00eancias padr\u00f5es de exibi\u00e7\u00e3o de caracteres (veja<br \/>\nhttp:\/\/www.apache.org\/info\/css-security\/).<br \/>\nAddDefaultCharset on<br \/>\nAddDefaultCharsetName iso-8859-1<br \/>\n# Redirect permite dizer aos clientes que documentos n\u00e3o existem mais no<br \/>\nseu servidor<br \/>\n# e a nova localiza\u00e7\u00e3o do documento.<br \/>\n# Format: Redirect nomeurl url<br \/>\n# &#8220;nomeurl&#8221; \u00e9 o caminho especificado na url e &#8220;url&#8221; \u00e9 a nova localiza\u00e7\u00e3o do<br \/>\n# documento<br \/>\n# Aliases: Inclua aqui quantos apelidos voc\u00ea desejar (sem limite) o formato<br \/>\n\u00e9:<br \/>\n# Alias nomeurl nomereal<br \/>\n# &#8220;nomeurl&#8221; \u00e9 o caminho especificado na url e &#8220;nomereal&#8221; \u00e9 a localiza\u00e7\u00e3o<br \/>\n# do documento no sistema de arquivos local<br \/>\n# Note que se voc\u00ea incluir uma \/ no fim de &#8220;nomeurl&#8221;, ent\u00e3o o servidor<br \/>\n# requisitar\u00e1 que tamb\u00e9m esteja presente na URL.<br \/>\nAlias \/icons\/ \/usr\/share\/apache\/icons\/<br \/>\nAlias \/doc\/ \/usr\/doc\/<br \/>\nAlias \/focalinux \/home\/viaza132\/www\/focalinux<br \/>\nAlias \/debian-br \/home\/viaza132\/www\/debian-br\/htdocs<br \/>\nAlias \/debian \/pub\/mirror\/debian<br \/>\n# ScriptAlias: Esta diretiva controla que diret\u00f3rios cont\u00e9m scripts do<br \/>\nservidor.<br \/>\n# Format: ScriptAlias fakename realname<br \/>\nScriptAlias \/cgi-bin\/ \/usr\/lib\/cgi-bin\/<br \/>\n#<br \/>\n# Action: permite definir os tipos de m\u00eddia que executar\u00e3o um script quando<br \/>\num<br \/>\n# arquivo que conferir for chamado. Isto elimina a necessidade de caminhos<br \/>\nde URLs<br \/>\n# repetidas para processadores de arquivos CGI freq\u00fcentemente usados.<br \/>\n# Format: Action media\/type \/cgi-script\/location<br \/>\n# Format: Action handler-name \/cgi-script\/location<br \/>\n#<br \/>\n#<br \/>\n# MetaDir: especifica o nome do diret\u00f3rio no qual o apache procurar\u00e1<br \/>\narquivos de<br \/>\n# detalhes do m\u00f3dulo mod_cern_meta. Os m\u00f3dulos meta cont\u00e9m cabe\u00e7alhos HTTP<br \/>\n# adicionais que ser\u00e3o inclu\u00eddos durante o envio do documento.<br \/>\n#<br \/>\n#MetaDir .web<br \/>\n#<br \/>\n# Resposta de erros personalizada (no estilo do Apache)<br \/>\n# estas podem ser 3 tipos:<br \/>\n#<br \/>\n# 1) texto plano<br \/>\n#ErrorDocument 500 &#8220;O servidor fez boo boo.<br \/>\n# n.b. a aspa (&#8220;) marca como texto, ela n\u00e3o ser\u00e1 exibida<br \/>\n#<br \/>\n# 2) redirecionamentos locais<br \/>\n#ErrorDocument 404 \/missing.html<br \/>\n# para redirecionar para a URL local \/missing.html<br \/>\n#ErrorDocument 404 \/cgi-bin\/missing_handler.pl<br \/>\n# N.B.: \u00c9 tamb\u00e9m poss\u00edvel redirecionar a um script o documento usando<br \/>\nincludes<br \/>\n# do lado do servidor (server-side-includes).<br \/>\n#<br \/>\n# 3) redirecionamentos externos<br \/>\n#ErrorDocument 402 http:\/\/algum.outro_servidor.com\/inscricao.html<br \/>\n# N.B.: Muitas das vari\u00e1veis de ambientes associada com a requisi\u00e7\u00e3o atual<br \/>\n*n\u00e3o*<br \/>\n# estar\u00e3o dispon\u00edveis para tal script.<br \/>\n#<br \/>\n# O m\u00f3dulo mod_mime_magic permite o servidor usar v\u00e1rias dicas atrav\u00e9s do<br \/>\nconte\u00fado<br \/>\n# do arquivo para determinar o seu tipo. A diretiva MIMEMagicFile diz ao<br \/>\nm\u00f3dulo<br \/>\n# onde as defini\u00e7\u00f5es de dicas est\u00e3o localizadas. O m\u00f3dulo mod_mime_magic<br \/>\nn\u00e3o \u00e9<br \/>\n# parte do servidor padr\u00e3o Apache (voc\u00ea precisar\u00e1 adiciona-lo manualmente<br \/>\ncom<br \/>\n# uma linha LoadModule (veja o par\u00e1grafo DSO na se\u00e7\u00e3o Ambiente Global no<br \/>\n# arquivo httpd.conf), ou recompile o servidor e inclua mod_mime_magic como<br \/>\n# parte de sua configura\u00e7\u00e3o), por este motivo ele est\u00e1 entre as<br \/>\ncondicionais<br \/>\n# &lt;IfModule&gt;. Isto significa que a diretiva MIMEMagicFile somente ser\u00e1<br \/>\nprocessada<br \/>\n# caso o m\u00f3dulo estiver ativo no servidor.<br \/>\n#<br \/>\n&lt;IfModule mod_mime_magic.c&gt;<br \/>\nMIMEMagicFile conf\/magic<br \/>\n&lt;\/IfModule&gt;<br \/>\n&lt;IfModule mod_setenvif.c&gt;<br \/>\n#<br \/>\n# As seguintes diretivas modificam o funcionamento da resposta normal<br \/>\ndo<br \/>\n# servidor HTTP.<br \/>\n# A primeira diretiva desativa o keepalive para o Netscape 2.x e<br \/>\nnavegadores que<br \/>\n# as falsificam. Existem problemas conhecidos com estas implementa\u00e7\u00f5es<br \/>\nde<br \/>\n# navegadores. A segunda diretiva \u00e9 para o MS IE 4.0b2 que tem uma<br \/>\nimplementa\u00e7\u00e3o<br \/>\n# defeituosa do HTTP\/1.1 e n\u00e3o suporta adequadamente o keepalive quando<br \/>\nele<br \/>\n# utiliza as respostas de redirecionamento 301 e 302.<br \/>\n#<br \/>\nBrowserMatch &#8220;Mozilla\/2&#8221; nokeepalive<br \/>\nBrowserMatch &#8220;MSIE 4\\.0b2;&#8221; nokeepalive downgrade-1.0 force-response-<br \/>\n1.0<br \/>\n#<br \/>\n# As seguintes diretivas desativam as respostas HTTP\/1.1 para<br \/>\nnavegadores que<br \/>\n# violam a especifica\u00e7\u00e3o HTTP\/1.0 n\u00e3o sendo capaz de enviar uma<br \/>\nresposta<br \/>\n# 1.1 b\u00e1sica.<br \/>\n#<br \/>\nBrowserMatch &#8220;RealPlayer 4\\.0&#8221; force-response-1.0<br \/>\nBrowserMatch &#8220;Java\/1\\.0&#8221; force-response-1.0<br \/>\nBrowserMatch &#8220;JDK\/1\\.0&#8221; force-response-1.0<br \/>\n&lt;\/IfModule&gt;<br \/>\n# Se o m\u00f3dulo Perl est\u00e1 instalado, isto ser\u00e1 ativado.<br \/>\n&lt;IfModule mod_perl.c&gt;<br \/>\nAlias \/perl\/ \/home\/viaza132\/www\/perl\/<br \/>\n&lt;Location \/perl&gt;<br \/>\nOptions +ExecCGI<br \/>\nSetHandler perl-script<br \/>\nPerlHandler Apache::Registry<br \/>\n&lt;\/Location&gt;<br \/>\n&lt;\/IfModule&gt;<br \/>\n12.14.3 access.conf<br \/>\n# access.conf: Configura\u00e7\u00e3o de acesso Global<br \/>\n# Documentos on-line em http:\/\/www.apache.org\/<br \/>\n# Este arquivo define as configura\u00e7\u00f5es do servidor que afetam que tipos de<br \/>\n# servi\u00e7os s\u00e3o permitidos e em quais circunst\u00e2ncias.<br \/>\n# Cada diret\u00f3rio que o Apache possui acesso, pode ser configurado<br \/>\nrespectivamente<br \/>\n# com quais servi\u00e7os e caracter\u00edsticas que podem ser permitidas e\/ou<br \/>\nbloqueadas<br \/>\n# no diret\u00f3rio (e seus subdiret\u00f3rios).<br \/>\n#<br \/>\n# Primeiro a configura\u00e7\u00e3o restringe uma s\u00e9rie de permiss\u00f5es<br \/>\n&lt;Directory \/&gt;<br \/>\nOptions SymLinksIfOwnerMatch<br \/>\nAllowOverride None<br \/>\n# Order deny,allow<br \/>\n# Deny from all<br \/>\n&lt;\/Directory&gt;<br \/>\n# Desse ponto em diante, \u00e9 necess\u00e1rio especificar o que ser\u00e1 permitido<br \/>\n# caso contr\u00e1rio ser\u00e1 bloqueado pelo bloco acima<br \/>\n# Esta parte deve ser modificada para a localiza\u00e7\u00e3o do documento ra\u00edz do<br \/>\nservidor.<br \/>\n&lt;Directory \/home\/viaza132\/www&gt;<br \/>\n# A op\u00e7\u00e3o Options pode conter os valores &#8220;None&#8221;, &#8220;All&#8221;, ou quaisquer<br \/>\ncombina\u00e7\u00e3o<br \/>\n# de &#8220;Indexes&#8221;, &#8220;Includes&#8221;, &#8220;FollowSymLinks&#8221;, &#8220;ExecCGI&#8221;, ou &#8220;MultiViews&#8221;.<br \/>\n#<br \/>\n# Note que &#8220;MultiViews&#8221; deve ser *explicitamente* especificada &#8212; &#8220;Options<br \/>\nAll&#8221;<br \/>\n# n\u00e3o a ativa (pelo menos n\u00e3o ainda).<br \/>\nOptions Indexes FollowSymLinks Includes MultiViews<br \/>\n# Esta op\u00e7\u00e3o controla que op\u00e7\u00f5es os arquivos .htaccess nos diret\u00f3rios podem<br \/>\nser<br \/>\n# substitu\u00eddas. Pode tamb\u00e9m conter &#8220;All&#8221;, ou qualquer combina\u00e7\u00e3o de<br \/>\n&#8220;Options&#8221;,<br \/>\n# &#8220;FileInfo&#8221;, &#8220;AuthConfig&#8221;, e &#8220;Limit&#8221;<br \/>\nAllowOverride None<br \/>\n# Controla quem pode obter materiais deste servidor. Leia a se\u00e7\u00e3o adequada<br \/>\nno<br \/>\n# guia para mais explica\u00e7\u00f5es sobre a ordem de acesso, padr\u00f5es e valores<br \/>\npermitidos.<br \/>\norder allow,deny<br \/>\nallow from all<br \/>\n&lt;\/Directory&gt;<br \/>\n#<br \/>\n# O diret\u00f3rio &#8220;\/usr\/lib\/cgi-bin&#8221; deve ser modificado para o diret\u00f3rio que<br \/>\n# possuem seus scripts CGI, caso tenha configurado o suporte a CGI&#8217;s no<br \/>\n# servidor.<br \/>\n#<br \/>\n&lt;Directory \/usr\/lib\/cgi-bin\/&gt;<br \/>\nAllowOverride None<br \/>\nOptions ExecCGI<br \/>\nOrder allow,deny<br \/>\nAllow from all<br \/>\n&lt;\/Directory&gt;<br \/>\n#<br \/>\n# Permite ver relat\u00f3rios de status e funcionamento do servidor web e<br \/>\n# processos filhos, atrav\u00e9s da URL http:\/\/servidor\/server-status<br \/>\n# isto requer o m\u00f3dulo status_module (mod_status.c) carregado no arquivo<br \/>\n# httpd.conf<br \/>\n#<br \/>\n#&lt;Location \/server-status&gt;<br \/>\n# SetHandler server-status<br \/>\n# Order deny,allow<br \/>\n# Deny from all<br \/>\n# Allow from .meudominio.org<br \/>\n#&lt;\/Location&gt;<br \/>\n#<br \/>\n# Permite relat\u00f3rio de configura\u00e7\u00e3o remota do servidor, atrav\u00e9s da URL<br \/>\n# http:\/\/servername\/server-info<br \/>\n# Isto requer o m\u00f3dulo info_module (mod_info.c) carregado no arquivo<br \/>\n# httpd.conf<br \/>\n#<br \/>\n#&lt;Location \/server-info&gt;<br \/>\n# SetHandler server-info<br \/>\n# Order deny,allow<br \/>\n# Deny from all<br \/>\n# Allow from .meudominio.org<br \/>\n#&lt;\/Location&gt;<br \/>\n# Visualiza\u00e7\u00e3o do diret\u00f3rio de \u00edcones<br \/>\n&lt;Directory \/usr\/share\/apache\/icons&gt;<br \/>\nOptions Indexes MultiViews<br \/>\nAllowOverride None<br \/>\nOrder allow,deny<br \/>\nAllow from all<br \/>\n&lt;\/Directory&gt;<br \/>\n# O Debian Policy assume que \/usr\/doc \u00e9 &#8220;\/doc\/&#8221; e linkado com<br \/>\n\/usr\/share\/doc,<br \/>\n# pelo menos para localhost.<br \/>\n&lt;Directory \/usr\/doc&gt;<br \/>\nOptions Indexes FollowSymLinks<br \/>\norder deny,allow<br \/>\ndeny from all<br \/>\nallow from 192.168.1.10\/24<br \/>\n&lt;\/Directory&gt;<br \/>\n# Esta define a localiza\u00e7\u00e3o visualiz\u00e1vel do monitor de status mod_throttle<br \/>\n#<br \/>\n&lt;location \/throttle-info&gt;<br \/>\nSetHandler throttle-info<br \/>\n&lt;\/location&gt;<br \/>\n#<br \/>\n# As seguintes linhas previnem os arquivos .htaccess de serem mostrados nos<br \/>\n# clientes Web. Pois os arquivos .htaccess freq\u00fcentemente cont\u00e9m detalhes<br \/>\n# de autoriza\u00e7\u00e3o, o acesso \u00e9 desabilitado por raz\u00f5es de seguran\u00e7a. Comente<br \/>\n# estas linhas se desejar que seus visitantes vejam o conte\u00fado dos arquivos<br \/>\n# .htaccess. Se modificar a diretiva AccessFileName acima, tenha certeza de<br \/>\n# fazer as modifica\u00e7\u00f5es correspondentes aqui.<br \/>\n#<br \/>\n# As pessoas tamb\u00e9m tendem a usar nomes como .htpasswd nos arquivos de<br \/>\nsenhas<br \/>\n# a diretiva abaixo os proteger\u00e1 tamb\u00e9m.<br \/>\n#<br \/>\n&lt;Files ~ &#8220;^\\.ht&#8221;&gt;<br \/>\nOrder allow,deny<br \/>\nDeny from all<br \/>\n&lt;\/Files&gt;<br \/>\n#<br \/>\n# Controla o acesso a diret\u00f3rios UserDir. As seguintes diretivas s\u00e3o um<br \/>\nexemplo<br \/>\n# para um site onde estes diret\u00f3rios est\u00e3o restritos a somente-leitura.<br \/>\nVeja<br \/>\n# detalhes sobre as op\u00e7\u00f5es de acesso, e limites na se\u00e7\u00e3o sobre controle<br \/>\n# de acesso do guia<br \/>\n#<br \/>\n&lt;Directory \/home\/*\/public_html&gt;<br \/>\nAllowOverride FileInfo AuthConfig Limit<br \/>\nOptions MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec<br \/>\n&lt;Limit GET POST OPTIONS PROPFIND&gt;<br \/>\nOrder allow,deny<br \/>\nAllow from all<br \/>\n&lt;\/Limit&gt;<br \/>\n&lt;Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK&gt;<br \/>\nOrder deny,allow<br \/>\nDeny from all<br \/>\n&lt;\/Limit&gt;<br \/>\n&lt;\/Directory&gt;<br \/>\n#<br \/>\n# As vezes ocorrem relatos de pessoas tentando abusar de uma falha antiga<br \/>\nnos<br \/>\n# dias do Apache 1.1 (muitas p\u00e1ginas na Net documentam isso). Esta falha<br \/>\nenvolve<br \/>\n# um script CGI distribu\u00eddo como parte do Apache. Descomentando estas<br \/>\nlinhas voc\u00ea<br \/>\n# poder\u00e1 redirecionar estes ataques a um script de registro em<br \/>\nphf.apache.org. Ou<br \/>\n# poder\u00e1 gravar em sua pr\u00f3pria m\u00e1quina, usando o script<br \/>\nsupport\/phf_abuse_log.cgi.<br \/>\n#<br \/>\n#&lt;Location \/cgi-bin\/phf*&gt;<br \/>\n# Deny from all<br \/>\n# ErrorDocument 403 http:\/\/phf.apache.org\/phf_abuse_log.cgi<br \/>\n#&lt;\/Location&gt;<br \/>\n# Acesso aos servi\u00e7os proxy do apache<br \/>\n#&lt;Directory proxy:*&gt;<br \/>\n# Order deny,allow<br \/>\n# Deny from all<br \/>\n# Allow from .your_domain.com<br \/>\n#&lt;\/Directory&gt;<br \/>\n# a seguinte diretiva permite o acesso a todos os usu\u00e1rios ao conte\u00fado da<br \/>\np\u00e1gina<br \/>\n# do guia Foca GNU\/Linux exceto os que possuem navegadores MSIE \ud83d\ude09<br \/>\n# Veja a se\u00e7\u00e3o sobre restri\u00e7\u00f5es de acesso para detalhes sobre a diretiva de<br \/>\n# controle de acesso baseado no user-agent<br \/>\nSetEnvIf User-Agent MSIE EXPLODER<br \/>\n&lt;Directory \/home\/viaza132\/www\/focalinux&gt;<br \/>\nOptions Indexes<br \/>\nOrder allow,deny<br \/>\nallow from all<br \/>\ndeny from env=EXPLODER<br \/>\nErrorDocument 403 &#8220;Explorer n\u00e3o entra, p\u00e1gina com o conte\u00fado<br \/>\npotencialmente perigoso ao Windows, use um navegador seguro para ter acesso a<br \/>\nesta p\u00e1gina \ud83d\ude09<br \/>\n&lt;\/Directory&gt;<br \/>\n# A diretiva abaixo somente permite acesso a leitura do arquivo<br \/>\n# h-supor-fonte.txt a pessoas que fornecerem o nome\/senha corretos<br \/>\n# que constam no arquivo passwd1<br \/>\n# Este bloco cont\u00e9m um erro que \u00e9 a localiza\u00e7\u00e3o do arquivo da senha em um<br \/>\n# diret\u00f3rio p\u00fablico, voc\u00ea dever\u00e1 adapta-lo se n\u00e3o quiser se ver em apuros.<br \/>\n#<br \/>\n# A permiss\u00e3o do diret\u00f3rio de n\u00edvel superior prevalece sobre seus<br \/>\n# sub-diret\u00f3rios no caso as permiss\u00f5es de \/focalinux, a menos que<br \/>\n# sejam definidas op\u00e7\u00f5es de acesso espec\u00edficas ao arquivo abaixo<br \/>\n&lt;Location \/focalinux\/humor\/h-supor-fonte.txt&gt;<br \/>\nAuthName &#8220;Piada de fonte de alimenta\u00e7\u00e3o&#8221;<br \/>\nAuthType basic<br \/>\nAuthUserFile \/home\/gleydson\/public_html\/passwd1<br \/>\nRequire valid-user<br \/>\n# Satisfy all<br \/>\n&lt;\/Location&gt;<br \/>\n# Libera o acesso a localiza\u00e7\u00e3o \/debian (acessada atrav\u00e9s de<br \/>\n\/pub\/mirror\/debian,<br \/>\n# definida no Alias acima)<br \/>\n&lt;Location \/debian&gt;<br \/>\nOptions Indexes<br \/>\nOrder deny,allow<br \/>\nallow from all<br \/>\ndeny from all<br \/>\n&lt;\/Location&gt;<br \/>\n12.15 C\u00f3digos HTTP<br \/>\nEsta se\u00e7\u00e3o pode ser uma interessante refer\u00eancia para a programa\u00e7\u00e3o e configura\u00e7\u00e3o da diretiva<br \/>\nErrorDocument, etc.<br \/>\n2xx &#8211; Sucesso<br \/>\n\u2022 200 OK<br \/>\n\u2022 201 Criado<br \/>\n\u2022 202 Aceito<br \/>\n\u2022 203 Informa\u00e7\u00e3o n\u00e3o-autoritativa *<br \/>\n\u2022 204 Nenhum conte\u00fado<br \/>\n\u2022 205 Conte\u00fado resetado *<br \/>\n\u2022 206 Conte\u00fado parcial *<br \/>\n3xx &#8211; Redirecionamento<br \/>\n\u2022 300 M\u00faltiplas escolhas<br \/>\n\u2022 301 Movido Permanentemente<br \/>\n\u2022 302 Movido Temporariamente<br \/>\n\u2022 303 Veja outra *<br \/>\n\u2022 304 N\u00e3o modificada<br \/>\n\u2022 305 Use o Proxy (redirecionamento proxy) *<br \/>\n4xx &#8211; Erros no Cliente<br \/>\n\u2022 400 Requisi\u00e7\u00e3o incorreta<br \/>\n\u2022 401 N\u00e3o autorizado<br \/>\n\u2022 402 Pagamento Requerido *<br \/>\n\u2022 403 Bloqueado<br \/>\n\u2022 404 N\u00e3o encontrada<br \/>\n\u2022 405 M\u00e9todo n\u00e3o permitido *<br \/>\n\u2022 406 N\u00e3o aceit\u00e1vel *<br \/>\n\u2022 407 Autentica\u00e7\u00e3o via proxy requerida *<br \/>\n\u2022 408 Tempo limite da requisi\u00e7\u00e3o expirado *<br \/>\n\u2022 409 Conflito *<br \/>\n\u2022 410 Gone *<br \/>\n\u2022 411 Tamanho requerido *<br \/>\n\u2022 412 Falha na pr\u00e9-condi\u00e7\u00e3o *<br \/>\n\u2022 413 A requisi\u00e7\u00e3o parece ser grande *<br \/>\n\u2022 414 A URL requisitada \u00e9 muito longa *<br \/>\n\u2022 415 Tipo de m\u00eddia n\u00e3o suportado<br \/>\n5xx &#8211; Erros no Servidor<br \/>\n\u2022 500 Erro Interno no Servidor<br \/>\n\u2022 501 N\u00e3o implementado<br \/>\n\u2022 502 Gateway incorreto<br \/>\n\u2022 503 Servi\u00e7o n\u00e3o dispon\u00edvel<br \/>\n\u2022 504 Tempo limite no gateway *<br \/>\n\u2022 505 Vers\u00e3o HTTP n\u00e3o suportada *<br \/>\nOs c\u00f3digos de erros marcados com um &#8220;*&#8221; pertencem ao padr\u00e3o HTTP 1.1<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introdu\u00e7\u00e3o O servidor web \u00e9 um programa respons\u00e1vel por disponibilizar p\u00e1ginas, fotos, ou qualquer outro tipo de objeto ao navegador do cliente. Ele tamb\u00e9m pode operar recebendo dados do cliente, processando e enviando o resultado para que o cliente possa tomar a a\u00e7\u00e3o desejada (como em aplica\u00e7\u00f5es CGI&#8217;s, banco de dados web, preenchimento de formul\u00e1rios, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1,42],"tags":[131,146],"class_list":["post-308","post","type-post","status-publish","format-standard","hentry","category-viazap","category-leitura-recomendada","tag-apache","tag-servidor-web"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/308","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=308"}],"version-history":[{"count":1,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/308\/revisions"}],"predecessor-version":[{"id":309,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/308\/revisions\/309"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}