Você está na página 1de 11

Guia Rpido de Instalao e Configurao do Apache

verso 2.0, Janeiro 200 por Ant!nio "anuel #ias ammdias@gmail.com

Cop$right 200% & 200

Ant!nio "anuel #ias

Este documento pode ser copiado e distribudo segundo a licena Creative Co''ons Atri(uio ) *artilha nos +er'os da "es'a ,icena 2.- . Esta licena permite que o documento seja copiado, distribudo e lido sob as seguintes condies:

Atri(uio. O utilizador deve dar crdito ao autor original, da orma especi icada pelo autor ou licenciante. *artilha nos ter'os da 'es'a ,icena. !e alterar, trans ormar, ou criar outra obra com base nesta, s" poder# distribuir a obra resultante atravs de uma licena id$ntica a esta.

%ara cada reutiliza&o ou distribui&o, dever# dei'ar claro para outros os termos da licena desta obra. (ualquer uma destas condies podem ser renunciadas, desde que obten)a permiss&o por parte do au* tor. (ualquer direito de uso legtimo +ou , air use,- concedido por lei, ou qualquer outro direito prote* gido pela legisla&o local, n&o s&o em )ip"tese alguma a ectados pelo disposto acima. %ara mais in or* maes, pode consultar o te'to jurdico, na ntegra, no endereo .eb: )ttp://creativecommons.org/licenses/b0*sa/1.2/pt/legalcode

Conte.do
3 4ntrodu&o ..................................................................................... ......................... 1 1 4nstala&o ................................................................................... ............................ 1 5 6on igura&o .................................................................................. ........................ 7 5.3 Endereo do administrador do site ..................................................... ........... 2 5.1 8ome do stio .eb ....................................................................... ................... 2 5.5 9aiz do site ...................................................................... ............................... 2 5.7 :utorizar a e'ecu&o de 6;4s e !erver*!ide 4ncludes +!!4- ......................... < 5.2 8omes dos ic)eiros de ndice ............................................ ........................... < 5.< 4ndicar directoria para os 6;4s ................................................................ ...... = 5.= 4ndicar a e'tens&o dos ic)eiros 6;4 ......................................... .................... >

5.> 4ndicar e'tens&o dos ic)eiros !!4 ......................................................... ........ > 7 ?estar a con igura&o ...................................................................................... ....... @ 2 4niciar o :pac)e no arranque do sistema ...................................................... ...... 3A < ;loss#rio e crditos ........................................................................................ ...... 3A <.3 ;loss#rio ............................................................................... ........................ 3A <.1 6rditos .................................................................................................... ..... 33

Introduo

6om o r#pido aumento dos acessos B 4nternet em banda larga, por cabo ou :C!D, tem*se tambm assistido a um interesse cada vez maior em manter stios individu* ais, n&o alojados nos seus ornecedores de servio +4!%- ou em sites de alojamento gratuito, mas antes nos seus pr"prios %6 com os seus pr"prios servidores .eb. ?ambm nas redes internas das empresas se tem veri icado uma proli era&o de mini*stios, quer individuais quer a nvel de sec&o ou departamento, alojados nos pr"prios %6 em vez de no servidor central da empresa. Euitas vezes o mais di cil escol)er, instalar e con igurar um servidor .eb, uma vez que, mel)or ou pior, todos sabem azer as p#ginas F?ED necess#rias, usando desde editores de te'to b#sicos a processadores de te'to, editores F?ED especiali* zados e mesmo erramentas avanadas de cria&o de sites. Este um pequeno tutorial que pretende mostrar como instalar e con igurar o ser* vidor .eb com a maior base instalada do mundo +ou pelo menos o que dizem as estatsticas3 G o :pac)e G a partir do c"digo onte, sobre Dinu'. !e pre erires, podes tambm instalar uma vers&o j# compilada +bin#ria- quer sobre Dinu', quer sobre outro sistema operativo +E! Hindo.s includo-. 8esse caso, apenas a parte da con igura&o deste documento te poder# ser Itil.

Instalao

:ntes de iniciar de iniciar a instala&o, convm veri icar se o :pac)e j# n&o est# instalado no teu sistema, visto que algumas distribuies o instalam por omiss&o. Ceves consultar a documenta&o o teu sistema para saber como veri icar se esta aplica&o j# est# instalada +podes veri icar se ele est# a correr abrindo um navega* dor .eb no endereo )ttp://31=.A.A.3-. Em caso a irmativo, o mel)or ser# prova* velmente passares ao pr"'imo captulo para con igurar o sistema j# e'istente. ?oma em aten&o que tens de procurar o ic)eiro de con igura&o do :pac)e, httpd.conf. %ara instalar o servidor, a primeira coisa a azer trans erir a vers&o que preten*
3 ver: )ttp://ne.s.netcra t.com/arc)ives/.ebJserverJsurve0.)tml

