LAB08 Protocolo HTTP Servidor Apache



Documentos relacionados
LAB07 Correio Electrónico. Protocolo SMTP e POP3. Servidor Sendmail.

Capítulo 7. Hyper Text Transfer Protocol (HTTP). Serviço Apache. - Protocolo HTTP - Sessão HTTP - Configuração do serviço Apache

Hyper Text Transfer Protocol (HTTP) ADI HTTP 1/18

LAB06 Configuração de um servidor de DNS Aplicação nslookup. Servidor BIND.

PRÁTICA APACHE. Prof. Claudio Silva

Aqui estou novamente com um outro script, só que esse é bem mais funcional do que o ultimo que aqui postei.

Atividade Proposta da Disciplina: Laboratório de Rede de Computadores

Instalação Apache + MySQL + PHPMyAdmin CentOS

Instalação e Configuração do Servidor HTTPD Apache

Instalando servidor Apache

Projeto e Instalação de Servidores Servidores Linux Aula 3 - DNS

Virtual Hosts. João Medeiros 1 / 12

Você pode testar se está tudo OK, abrindo um navegador no Debian Linux e acessando qualquer site.

Linux - Servidor de Redes

Instalação e Configuração Servidor DNS

FACULDADE DE TECNOLOGIA SENAC GESTÃO DA TECNOLOGIA DA INFORMAÇÃO LABORATORIO DE REDE

Prof. Samuel Henrique Bucke Brito

5/7/2010. Apresentação. Introdução. Ponto de vista do usuário. Curso Tecnologia em Telemática. Disciplina Administração de Sistemas Linux

COORDENAÇÃO DE TECNOLOGIA (COTEC) MAIO/2010

Aula 14 Serviços Internet (Servidor Web Apache)

Criação de páginas web

Formação IPv6 Maputo Moçambique 26 Agosto - 29 Agosto 08 Configuração de Servidor WEB e FTP

SERVIDOR WEB - APACHE SERVIDOR WEB - APACHE SERVIDOR WEB - APACHE 27/02/2012

Licenciatura em Eng.ª Informática Redes de Computadores - 2º Ano - 2º Semestre. Trabalho Nº 1 - Ethereal

Manual de Introdução da Bomgar B100

Sistemas Operacionais Livres. Servidor Web Apache

Internet e protocolos web. A Internet é uma rede descentralizada de recursos computacionais. Topologia tem de fornecer caminhos alternativos

Relatório SQUID e SAMBA. Instalação e Configuração de Servidores de Rede

Guia de iniciação Bomgar B400

MB290 Reencaminhar Fax

Protocolo FTP. Professor Leonardo Larback

Apresentação de REDES DE COMUNICAÇÃO

SiGE - Sistema de Gerência de Eventos

Gestix. Instalar em Linux. Gestix.com. Instalar em Linux...2 Pré-requisitos para instalar o Gestix em Linux...2

CGI Common Gateway Interface. É um standard para transmitir dados entre um servidor web e uma aplicação externa

Internet Update de PaintManager TM. Manual de registo do utilizador

Servidor de corporativo com Zimbra.

LAB07 Correio Electrónico. Protocolos SMTP e POP3. Configuração de um servidor SMTP (exim).

Administrando o sistema linux TCP/IP

Camada de Aplicação. Prof. Eduardo

Instalando servidor Apache com MySQL e as linguagens ColdFusion e PHP. XAMPP (xampp-win installer.exe), veja aqui.

Manual de Instalação e Configuração do GeoServer em Servidores LINUX

Aula 1 Cleverton Hentz

Instalação do Aparelho Virtual Bomgar. Base 3.2

Guia de instalação para ambiente de Desenvolvimento LINUX

Trabalho de laboratório sobre DNS

Projeto Amadeus. Guia de Instalação Linux

Guia de Instalação e Configuração do Noosfero

VRMLWorld Manual e Guia de exploração do VRMLWorld para utilização em contexto de Educação Visual e Tecnológica currículo.

Introdução à Camada de Aplicação. Prof. Eduardo

Para o processo de instalação do servidor Apache, deve se executar o seguinte comando, como root.

Lazarus pelo SVN Linux/Windows

Comandos importantes Virtual Box Linux Compartilhamento

Escola Secundária/3 Filipa de Vilhena

Comandos remotos via agente Zabbix

LABORATÓRIO 0 Revisão GNU/Linux

LABORATÓRIO VII. LAMP Server Documento versão 0.1. Aluno: Paulo Henrique Moreira Gurgel #

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Redes de Computadores. Trabalho de Laboratório Nº8

#apt-get install make flex gcc gpp apache2 php5 php5-pgsql postgresql-8.4 libapache2-mod-php5 php5-gd php-net-socket postgres

Pingwin Android Como instalar

Configuração do servidor Apache com SSL no sistema operativo Windows 2000/XP. André P. Muga

Acronis Servidor de Licença. Manual do Utilizador

