Académique Documents
Professionnel Documents
Culture Documents
1. Servidores web
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gesto de Oliveira do Hospital - Programao para Internet I 2
Servidores web
O que importa saber sobre os web servers? (cont)
Na prtica um web server no mais do que um
servidor de ficheiros, em que pedido um ficheiro que
ser devolvido caso exista.
Exemplos de web servers
Apache HTTP Server (http://httpd.apache.org/)
Lighttpd server (http://www.lighttpd.net/)
Microsoft IIS (Internet Information Service)
Nesta disciplina iremos optar pelo Apache HTTP Server.
Depois de o instalar, basta utilizar um browser para
aceder a http://localhost/ ou
http://127.0.0.1.
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gesto de Oliveira do Hospital - Programao para Internet I 3
Servidores web
O que importa saber sobre os web servers? (cont)
Os web servers podem ser configurados ao nosso gosto
para melhor se adaptarem s nossas reais necessidades
No caso do Apache, as configuraes so feitas num
ficheiro de texto: httpd.conf que se encontra na
directoria:
C:\Program Files\Apache Software Foundation\Apache2.2\conf
Importa referir que para as alteraes feitas neste
ficheiro terem efeito, necessrio fazer Restart (ou
Stop + Start) do web server.
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gesto de Oliveira do Hospital - Programao para Internet I 4
Servidores web
O que importa saber sobre os web servers?
possvel ter mais do que um web server a correr
na mesma mquina, no entanto tm que estar
escuta de portos diferentes.
Por defeito: 80
Para outros web servers: 8080 ou outros
Para alterar o porto basta alterar no ficheiro httpd.conf a seguinte
linha:
Listen 80
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gesto de Oliveira do Hospital - Programao para Internet I 5
Servidores web
O que importa saber sobre os web servers?
necessrio definir um root directory no disco rgido
do servidor, que ir corresponder directoria raz do
site.
Por exemplo, se para o site www.abcd.pt definirmos como root
directory c:\myweb\files\, quando a estamos a aceder a
www.abcd.pt, na verdade estamos a tentar obter ficheiros que se
encontram na directoria c:\myweb\files\.
Por defeito a root directory do web server Apache :
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs
Para alterar a root directory basta alterar no ficheiro httpd.conf a
seguinte linha:
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gesto de Oliveira do Hospital - Programao para Internet I 6
Servidores web
O que importa saber sobre os web servers? (cont)
Como sabido, sempre que se acede a uma pgina
web faz-se o pedido de um ficheiro, no entanto, em
alguns casos possvel omitir o nome desse ficheiro;
Por exemplo, ao acedermos a www.abcd.pt no estamos a indicar
o nome de nenhum ficheiro, assim sendo, ir ser devolvido, caso
exista, um ficheiro com um default file: index.html,
default.htm, etc.
O utilizador poder adicionar outros default files, como por
exemplo index.htm, omeuficheiro.html, etc.
Para tal, basta procurar no ficheiro httpd.conf a seguinte linha e
adicionar os ficheiros que pretender. Eles sero acedidos pela
ordem indicada
DirectoryIndex index.html index.htm
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gesto de Oliveira do Hospital - Programao para Internet I 7
Servidores web
O que importa saber sobre os web servers? (cont)
Ento e se no existir nenhum default file na
directoria a que estamos a aceder?
Nesse caso, poder acontecer uma de duas coisas:
Ser apresentada uma listagem de todos os ficheiros e directorias que se
encontram na directoria indicada. Para tal acontecer, o web server dever
estar configurado para permitir directory listing.
Nota: por defeito, esta opo j vem activada, para a desactivar, basta remover a
palavra Indexes
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gesto de Oliveira do Hospital - Programao para Internet I 9
Servidores web
O que importa saber sobre os web servers? (cont)
Num servidor de produo conveniente que esteja
definido um endereo de email de contacto do
administrador do servidor para poder ser contactado
em caso de erro
Esse endereo de email pode ser modificado a
qualquer momento, bastando para tal alterar a
seguinte linha no ficheiro httpd.conf.
ServerAdmin ze@xpto.com
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gesto de Oliveira do Hospital - Programao para Internet I 10
Servidores web
O que importa saber sobre os web servers? (cont)
Um web server regista todos os pedidos de ficheiros
efectuados (logs).
Deste modo, possvel verificar que erros ocorreram,
onde/quando/a quem ocorreram e tentar solucionar o
problema
Por defeito, os logs so guardados na directoria
C:\Program Files\Apache Software Foundation\Apache2.2\logs
Para alterar o nome\localizao do ficheiro de logs de erro,
basta alterar a seguinte linha
ErrorLog "log/error.log"
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gesto de Oliveira do Hospital - Programao para Internet I 11
Servidores web
O que importa saber sobre os web servers? (cont)
Um web server regista todos os pedidos de ficheiros
efectuados (logs).
Um dos ficheiros de log mais importantes o
ficheiro de acesso (access.log). Em que
registada informao sobre todos os acessos ao
servidor.
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gesto de Oliveira do Hospital - Programao para Internet I 12
Servidores web
O que importa saber sobre os web servers? (cont)
Um web server regista todos os pedidos de ficheiros
efectuados (logs).
Consoante a fase de maturidade do servidor, podemos alterar o
nvel de produo de logs que pretendemos:
LogLevel warn
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gesto de Oliveira do Hospital - Programao para Internet I 14
Servidores web
O que importa saber sobre os web servers? (cont)
Documentos de erro personalizados
possvel definir ficheiros (x)HTML personalizados que sero
apresentados em caso de erro
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gesto de Oliveira do Hospital - Programao para Internet I 15
Servidores web
O que importa saber sobre os web servers? (cont)
possvel adicionar mdulos a um web server
Exemplos: PHP, SSL, etc.
Para tal, basta adicionar no ficheiro httpd.conf uma linha
semelhante seguinte
LoadModule nome_do_modulo
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gesto de Oliveira do Hospital - Programao para Internet I 16
Servidores web
Configuraes personalizadas para uma directoria
At ao momento temos visto essencialmente
configuraes gerais para o servidor
No entanto possvel aplicar determinadas
configuraes a directorias em especfico
<Directory directoria>
...
configuraes
...
</Directory>
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gesto de Oliveira do Hospital - Programao para Internet I 17
Servidores web
Configuraes personalizadas para uma directoria
As configuraes possveis so inmeras, devendo
como bvio ser feitas com o devido cuidado
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gesto de Oliveira do Hospital - Programao para Internet I 18