como montar um servidor web professora: adria lyra [email protected]

26
Como montar um servidor web Professora: Adria Lyra [email protected]

Upload: internet

Post on 16-Apr-2015

107 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Como montar um servidor web

Professora: Adria [email protected]

Page 2: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Um pouco de história• Em 1990, Tim Bernard-Lee escreveu o

primeiro cliente e primeiro servidor web. Assim surgia o HTML e o HTTP, surgia a WWW e todo o universo que nos trouxe.

• Tim escreveu em 1991 as razões pelas quais criar um novo protocolo (o HTTP), e comentava que os até então existentes não atendiam às necessidades da comunidade científica.

Page 3: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

O primeiro servidor web do mundo

Page 4: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Definição• Um programa de computador responsável

por aceitar pedidos HTTP de clientes, geralmente os navegadores, e servi-los com respostas HTTP, incluindo opcionalmente dados, que geralmente são páginas web, tais como documentos HTML com objetos embutidos (imagens, etc.);

• Um computador que executa um programa que provê a funcionalidade descrita acima.

Page 5: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Como funciona um servidor web?• O navegador não pode ler o

documento do disco de destino diretamente.

• Logo, o computador de destino necessita estar rodando um "servidor web".

Page 6: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Como funciona em servidor web?• Um "servidor web" é um programa

que escuta os pedidos dos navegadores e os executa.

Page 7: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Pedido HTTP • O usuário digita um endereço web (URL) no

seu navegador, com o seguinte formato: protocolo://servidor/pedido.

• O navegador irá abrir uma conexão TCP com o servidor.

• O passo seguinte é o navegador mandar o pedido para o servidor, que é feita enviando uma mensagem no seguinte formato: GET [diretório(URI)] [HTTP/versão]

Page 8: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Resposta HTTP • O servidor localiza o documento e manda a seguinte

resposta.– HTTP/[versão] [código] [texto]

Campo1: valor1Campo2: valor2

... conteúdo do documento...• ver são é a versão do HTTP, • código é um número de 3 algarismos, geralmente 200

para dizer que está tudo OK, e depois um texto que traduz o significado deste número para uma linguagem conhecida (geralmente é o próprio "ok").

• Seguem-se algumas informações usadas pelo cabeçalho, como data, data da última atuaização do arquivo etc. Depois de uma linha em branco, vem a informação do documento propriamente.

Page 9: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Resposta HTTP

Page 10: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Resposta HTTP - campos• A maioria dos campos na mensagem anterior

é de fácil compreensão.• O campo "content-type", que tem como valor

"text/html". Este campo é o que permite ao navegador saber que tipo de documento está sendo trafegado, e, dependendo do tipo, abri-lo na própria janela, ou chamar um outro programa para fazê-lo.

• Outros exemplos de tipos de documento são: "text/plain" (texto puro), "image/gif" (imagem do tipo gif), "image/jpg" entre outros.

Page 11: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Resposta HTTP• Alguns documentos são abertos dentro de

próprio documento html, como é o caso das imagens.

• Outros são visualizados também dentro do documento html, mas quererem um plug-in, como é o caso das animações "flash" (da Macromedia).

• Uma questão interessante é que para o navegador não importa como o servidor produz a informação que lhe manda. Ela pode ser estática, pode ser dinâmica, mas só o que importa para o navegador é saber o tipo de documento, e usar o programa ou plug-in necessário para abri-lo.

Page 12: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Códigos de estado do servidor • 1xx - Não utilizado. Reservado para testes.• 2xx - O pedido foi atendido corretamente.• 200 - OK: o servidor fez exatamente o que o cliente

queria.• 3xx - O recurso está em algum outro lugar e o

cliente deve tentar de novo em um novo endereço.• 301 - Movido permanentemente.• 302 - Movido temporariamente (os enlaces não

necessitam ser modificados).• 304 - Não modificado. Usado quando o cliente

utiliza o cabeçalho "se-modificado-desde" e o recurso não foi modificado desde o tempo apontado. Significa que a versão do documento em cache deve ser exibida.

Page 13: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Códigos de estado do servidor• 4xx - O cliente de alguma maneira se equivocou,

geralmente pedindo por algo que não deveria ter pedido.

• 400 - Pedido errado. O pedido não tem a sintaxe correta.

• 401 - Não autorizado. O cliente não está autorizado a acessar o recurso. Pode mudar se o cliente tenta de novo com um cabeçalho de autorização.

• 403 - Proibido. O cliente não pode acessar o recurso e uma autorização não vai ajudar em nada.

• 404 - Não encontrado. O mais conhecido. Significa que o servidor não tem nem idéia sobre o paradeiro deste recurso e não tem nada a informar.