LABORATÓRIO DE INTERCONEXÃO DE REDES DE COMPUTADORES. SERVIÇOS ADICIONAIS: Conceituação, Instalação e Configuração

LABORATÓRIO UNIDADES 1 REVISÃO LINUX E COMANDOS BÁSICOS ABRINDO A MÁQUINA VIRTUAL UBUNTU SERVER PELO VIRTUALBOX

Google Sites. A g r u p a m e n t o C a m p o A b e r t o /

MSN-Proxy v0.7 no Debian 5 (Atualizado)

MANUAL DE CONFIGURAÇÃO -ZIMBRA- Ajuda na configuração e utilização do cliente de correio eletrónico

CARREGAR VARIÁVEIS EXTERNAS PARA O FLASH

Programação Web Prof. Wladimir

Instalação do software da Fiery para Windows e Macintosh

Prática DNS. Edgard Jamhour

Redes de Computadores. Guia de Laboratório Configuração de Redes

Gerenciamento de Pacotes

Formador: Paulo Ramos IGRI13: Rui Bárcia Nº15. Windows 2008 Server. Módulo 16. Instalação e configuração

Actividade: Criar um e trocar mensagens

LOADBALANCE DEBIAN LENNY.

Wireshark Lab: TCP. Versão KUROSE, J.F & ROSS, K. W. Todos os direitos reservados 2011 BATISTA, O. M. N. Tradução e adaptação para Wireshark.

Senha Admin. Nessa tela, você poderá trocar a senha do administrador para obter acesso ao NSControl. Inicialização

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

PACWEB Módulo de Pesquisa MANUAL DO UTILIZADOR

O protocolo HTTP. O que é o protocolo HTTP?

Breve introdução a User Dir e Senhas no Apache Uma abordagem prática (aka crash course on User Dir and Directory Authentication on Apache)

Manual do Usuário. Resumo

MANUAL DO UTILIZADOR DE REDE

FICHA DE TRABALHO #08

Configurando o DDNS Management System

EuroPescaVET. ZonaVET 0+1

CODE IGNITER INSTALAÇÃO & BANCO DE DADOS

ZS Rest. Manual Profissional. Instalação do Software. v2011

Transcrição:

LAB08 Protocolo HTTP Servidor Apache A. Protocolo HTTP Neste exercício vamos utilizar a aplicação telnet, ligar-nos directamente à porta TCP 80 do servidor web, e familiarizarmo-nos com os comandos do protocolo HTTP. 1. Corre a aplicação telnet e pede a página de entrada do servidor web #telnet 10.10.23.13 80 GET / HTTP/1.0 Linha de status: Cabeçalhos: Dados (html): #telnet www.ualg.pt 80 GET /templates/manga/images/logo1.png HTTP/1.0 Linha de status: Cabeçalhos: Dados: 2. Neste exercício vamos enviar dados para o servidor juntamente com o URL utilizando o comando GET test2.pl é um programa em Perl que se encontra no servidor e que devolve uma página html com todas as variáveis fornecidas pelo servidor web ao programa (ver o código em apendice). É através da variável que o programa tem conhecimento dos dados que nós enviamos. #telnet 10.10.23.13 80 GET /cgi-bin/test2.pl?nome=bruno&idade=23 HTTP/1.0 QUERY_STRING= http://www.deei.fct.ualg.pt/grs/lab08.pdf lab08 1/1

3. Neste exercício vamos enviar dados para o servidor web através do comando POST. post.pl é um programa em Perl que se encontra no servidor e que devolve uma página html com o corpo da mensagem HTTP (ver o código em apendice) #telnet 10.10.23.13 80 POST /cgi-bin/post.pl HTTP/1.0 Content-Length:22 ano=2003&mes=11&dia=20 B. Instalação do servidor Apache 4. Para instalar o servidor Apache basta executar o comando #dpkg --purge apache #apt-get install apache 5. Verifica que o serviço está a funcionar com o browser (opera...) abrindo o URL http://localhost/. (Não te esqueças de desligar o proxy!). Vê o que está definido no ficheiro de configuração /etc/apache/httpd.conf Nota 1: é preciso definir a directiva DocumentRoot igual a /var/www Nota 2: é preciso definir a directiva ServerName igual a server.sala160.ualg.pt Nota 3: é preciso que o nome canónico server.sala160.ualg.pt esteja registado no servidor de DNS, que este esteja a funcionar, e que o "resolver" esteja a utilizar esses servidor 1 Funciona? 6. Altera a página de entrada do site para uma da tua preferência substituindo /var/www/index.html pela tua página html preferida. Por exemplo guarda a página de entrada do Google (www.google.com) utilizando o menu (Opera) File > Save Page as... > /var/www/google.html Copia a página que acabaste de guardar para /var/www/index.html: #cp a /var/www/index.html /var/www/index.html.original #mv /var/www/google.html /var/www/index.html 1 Commandos que tens que executar para correr o servidor de DNS e configurar o "resolver" #/etc/init.d/bind start #xedit /etc/resolv.conf search sala160.ualg.pt nameserver 127.0.0.1 http://www.deei.fct.ualg.pt/grs/lab08.pdf lab08 2/2

