Como montar um servidor web Professora: Adria Lyra [email protected].
Transcript of Como montar um servidor web Professora: Adria Lyra [email protected].
Como montar um servidor web
Professora: Adria [email protected]
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.
O primeiro servidor web do mundo
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.
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".
Como funciona em servidor web?• Um "servidor web" é um programa
que escuta os pedidos dos navegadores e os executa.
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]
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.
Resposta HTTP
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.
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.
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.
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.
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.
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..
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.
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)
Instalando o Apache • Para efetuar a instalação a partir deste tipo de
arquivo .msi, você deverá ter o utilitário Microsoft Windows Installer instalado no seu sistema.
• Os usuário de versões mais antigas do Windows deverão baixá-lo a partir do site da Microsoft, nos seguintes links:
Windows Installer v1.10 para Windows NT 4.0
Windows Installer v1.10 para Windows 95 e 98
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.
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.
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.
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.
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.
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.
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.
Trabalho de RedesII
• Trabalho para ser entregue no primeiro dia de aula após o recesso.
• Monte seu próprio servidor web.