Page 14: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Códigos de estado do servidor• 5xx - Significa que o servidor se

equivocou ou que não pôde atender ao pedido do cliente.

• 500 - Erro interno do servidor. Alguma coisa aconteceu de errado no servidor.

• 501 - Não implementado. O método de pedido não é suportado pelo servidor.

• 503 - Serviço não disponível. Acontece algumas vezes quando o servidor está muito ocupado e não pode atender ao pedido. Geralmente a solução é esperar um tempo e tentar de novo.

Page 15: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Versões do HTTP • HTTP/0.9 - Muito primitiva... na verdade

nunca foi especificada em nenhum padrão.• HTTP/1.0 - É a correção da anterior. Foi

publicada como padrão no RFC 1945. Foi a versão mais utilizada durante certo tempo, dando espaço hoje para a versão 1.1.

• HTTP/1.1 - Descrito na RFC 2068. Extende e melhora a versão 1.0 em certas áreas. É suportada pela maioria dos navegadores, inclusive o Internet Explorer 6.0..

Page 16: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Versões do HTTP• As maiores vantagens da versão 1.1 são as

extensões para autorização de documentos online via HTTP e um mecanismo que permite que após o pedido do cliente a conexão se mantenha aberta, o que evita ter que abrir uma nova conexão para o seguinte pedido. Isso é vantajoso porque agiliza a abertura de documentos que tenham outros arquivos associados.

Page 17: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Vamos montar o nosso servidor• Download Apache• http://www.apache.org/dist/httpd/binaries/win3

2• Baixe o arquivo com extensão .msi• O arquivo deverá estar com o seguinte nome:

apache_x.x.xx-win32-x86.msi, x.x.xx é a versão do software. Note que este arquivo é do tipo .msi (Microsoft Installer)

Page 19: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Instalando o Apache• Após ter instalado o utilitário Microsoft Windows

Installer, clique duas vezes no arquivo de instalação do Apache.

• Prossiga clicando no botão "Next", aceitando os termos da licença de uso e, na tela de Informações do Servidor ("Server Information"), onde é solicitado "Network Domain", "Server Name" e "Administrator's Email Address", informe, respectivamente: "localdomain", "localhost" e o seu endereço de e-mail. Deixe também selecionado a opção "Run as a service for All users“.

• Prossiga selecionando a instalação completa ("Complete") e finalize a instalação.

Page 20: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Iniciando e parando o Apache• Somente em Windows95/98/ME/XP.• Para INICIAR o servidor Web Apache, vá no

botão– Iniciar->Programas->Apache HTTP Server e clique

em Start Apache in Console.• Para PARAR o Apache, não é aconselhável

que se feche esta janela diretamente. Ao invés disso, vá em – Iniciar->Programas->Apache HTTP Server e clique

em Stop Apache. – Isso dará inicio ao processo de shutdown do

servidor Web, o que fará com que a janela se feche.

Page 21: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Iniciando e parando o Apache• Windows NT/2000:• O Apache é instalado como um serviço em

sistemas Windows NT e 2000 e, por isso, os procedimentos descritos acima, para iniciar e parar o Apache, NÃO se aplicam a essas plataformas.

• Use o gerenciador de serviços do Windows NT/2000, localizado no painel de controle, para controlar a execução do Apache.

Page 22: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Testando a instalação do Apache

• Certifique-se de que o Apache esteja em execução.

• Abra o seu navegador favorito e digite o seguinte endereço: http://localhost

• Este é o endereço do seu servidor web local.

• Uma página deverá aparecer, indicando que você instalou e configurou corretamente o servidor Web Apache em seu sistema.

Page 23: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Testando a instalação do Apache• IMPORTANTE: Se você não tiver alterado a pasta

padrão de instalação do Apache, a pasta raiz do seu servidor web se encontra no seguinte caminho no seu disco:

C:\Arquivos de programas\Apache Group\Apache\htdocs

• É nesta pasta que você deve colocar todos os arquivos que serão acessados através do seu servidor Web local, incluindo páginas HTML, scripts em PHP, arquivos de imagens, etc.

Page 24: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Acessando sua página

• Se você possuir um ip fixo basta digitar o seu endereço IP no browser para conseguir acessar sua página externamente.

Page 25: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Associando um IP a um endereço• Você terá que registrar o seu domínio

junto ao órgão competente: registro.br• Depois é necessário ter um micro com

dois endereços IP fixos ou contratar os serviços de um provedor de dados (lacaweb.com.br) ou você pode instalar o no-ip na máquina onde o APACHE está instalado.

Page 26: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br

Trabalho de RedesII

• Trabalho para ser entregue no primeiro dia de aula após o recesso.

• Monte seu próprio servidor web.