7. Faz refresh à página http://localhost/ (Opera) View > Reload Quais são as diferenças relativamente à página original do google? O que deves fazer para aparecer o logotipo do google? Qual o nome do serviço e o IP do servidor que tens que assaltar (hijack) para redireccionares os acessos ao google para o teu servidor? C. Criação do directório web pessoal de um utilizador 8. Cria o utilizador cantiflas (se ainda não existir!) #adduser cantiflas #chmod a+x /home/cantiflas 9. Muda para o utilizador cantiflas e cria o directório public_html #su cantiflas $mkdir public_html $chmod a+rx public_html 10. Copia a tua página web preferida para dentro do directório public_html $cp /var/www/index.html ~/public_html 11. Verifica com o browser que a página web pessoal do utilizador cantiflas está agora acessível em http://localhost/~cantiflas Sucesso? 12. Qual a directiva em /etc/apache/httpd.conf que terás para mudar para que a pasta web pessoal public_html passe a chamar-se web_folder? D. Criação de um directório com acesso restrito 13. Cria a pasta "privado" do utilizador cantiflas $mkdir ~/public_html/privado $chmod a+x ~/public_html/privado 14. Cria o ficheiro ~/public_html/privado/.htaccess com o seguinte conteúdo AuthType Basic AuthNAme cantiflas AuthUserFile /home/cantiflas/public_html/privado/.htpasswd http://www.deei.fct.ualg.pt/grs/lab08.pdf lab08 3/3

15. Cria o ficheiro.htpasswd $cd ~/public_html/privado/ $/usr/bin/htpasswd c -b.htpasswd cantiflas segredo 16. Verifica que te é pedida uma password para aceder ao URL http://localhost/~cantiflas/privado Qual a directiva que deves incluir no ficheiro.htaccess para garantir que o cantiflas é um utilizador válido do servidor? Quais são as directivas que estão dentro do contentor <Files ~ "^\.ht" > que impedem que se possa fazer download do ficheiro.htpasswd? (Sugestão: a tua página web pessoal no DEEI http://deei.fct.ualg.pt/~axxxxx/, pode ser protegida por password utilizando os comando que aprendeste neste guião...) E. Criação de dois hosts virtuais 17. Altera o servidor de DNS e introduz duas entradas adicionais em /etc/bind/db.hosts. server IN A 10.11.160. girls IN CNAME server.sala160.ualg.pt. boys IN CNAME server.sala160.ualg.pt. Substitui pelo número do teu servidor. Não te esqueças de fazer o restart ao serviço DNS (/etc/init.d/bind restart). Nota: Se o servidor de DNS não existir, no mínimo é preciso que existam entradas para estes nomes em /etc/hosts 18. Cria as pastas girls e boys em /var/www #mkdir /var/www/girls #mkdir /var/www/boys #chmod a+rx /var/www/girls #chmod a+rx /var/www/boys 19. Altera o ficheiro de configuração do Apache (/etc/apache/httpd.conf) NameVirtualHost 10.11.160. <VirtualHost boys.sala160.ualg.pt> ServerName boys.sala160.ualg.pt DocumentRoot /var/www/boys/ </VirtualHost> http://www.deei.fct.ualg.pt/grs/lab08.pdf lab08 4/4

<VirtualHost girls.sala160.ualg.pt> ServerName girls.sala160.ualg.pt DocumentRoot /var/www/girls/ </VirtualHost> 20. Coloca dois ficheiros html diferentes em /var/www/girls e /var/www/boys. (por exemplo as paginas de entrada de http://www.goodgirls.com/ e http://www.niceguys.com/) 21. Verifica com o browser (proxy desligado!) que os URLs http://boys.sala160.ualg.pt/ http://girls.sala160.ualg.pt/ devolvem páginas diferentes, apesar de estarem ambos os sites alojadas no mesmo servidor web. Sucesso? 22. Termina aqui este laboratório. Remove o serviço, desliga o servidor e o monitor. #dpkg --purge apache http://www.deei.fct.ualg.pt/grs/lab08.pdf lab08 5/5

APÊNDICE test2.pl #!/usr/bin/perl print "Content-type:text/html\n\n"; print <<EndOfHTML; <html><head><title>print Environment</title></head> <body> EndOfHTML foreach $key (sort(keys %ENV)) { print "$key = $ENV{$key}<br>\n"; } print "</body></html>"; post.pl #!/usr/bin/perl print "Content-type:text/html\n\n"; read(stdin, $buffer, $ENV{'CONTENT_LENGTH'}); @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fa-f0-9][a-fa-f0-9])/pack("c", hex($1))/eg; $FORM{$name} = $value; } print "<html><head><title>form Output</title></head><body>"; print "<h2>results from FORM post</h2>\n"; foreach $key (keys(%form)) { print "$key = $FORM{$key}<br>"; } print "</body></html>"; http://www.deei.fct.ualg.pt/grs/lab08.pdf lab08 6/6