Escolar Documentos
Profissional Documentos
Cultura Documentos
1 ServidoresWeb PDF
1 ServidoresWeb PDF
1. Servidores web
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para Internet I 2
Servidores web
O que importa saber sobre os web servers? (cont)
Na prática um web server não é 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 Gestão de Oliveira do Hospital - Programação 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 configurações são 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 alterações feitas neste
ficheiro terem efeito, é necessário fazer Restart (ou
Stop + Start) do web server.
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para Internet I 4
Servidores web
O que importa saber sobre os web servers?
É possível ter mais do que um web server a “correr”
na mesma máquina, no entanto têm 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 Gestão de Oliveira do Hospital - Programação para Internet I 5
Servidores web
O que importa saber sobre os web servers?
É necessário definir um root directory no disco rígido
do servidor, que irá corresponder à directoria raíz 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 Gestão de Oliveira do Hospital - Programação para Internet I 6
Servidores web
O que importa saber sobre os web servers? (cont)
Como é sabido, sempre que se acede a uma página
web faz-se o pedido de um ficheiro, no entanto, em
alguns casos é possível omitir o nome desse ficheiro;
Por exemplo, ao acedermos a www.abcd.pt não 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 serão acedidos pela
ordem indicada
DirectoryIndex index.html index.htm
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para Internet I 7
Servidores web
O que importa saber sobre os web servers? (cont)
Então e se não 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 opção já vem activada, para a desactivar, basta remover a
palavra Indexes
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para Internet I 9
Servidores web
O que importa saber sobre os web servers? (cont)
Num servidor de “produção” é conveniente que esteja
definido um endereço de email de contacto do
administrador do servidor para poder ser contactado
em caso de erro
Esse endereço 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 Gestão de Oliveira do Hospital - Programação 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, é possível verificar que erros ocorreram,
onde/quando/a quem ocorreram e tentar solucionar o
problema…
Por defeito, os logs são guardados na directoria
C:\Program Files\Apache Software Foundation\Apache2.2\logs
Para alterar o nome\localização 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 Gestão de Oliveira do Hospital - Programação 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 informação sobre todos os acessos ao
servidor.
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação 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
nível de produção de logs que pretendemos:
LogLevel warn
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para Internet I 14
Servidores web
O que importa saber sobre os web servers? (cont)
Documentos de erro personalizados
É possível definir ficheiros (x)HTML personalizados que serão
apresentados em caso de erro
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para Internet I 15
Servidores web
O que importa saber sobre os web servers? (cont)
É possível adicionar módulos 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 Gestão de Oliveira do Hospital - Programação para Internet I 16
Servidores web
Configurações personalizadas para uma directoria
Até ao momento temos visto essencialmente
configurações gerais para o servidor
No entanto é possível aplicar determinadas
configurações a directorias em específico
<Directory directoria>
...
configurações
...
</Directory>
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para Internet I 17
Servidores web
Configurações personalizadas para uma directoria
As configurações possíveis são inúmeras, devendo
como é óbvio ser feitas com o devido cuidado
(c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para Internet I 18