demos instalar do site o icial do :pac)e +)ttp://....apac)e.org/- ou de um dos v#* rios mirrors disponveis. Em %ortugal pode usar*se o da telepac: tp:// tp.telepac.pt/pub/apac)e/)ttpd. E'istem sempre v#rias distribuies disponveis mas o mel)or , normalmente, usar a Iltima vers&o para a nossa plata orma. 8este caso deves escol)er a Iltima vers&o em c"digo onte para Kni', que dever# c)amar*se qualquer coisa como httpd-2.2.x.tar.bz2. ?ambm poderamos ter escol)ido uma vers&o bin#ria mas, como a maior parte das distribuies de Dinu' tem a vantagem de trazer consigo as erramentas necess#rias para a compila&o de aplicaes, o ideal aproveitar* mo*nos desse acto e compilarmos n"s mesmos o servidor, para que ele ique o mais ajustado possvel B m#quina e sistema operativo onde icar# instalado. %ara alguns dos passos seguintes devem ser dados ser# necess#rio ter privilgios de administrador. Em Kbuntu, ou noutras distribuies que, tal como esta, n&o te* n)am a conta de root activa, deve usar*se o comando sudo antes de qualquer des* tes passos. %ara as outras, os comandos ser&o precedidos de su -c, que os e'ecu* ta como root. L tambm necess#rio um ambiente em que se possam compilar pro* gramas de 6 +compilador gcc, maMe, etc.-. Em primeiro lugar descompacta*se o ic)eiro trans erido para uma directoria onde possa ser compilado +qualquer uma serve-:
$ cd local/onde/est/o/ficheiro $ tar xvfj httpd-2.2.x.tar.bz2

8ota que local/onde/est/o/ficheiro deve ser substitudo pelo camin)o para a directoria onde guardaste o ic)eiro httpd-2.2.x.tar.bz2 que acabaste de trans* erir +substitui x pelo nImero da vers&o que trans eristeN deves azer o mesmo sempre que este nImero aparecer daqui em diante-. 8este momento deves ter uma directoria c)amada httpd-2.2.x debai'o da direc* toria onde descompactaste o ic)eiro. %ara compilar o programa deves ent&o mu* dar para essa directoria e e'ecutar a sequ$ncia de comandos )abitual nestas situa* es:
$ $ $ $ $ cd httpd-2.2.x/ ./configure --prefix=/usr/local/apache-2.2.x make su -c make install! su -c ln -s /usr/local/apache-2.2.x /usr/local/apache!

O parOmetro --prefix=/usr/local/apache-2.2.x indica a directoria onde ir# ser instalado o servidor e podes alter#*la B tua vontade. Eu pre iro instalar cada ver* s&o do :pac)e numa directoria Inica debai'o de /usr/local. Em seguida crio uma liga&o simb"lica, /usr/local/apache, apontando para a vers&o em uso cor* rente. Cesta orma posso instalar uma nova vers&o com a anterior em unciona*

mento, bastando*me alterar a liga&o simb"lica e reiniciar o servidor no im da ins* tala&o para colocar a nova vers&o online. ?en)o ainda a vantagem de se, por al* guma raz&o, a nova vers&o n&o uncionar correctamente, bastar alterar novamente a liga&o simb"lica para colocar de novo a vers&o anterior a uncionar. Em todos os e'emplos seguintes irei assumir que o :pac)e est# instalado neste lo* cal pelo que, se o colocaste noutro stio, deves tambm modi icar os e'emplos para o re lectir. !e tudo correu bem, podes agora testar a tua instala&o iniciando o servidor com o comando: $ su -c /usr/local/apache/bin/apachectl start!

e, com um navegador +Pire o', Qonqueror, etc.-, tentar visualizar a p#gina por omiss&o do teu novo servidor digitando o endereo http"//#2$.%.%.#/ . !e apa* recer uma p#gina elicitando*te por teres instalado o :pac)e, ent&o parabns: tens tudo bem instaladoR %odes ent&o parar o servidor e remover os ic)eiros da insta* la&o, certi icando*te primeiro que j# tens o ic)eiro original bem guardado +pode ser necess#rio outra vez-.
$ su -c /usr/local/apache/bin/apachectl stop! $ cd .. $ rm -rf httpd-2.2.x

6omo ten)o quase a certeza que n&o queres um servidor .eb para mostrar as p#* ginas e'emplo do :pac)e, o mel)or con igur#*lo para apresentar o teu stio.

