Como montar um servidor web Professora: Adria Lyra [email protected].
Transcript of Como montar um servidor web Professora: Adria Lyra [email protected].
![Page 2: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/2.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/3.jpg)
O primeiro servidor web do mundo
![Page 4: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/4.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/5.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/6.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/7.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/8.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/9.jpg)
Resposta HTTP
![Page 10: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/10.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/11.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/12.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/13.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/14.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/15.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/16.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/17.jpg)
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 18: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/18.jpg)
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
![Page 19: Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/19.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/20.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/21.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/22.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/23.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/24.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/25.jpg)
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.](https://reader030.fdocuments.net/reader030/viewer/2022013003/552fc0f8497959413d8b51fa/html5/thumbnails/26.jpg)
Trabalho de RedesII
• Trabalho para ser entregue no primeiro dia de aula após o recesso.
• Monte seu próprio servidor web.