View
303
Download
0
Category
Preview:
Citation preview
8/4/2019 Config Apache Php
http://slidepdf.com/reader/full/config-apache-php 1/13
Capitulo 10Apache - 95
Capitulo 10
Apache
10.1. Objetivos
Entender a confiquracao basica do apache2;
• Habilitar a linguagem PHP5 no apache2;
Configurar dominios virtuais,
Habilitar suporte a SSL.
10.2. Intro~u~aote6rica
o Web Server Apache e urn esforco comunitario feito por desenvolvedores ao
redor do mundo, no qual 0 objetivo consiste em desenvolver urn Web Server de
c6digo fonte aberto, estavel e seguro. Em 1996, tornou-se urn dos Web Servers mais
populares no mundo, e, desde entao, mantem sua posicao como 0 servidor web com. a
maior base instalada no mundo.
Segundo uma pesquisa feita pelo site NerCraft, 0 Apache esta servindo em
media, 50% dos sites pesquisados. Isso so foi possivel qracas a uma serie de
qualidades, das quais algumas serao listadas na lista abaixo:
E software livre, podendo ser modificado e adptado.
Suporta varias linguagens, como PHp, Python, Ruby, Perl, inclusive ASP .NET;
Multi plataforma;
8/4/2019 Config Apache Php
http://slidepdf.com/reader/full/config-apache-php 2/13
Capitulo 10 Apache - 96
POSSU!uporte a varias funcionalidades providas por modules.
Pode trabalhar com multi threads ou multi processos.
10.3. MPMWorker e MPM PreFork
De acordo com a documentacao oficial do projeto Apachempm, e possivel
escolher entre algumas confiquracoes que ajudam a otimizar a performance ou
manter a compatibilidade com aplicacoes antigas, por exemplo. Vamos enteder as
particularidades domodo PreFork e Worker.
10.3.1. MPM Pre Fork
Neste modo, 0 Apache trabalhara com a implementacao de multi processes.
de acordo com a estrutura classica de urn processo de Unix, similar a versao 1.3 do
Webserver em questao.
Assim sendo, urn unico processo sera responsavel por executar novos
processos que serao utilizados para aguardar novas conexoes e responder as
requisicoes existentes. Este modo e ideal para quem precisa manter compatibilidade
com aplicacoes e bibliotecas que nao suportam 00modo thread.
10.3.2. MPM Worker
No modo MPM Worke~ 0 Apache trabalhara com uma implementacao mista
de processos e threads, 0 que possibilita atenteder mais conexoes simultaneas com
urn custo menor de hardware, ja que threads, por definicao. sao mais velozes que
processos.
Neste modo, 0apache mantem uma serie de threads ociosas. fazendo com que
8/4/2019 Config Apache Php
http://slidepdf.com/reader/full/config-apache-php 3/13
Capitulo 10Apache - 97
novas conex6es sejam processadas e respondidas de uma maneira mais rapida do
que no modo Pre Fork. Infelizmente, nem toda aplicacao se da bern com threads,
como 0PHP5, por exemplo.
10.4. Pratica dirigida
10.4.1. Insta'a~ao doApache 2
1) Vamos instalar 0Apache 2:~-------------------
I # aptitude install apache2
oApache2 noDebian e dividido em uma serie de arquivos e diretorios.
Vamos conhecer estes arquivos e suas respectivas futicoes.
/etc/apache2/apache2.conf -Arquivo de confiquraciio principal;
/etc/apache2/modules.con[ -Arquivo de confiquraciio de modules:/etc/apache2/ports.conf- Arquivo de confiquraciio de portas;
/etc/apachez/sites-avaitable - Confiquraciio de sites disponiveis,
/etc/apaches/mods-availoble - Modulos habilitados;
• 2) Abra 0arquivo de confiqurcao para que possamos visualizar as
principais opcoes de confiquracao do Apache:
#vim /etc/apache2/apache2.conf
Avariavel ServerRoot define aonde 0Apache deve procurar por seus arquivos
de confiquracao. No exemplo abaixo, os arquivos de confiquracao serao procurados
em /etc/apache2:
ServerRoot /etc/apache2
]a a variavel DocumentRoot diz ao Apache aonde procurar os sites que deve
8/4/2019 Config Apache Php
http://slidepdf.com/reader/full/config-apache-php 4/13
Capitulo 10Apache - 98
ser apresentados aos usuaries. No exmeplo, os sites serao armazenados em
/var/www:
-----1
I
DocumentRoot /var/www
o usuario e grupo que executa 0apache sao definidos pelas variaveis abaixo:
User $APACHE RUN USERS_
Group $APACHE_RUN_GROUPI
------~---
Caso seja encontrado algum erro durante 0 funcionamento do Apache, 0
mesmo sera registrado de acordo com 0 desiginos da variavel ErrorLog, como no
exemplo abaixo:
I ErrorLog /var/1og/apache2/error.1ogL___ _
I
._----- __j
E, ainda falando em logs, 0 Apache suporta a declaracao de registros
personlizados atraves do uso da variavel LogFormat:
I
~LOgFOrmat "%h %1 %u %t \"%r\" %>s %b \"%Refereri\" \"%User-Agenti\""
combined
3) Os logs, por padrao, serao annazenados no fonnato "combined",
dentro do diret6rio Ivar/log/apac~e2/access.log, e 0 fonnato"combined"fara 0registro dos seguintes itens:
%h - Hostname ou endercco IP do visitante;
%1- Hifen:
%u -Nome de usuario. caso exista;
%t - Horario de acesso;
%r - Requisicao solicitada;
%>s - 0 resultado da sclicitacao ;
%b - 0 tamanho em bytes da resposta;
Refereri -0 site anterior a visita, se informado:
8/4/2019 Config Apache Php
http://slidepdf.com/reader/full/config-apache-php 5/13
Capitulo 10Apache - 99
• User-Agenti - 0 navegador do visitante, se informado.
A.. prova pode perguntar sobre as variav~j~ErrorLog, CustomLOg~
ServerRoot e DocumentRoot. I-------------_ .._---------------------- -
10.5. Ajustes do modulo Worker e PreFork
Ainda dentro do arquivo de confiquracao do apache, existem ajustes de
performance para os modules MPM Worker e MPM Prefork. Por padrao, 0 apache
vern configura do para trabalhar em MPM Worker, entao. vamos entender suas
confiquracoes.
1 StartServers 2
2 MaxClients 150
3 MinSpareThreads25
4 MaxSpareThreads75
5 ThreadsPerChild25
6 MaxRequestsPerChildO
• A variavel StartServers configura 0mimero inicial de servidores;
A variavel MaxClients, 0numero maximo de conexoes simultaneas;
A variavel MinSpareThreads, configura 0 valor minimo de threads em
espera;
A variavel MaxSpareThreads, configura 0 valor maximo de threads em
espera;
• E a va ravel MaxRequestPerChild, configura 0 valor maximo por
processo.
o modulo Pre Fork tamhern possui ajustes similares ao modulo Worker:
8/4/2019 Config Apache Php
http://slidepdf.com/reader/full/config-apache-php 6/13
Capitulo 10Apache - 100
!
I
__ j
1 Start Servers 5
2 MinSpareServers 5
3 MaxSpareServers10
4 MaxClients 150
5 MaxRequestsPerChildO
Avariavel StartServers configura 0numero inicial de servidores;
A variavel MinSpareServer, configura 0 valor minimo de process os em
espera;
A variavel MaxSpareThreads, configura 0valor maximo de processo ern
espera;
Avariavel MaxClients, 0numero maximo de conex6es simultaneas;
E a varavel MaxRequestPerChild, configura 0valor maximo por processo.
10.6. Seguranc;a
Dentro do arquivo security, vamos colocar as regras de sequranca:
~etc/apache2
~ vim conf .d/s~~~~ity--~-.------. ~~~~
As variaveis abaixo ajudam a dificultar 0 processo de descoberta da versao do
servidor e sistema operacional:
ServerSignature Off
ServerTokens Prod
TraceEnable Off
8/4/2019 Config Apache Php
http://slidepdf.com/reader/full/config-apache-php 7/13
Capitulo 10Apache - 101
Apos efetuar os ajustes, se necessario, reinicie 0 servidor apache:
~~nVOke-rC.d apache2 restart
10.7. Suporte a PHP
A lingua gem de proqramacao PHP e uma das mais populares entre os
desenvolvedores Web. Muitas ferramentas de blogs, WebSites e tamhem ferramentas
web para administracao de services e servidores, como 0PhpLdapAdmin, necessitam
ter 0PHP5 configurado como pre requisito para instalacao.
1) Instalando 0suporte a PHP5:
l ! _ a~=-~~~d_e_~~s~all Ph~~---;:i~~-~-a-~~e;~~o~-PhP5--------------------------~
2) Verifique se os modules do PHP5 estao ativados:
1# is -1 /etc/apache2/mods-enab1ed
~ apache2ctl -M
3) 0 PHP5 e ativado por padrao durante a Instalacao do modulo,
porem, caso necessario, habilite 0suporte manualmente:,---------------- -----~-------------~---------------------------
L#a2enmod php5
I Na plataforma Red Hat a habilitaciio de modules e {eita utilizando 0
I comando system-config-http.
8/4/2019 Config Apache Php
http://slidepdf.com/reader/full/config-apache-php 8/13
Capitulo 10Apache - 102
4) Reinicie 0Apache:
i, # /etc/init.d/apache2 restartiL __ _ ____ ~ __ ~_
5) Testando 0PHP, para testar, crie urn arquivo com 0nome index.php
no dlretnrlo /var/www/ com 0 conteudo a seguir e abra no seu
browser:
l# vim /var/www/index.PhP_ .
!I ?
I ~ : P i n f O ( )-----------------------------
Agora, acesse sua paqina WEB e verifique 0 resultado.
n:\ I 0 arquivo /etc/php5/apache2/php.ini, armazena as confiquracoes do
"!::I funcionamento do php5 com apache2.
A funciio do arquivo e seu path completo podem ser cobrados na LPI.
oApache2 e sua confiquraciio provo 202 - peso 3.
10.8. Domlnios virtuais
Urn Dominio Virtual e uma funcionalidade que permite ao seu servido Web
responder com urn ou mais sites em urn mesmo IP, 0 que possibilita acessar services
e paqinas diferentes em urn mesmo servidor; apenas apontando a entrada DNS
correta nos arquivos de confiquracao.
Os domini os virtuais devem ser configurados neste dois diretorios:
/etc/apache2/sites-available: Neste diret6rio ficam todos os arquivos de
confiquracao dos dominios virtuais;
8/4/2019 Config Apache Php
http://slidepdf.com/reader/full/config-apache-php 9/13
Capitulo 10Apache - 103
/ete/apaehe2/sites-enabled: Neste diret6rio fnam todos os dominies
virtuais ativos. que na verdade sao links simb6licos para os arquivos de
confiquracao localizados no diret6rio citado anteriormente.
1) Vamos eriar um dominio virtual:
L # vim /etc/apache2/sites-available/www.microx.com.br
-I1 # Host Virtual
I
2
3 NameVirtualHostwww.microx.com.br
I
4
1 5 <VirtualHost www.microx.com.br>
I 6
DocumentRoot /var/www/microx.com.br
ServerName microx.com.br
9
ServerAdmin webmaster@microx.com.br
ErrorLog /var/log/apache2/microx.com.br-error.log
CustomLog /var/log/apache2/microx.com.br-access.log common
</VirtualHost>
10
I 11
A prova de certificaciio pode cobrar 0usa de para metros como ErrorLog e
sua funciio
2) erie 0dire~orio onde vai fiear hospedado 0dominio virtual:
I
~ mkdir /var/www/microx.com.br
3) Dentro do diretorio recem eriado, erie um arquivo ehamado
index.html:
I#vim /var/www/mictox.com.br/index. h~~~~---'---- l
8/4/2019 Config Apache Php
http://slidepdf.com/reader/full/config-apache-php 10/13
Capitulo 10Apache - 104
I <title> Minha pagina <title>
I 3 <body>
i 4 Funciona! :.)
I 5 </body>
1 6 </html>l ..__ ~ ._..~_~ .__ .. . _
4) Paratestar a sintaxe de seu arquivo deVirtual Host:
[~-~a~~c~e2 ct 1 - S .---~-:_-_ -______-_-_~
5) Utilize 0comando a2ensite para habilitar 0dominio virtual recem
criado:
l# a2ensite
6) 0 apache possui urncomando para habilitar 0dominio virtual sem
a necessidade de criar os links virtuais via linha de comando:~ ~ - = - - - - - - . . . _ -~enmod www.microx.com.br
------ ...__.__-----_,
III
7) Recarregue as confiquracoes sem reiniciar 0apache:
~ invoke-rc. d apache2 reload
Agora, no seu navegador Web, acesse 0 site www.microx.com.br e veja se 0
mesmo esta funcionando.
10.9. Suporte a HTTPS
o SSL, ou Secure Sockets Layer; e urn padrao Web que permite trafegar dados
seniveis e confidenciais, com sequranca atraves da internet, utilizando 0 protocolo
HTTPS. Sendo assim, e extremamente importante que 0 administrador de redes
configure 0 acesso SSLpara sites que necessitam deste tipo de protecao.
8/4/2019 Config Apache Php
http://slidepdf.com/reader/full/config-apache-php 11/13
Capitulo 10Apache - 105
1) Verifique se 0modulo ssl esta hahllltado, el em easo neqattvo,
habilite-o:
I # a2enrnod ssll__
o SSL trabalha com 0 conceito de certificados public os, entao. devemos
efetuar os procedimentos de criacao do certificado que sera fornecido aos clientes.
2) Entre no diret6rio que ira armazenar0eertifieado:
i # cd /etc/sslI
3) Criea ehave que sera usada para assinar 0eertifieado:I-----~-~~--~--~- ----~--------~---- ------
I # openssl genrsa -out rnicroX.key 1024L~ _
4) Com a ehave em maos, erie 0 eertifieado (fique atento as
perguntas):
Jopenssl req -new -key rnicroX.key -out rnicroX.csr
Depois de criar 0 certificado, voce pode envia-lo a uma unidade certificadora,
que 0 assinara por urn valor anual, ou, caso voce mesmo pode assinar 0 certificado,
lembrando que, neste caso, 0 cliente dira que 0 certificado n E W foi reconhecido por
uma unidade certificadora.
5) Para envia-lo a uma unidade eertitieadora:
# openssl x509 -req -days 365 -in microX.csr -signkey microX.key -out
microX.crt-----~~----- -----------------------------~~
8/4/2019 Config Apache Php
http://slidepdf.com/reader/full/config-apache-php 12/13
Capitulo 10Apache - 106
6) Apes gerar 0 certificado, configure seu dominio Virtual:
1 NameVirtualHost *:443
2 <VirtualHost *:443>
DocumentRoot /var/www/microx.com.br
4 ServerName *:443
ServerAdmin webmaster@microx.com.br
ErrorLog /var/log/apache2/microx.com.br-error.log
CustomLog /var/log/apache2/microx.com.br-access.log common
SSLEngine on
SSLCertificateFile /etc/ssl/microX.crt
10 SSLCertificateKeyFile /etc/ssl/microX.key
11 </VirtualHost>
12
13NameVirtualHost www.microx.com.br:80
14 <VirtualHost www.microx.com.br:80>
B RewriteEngine On
~ Options +FollowSymlinks
1
17 rewri teCond %SERVER PORT 80
18 rewriteRule A(.*)$ https://www.microx.com.br/$l [R,L]
~ /VirtualHos ~~ _
7) Ative 0mod_rewrite para que, toda vez que alquem acessar seu
site, seja automatlcamente redirecionado para 0 site com HTIPSativado:
#a2enmod rewrite
8) Reinicie 0apache:I----------~-----~~--------~-~------~~-~-
I #invoke-rc.d apache2 stop
I #invoke-rc. d apache2 start
9) Agora, abra 0navegador e efetue 0teste no endere~o:
.[-h-t-t-P-:-/-/-www.microx.com.br
I
8/4/2019 Config Apache Php
http://slidepdf.com/reader/full/config-apache-php 13/13
Capitulo 10Apache - 107
10.10. Exerciciote6rico
1) Voce precisa alterar a porta de trabalho do seu Apache para a porta 8000.
Qual seria 0procedimento?
2) Os usuaries reclamam que 0 site esta muito lento na hora de navegar no
servidor. Sabendo que voce tern memoria sobrando na maquina e que 0
problema nao e a rede, qual atitude tomaria de imediato?
3) Seu supervisor pediu que voce mudasse 0 diretorio padrao do Apache para
o diretorio /sites. Quais procedimentos devem ser tornados?
--- _ _ - - ~------------------------------
10.11. Laborat6rio
1. Mude a paqina de erro padrao 404 para uma mensagem personalizada. DICA:Use os exemplos no proprio arquivo:
2. Descubra na documentacao oficial do apache 0 que faz 0 modulo Rewrite e
como ele funciona;
3. Crie urn dominio virtual com 0seu sobrenome.
Recommended