Configurao

:ntes de iniciar a con igura&o propriamente dita, convm decidir qual ir# ser a di* rectoria raiz do teu site. 8este e'emplo vou usar /home/&&& como raiz e /home/&&&/cgi-bin para guardar os scripts 6;4. %ara criar estas directorias de* ves dar os seguintes comandos na consola:
$ su -c $ su -c mkdir /home/&&&! mkdir /home/&&&/cgi-bin!

O :pac)e con igura*se editando o seu ic)eiro de con igura&o httpd.conf na di* rectoria conf localizada na raiz da instala&o do servidor +/usr/local/apache, no nosso e'emplo-. %odes usar o teu editor avorito G vi, emacs, Qate G mas lembra* te que tens de ter privilgios de administrador para conseguir alterar o ic)eiro. :bre ent&o o ic)eiro /usr/local/apache/conf/httpd.conf e segue, do topo para bai'o, as alteraes a azer. %odes editar o ic)eiro com este comando +substitui vi pelo nome do teu editor pre erido-:

$ su -c

vi /usr/local/apache/conf/httpd.conf!

%./

0ndereo do ad'inistrador do site

%rocura uma sec&o como a seguinte


' (erver)dmin" *our address+ &here problems &ith the server should be ' e-mailed. ,his address appears on some server-generated pages+ such ' as error documents. e.g. admin-.our-domain.com ' (erver)dmin .ou-example.com

:qui deves colocar o endereo de correio electr"nico que desejas que aparea nal* gumas p#ginas geradas automaticamente +como p#ginas de erros, etc-. %or e'em* plo:
' (erver)dmin" *our address+ &here problems &ith the server should be ' e-mailed. ,his address appears on some server-generated pages+ such ' as error documents. e.g. admin-.our-domain.com ' (erver)dmin &ebmaster-&ebserver.com

O endereo do administrador deste stio seria ent&o &ebmaster-server.com .

%.2

1o'e do s2tio 3e(

O nome e porto que o servidor para se identi icar pode ser adivin)ado pelo :pac)e a partir da in orma&o do servidor C8! ou con igura&o local, mas mel)or con i* gur#*lo usando a directiva (erver/ame, para evitar problemas:
' (erver/ame gives the name and port that the server uses to identif. itself. ' ,his can often be determined automaticall.+ but &e recommend .ou specif. ' it explicitl. to prevent problems during startup. ' ' 0f .our host doesn1t have a registered 2/( name+ enter its 03 address here. ' '(erver/ame &&&.example.com"4%

altera para o nome e porto em que vai uncionar o teu servidor:


' (erver/ame gives the name and port that the server uses to identif. itself. ' ,his can often be determined automaticall.+ but &e recommend .ou specif. ' it explicitl. to prevent problems during startup. ' ' 0f .our host doesn1t have a registered 2/( name+ enter its 03 address here. ' (erver/ame &ebserver.com"4%

%.%

Rai4 do site

%ara alterar a directoria colocada por omiss&o pelo programa de instala&o para a directoria raiz do teu site, altera a sec&o seguinte:
' 2ocument5oot" ,he director. out of &hich .ou &ill serve .our

' documents. 6. default+ all re7uests are taken from this director.+ but ' s.mbolic links and aliases ma. be used to point to other locations. ' 2ocument5oot 8/usr/local/httpd-2.2.x/htdocs8

para:
' 2ocument5oot" ,he director. out of &hich .ou &ill serve .our ' documents. 6. default+ all re7uests are taken from this director.+ but ' s.mbolic links and aliases ma. be used to point to other locations. ' 2ocument5oot 8/home/&&&8

%.5 Autori4ar a e6ecuo de CGIs e 7erver&7ide Includes 877I9


Ceves mudar novamente o camin)o da 2ocument5oot para a directoria que esco* l)este e alterar as opes na sec&o logo abai'o:
' ,his should be changed to &hatever .ou set 2ocument5oot to. ' 92irector. 8/usr/local/apache/htdocs8: ;...< ' ,he =ptions directive is both complicated and important. ' http"//httpd.apache.org/docs/2.2/mod/core.html'options ' for more information. ' =ptions 0ndexes >ollo&(.m?inks 3lease see

deve icar como:


' ' ,his should be changed to &hatever .ou set 2ocument5oot to. ' 92irector. 8/home/&&&8: ;...< ' ,he =ptions directive is both complicated and important. ' http"//httpd.apache.org/docs/2.2/mod/core.html'options ' for more information. ' =ptions 0ndexes >ollo&(.m?inks 0ncludes @xecAB0 3lease see

%.-

1o'es dos ficheiros de 2ndice

L conveniente indicar ao servidor quais os ic)eiros a serem visualizados por omis* s&o numa directoria quando apenas o nome da directoria pedido, tal como quan* do se digita http"//#2$.%.%.# na lin)a de endereo de um navegador.

O :pac)e j# vem com um nome pr*con igurado, index.html, mas convm adicio* nar tambm index.shtml para que possas ter p#ginas com !!4 como ndice da di* rectoria. %ara adicionar esse nome altera a sec&o seguinte da orma que se indi* ca.
' 2irector.0ndex" sets the file that )pache &ill serve if a director. ' is re7uested. ' 90fCodule dirDmodule: 2irector.0ndex index.html 9/0fCodule:

para:
' ' 2irector.0ndex" sets the file that )pache &ill serve if a director. ' is re7uested. ' 90fCodule dirDmodule: 2irector.0ndex index.html index.shtml 9/0fCodule:

%.:

Indicar directoria para os CGIs

?odos os ic)eiros nesta directoria ser&o e'ecutados e n&o enviados para o cliente, independentemente do seu tipo, ao contr#rio do que acontece nas outras directori* as. Ceves mudar a directoria colocada por omiss&o para a escol)ida por ti:
' (cript)lias" ,his controls &hich directories contain server scripts. ' (cript)liases are essentiall. the same as )liases+ except that ' documents in the target director. are treated as applications and ' run b. the server &hen re7uested rather than as documents sent to the ' client. ,he same rules about trailing 8/8 appl. to (cript)lias ' directives as to )lias. ' (cript)lias /cgi-bin/ 8/usr/local/apache-2.2.E/cgi-bin/8 ;...< ' 8/usr/local/apache-2.2.E/cgi-bin8 should be changed to &hatever .our ' (cript)liased AB0 director. exists+ if .ou have that configured. ' 92irector. 8/usr/local/apache-2.2.E/cgi-bin8:

para:
' (cript)lias" ,his controls &hich directories contain server scripts. ' (cript)liases are essentiall. the same as )liases+ except that ' documents in the target director. are treated as applications and ' run b. the server &hen re7uested rather than as documents sent to the ' client. ,he same rules about trailing 8/8 appl. to (cript)lias ' directives as to )lias. ' (cript)lias /cgi-bin/ 8/home/&&&/cgi-bin/8 ;...<

' 8/usr/local/apache-2.2.E/cgi-bin8 should be changed to &hatever .our ' (cript)liased AB0 director. exists+ if .ou have that configured. ' 92irector. 8/home/&&&/cgi-bin8:

%.

Indicar a e6tenso dos ficheiros CGI

?odos os ic)eiros com esta e'tens&o ser&o e'ecutados, independentemente do seu tipo e da directoria em que se encontrem. %ara activar esta op&o basta desco* mentar a sua lin)a:
' ,o use AB0 scripts outside of (cript)liased directories" ' ;*ou &ill also need to add 8@xecAB08 to the 8=ptions8 directive.< ' ')ddFandler cgi-script .cgi

para:
' ,o use AB0 scripts outside of (cript)liased directories" ' ;*ou &ill also need to add 8@xecAB08 to the 8=ptions8 directive.< ' )ddFandler cgi-script .cgi

%.;

Indicar e6tenso dos ficheiros 77I

?al como na op&o anterior, necess#rio descomentar a lin)a com esta con igura* &o para a activar, mas tambm indicar ao servidor que os ic)eiros com a e'ten* s&o .shtml s&o ic)eiros do tipo F?ED:
' ,o parse .shtml files for server-side includes ;((0<" ' ;*ou &ill also need to add 80ncludes8 to the 8=ptions8 directive.< ' ')dd,.pe text/html .shtml ')dd=utput>ilter 0/A?G2@( .shtml

deve icar:
' ,o parse .shtml files for server-side includes ;((0<" ' ;*ou &ill also need to add 80ncludes8 to the 8=ptions8 directive.< ' )dd,.pe text/html .shtml )dd=utput>ilter 0/A?G2@( .shtml

E pronto, a con igura&o est# concluda, para as opes mais usuais. !e necessita* res de outros servios, deves consultar o manual do :pac)e.

+estar a configurao

%ara con irmar que a con igura&o icou bem eita, podes colocar alguns ic)eiros nas directorias que criaste para o teu servidor e veri icar se eles s&o bem servidos pelo :pac)e para o teu navegador. !eguem*se alguns ic)eiros que testam toda a con igura&o anterior, incluindo 6;4 e !!4. <icheiro: /home/&&&/index.shtml
9html: 9head: 9title:= meu sHtio &eb usando )pache9/title: 9/head: 9bod.: 9h#:= meu sHtio &eb usando )pache9/h#: 9p:@ste I o meu sHtio &eb. 3ara verificar se est a trabalhar como deve+ verifica se a data apresentada em baixo I a data do sistema e 7ue uma listagem do conteJdo da directoria raiz aparece logo a seguir.9/p: 9p:9K--'echo var=82),@D?=A)?8 --:9/p: 9tt:9K--'include virtual=8/rootDlisting.cgi8 --:9/tt: 9p:) mensagem abaixo I gerada por um 9i:script9/i: na directoria 9tt:cgi-bin9/tt:.9/p: 9span st.le=8color"&hiteL background"redL8: 9K--'include virtual=8/cgi-bin/script8 --: 9/span: 9/bod.: 9/html:

<icheiro: /home/&&&/rootDlisting.cgi
'K/bin/bash ' header F,,3 echo 8Aontent-t.pe" text/html8 echo ' listar a directoria corrente ls .

<icheiro: /home/&&&/cgi-bin/script
'K/bin/bash ' header F,,3 echo 8Aontent-t.pe" text/html8 echo ' escrever uma mensagem engraMada echo 8Ahegmos ao fimK8

%ara que os scripts 6;4 sejam e'ecutados necessitam de ter permiss&o para isso do sistema operativo. %odes dar*l)es essa permiss&o com os seguintes comandos:
$ su -c $ su -c chmod $NN /home/&&&/rootDlisting.cgi! chmod $NN /home/&&&/cgi-bin/script!

:gora inicia o teu servidor e liga*te a ele com um navegador, tal como izeste ante* riormente. Ceve aparecer uma p#gina com o te'to que digitaste, a data corrente do teu %6, uma listagem da directoria /home/&&&, e a mensagem Cheg'os ao fi'= a branco sobre um undo vermel)o. !e isso n&o aconteceu, veri ica todos os passos anteriores. !e tudo est# bem e continuas com problemas, escreve*me a di* zer o que se passa G talvez eu consiga solucion#*los, apesar de n&o ser nen)um e'pert na matria.

Iniciar o Apache no arran>ue do siste'a

%ara con igurar o sistema para iniciar o :pac)e ao arrancar, segue estes passos: 6oloca uma liga&o simb"lica para o apachectl na directoria dos scripts de arran* que dos servios do sistema e ligaes para o arranque do servio nos modos dese* jados:
$ $ $ $ $ su su su su su -c -c -c -c -c ln ln ln ln ln -s -s -s -s -s /usr/local/bin/apachectl /etc/init.d/apache! /etc/init.d/apache /etc/rc2.d/(O%apache! /etc/init.d/apache /etc/rcP.d/(O%apache! /etc/init.d/apache /etc/rcE.d/(O%apache! /etc/init.d/apache /etc/rcN.d/(O%apache!

Ceves veri icar qual o modo em que realmente desejas que o :pac)e seja iniciado no arranque, usando as erramentas do teu sistema. ?ambm aconsel)#vel veri* icar em que lugar deve o :pac)e ser iniciado durante o arranque. 4sso de inido pelo nImero que se encontra antes do nome do servio G para saberes a ordem de arranque dos servios em cada modo, basta listar a directoria de arranque desse modoN por e'emplo, para o modo 1:
$ ls /etc/rc2.d/

8ota que o :pac)e s" deve arrancar depois de todos os servios que ten)am a ver com a rede e com a activa&o de ire.alls e pro'0s.

:
:./

Glossrio e cr?ditos
Glossrio

CGI: 6ommon ;ate.a0 4nter ace G 8ome de um protocolo de comunica&o en*

10

tre o servidor .eb e outros programas e'ecut#veis pelo sistema operativo. O servidor .eb ornece ao script 6;4 todas as in ormaes sobre o pedido enviado pelo cliente +navegador- e sobre o seu estado e, normalmente, o script devolve a resposta atravs do seu ic)eiro de sada +!?COK?-, que o servidor enviar# ao cliente. 77I: !erver !ide 4ncludes G !&o directivas que podem ser includas em p#ginas F?ED e que ser&o avaliadas ao mesmo tempo que a p#gina est# a ser servida, evitando o uso de um script 6;4 para toda a p#gina.

:.2

Cr?ditos

@lavo 7antos: 6orrec&o sobre o endereo de loop*bacM: passar a usar #2$.%.%.# em vez de localhost, que pode n&o estar disponvelN 8ota sobre a pr* instala&o por omiss&o do :pac)e por parte de algumas distribuies.

11

Você também pode gostar