Laboratório: Aplicação Web e Acesso Remoto
Parte 1 - Laboratório sobre Aplicação Web
- Objetivos
Testar o funcionamento da aplicação Web e do protocolo HTTP e instalar um Servidor Web apache.
- Fundamentação
- A aplicação Web é uma aplicação que permite a um navegador (cliente) acessar páginas de hipertextos armazenadas em em servidor Web.
- Os navegadores e o servidor Web se comunicam através de mensagens do protocolo HTTP, utilizando como camada de transporte o protocolo TCP.
- Para que o navegador possa acessar uma página em um servidor Web o mesmo deve estar ativo, aguardando por pedidos de conexão TCP na porta 80.
- Uma vez aberta a conexão TCP entre o navegador e o servidor Web, o servidor será capaz de aceitar requisições HTTP vinda do navegador e servi-lo com respostas HTTP, incluindo dados, normalmente na forma de páginas HTML.
A parte cliente da aplicação Web é implementada pelos navegadores Web.
São exemplos de navegadores o Mozilla Firefox, o Google Chrome, o Safari padrão da Macintosh, o IExplorer padrão do Windows e outros.
Outro navegador interessante é o lynx que permite navegar na Web usando um terminal de textos.
- Instalação do lynx
- Obs: Instalar o lynx na máquina virtual.
sudo apt-get install lynx
- Testar o lynx
- Por exemplo, lendo as notícias de um jornal online
lynx www.folha.com.br
Servidores Web
Os servidores Web permitem armazenar as páginas Web e disponibilizá-las na Internet.
Um servidor Web bem conhecido é o apache, disponível como padrão nas versões do Linux e um dos mais utilizados na Internet.
- Instalação do apache
- Obs: Instalar o lynx na máquina virtual.
sudo apt-get install apache2
- Testar se o servidor Web está operando normalmente
- Em um navegador coloque no endereço da URL e o endereço IP da máquina onde o apache foi instalado;
- Se tudo está funcionando, você a resposta será: It works!
- Armazenamento das páginas HTML no servidor apache
As páginas HTML a serem disponibilizadas pelo servidor apache ficam armazenadas do diretório:
/var/www
- Verificação da página padrão da instalação
cd /var/www ls cat index.html
Para que o servidor mostre uma página diferente deste padrão de instalação deve ser criada uma nova página index.html.
Parte 2 - Acesso remoto ao servidor
A aplicação de acesso remoto é uma aplicação cliente/servidor, na qual um programa cliente, através de um terminal, poderá fazer um login remoto no servidor.
O programa do lado cliente é diferente do programa do lado servidor, pois no servidor a aplicação de acesso remoto deve estar ativa e aguardando conexões por parte dos clientes.
Duas aplicações de acesso remoto bem conhecidas nos sistemas Linux são o SSH e o telnet, entretanto, dicilmente vamos encontrar servidores telnet ativos na Internet.
Acesso remoto via SSH
O SSH (Secure Shell) possibilita acesso remoto seguro, através do uso de criptografia na conexão entre o cliente e o servidor.
O cliente e o servidor SSH se comunicam utilizando como camada de transporte o protocolo TCP e o servidor fica aguardando por pedidos de conexão na porta 22.
- telnet
- O telnet também é uma aplicação de acesso remoto, todavia, dificilmente vamos encontrar servidores telnet disponíveis da Internet, pois nesta aplicação as senhas trafegam em modo ASCII, sem criptografia, facilitando o ataque de hackers visando obter a senhas dos usuários.
- Instalação do cliente e do servidor SSH
- Instalar na Máquina Virtual
Para instalar o cliente SSH no Linux, digite:
apt-get install openssh-client
Para instalar o servidor SSH, digite:
apt-get install openssh-server
Para verificar se o serviço de acesso remoto com SSH está ativo, digite:
ps -aux|grep ssh
- Se o serviço estiver ativo, o processo sshd deve estar na lista dos processos rodando.
Se não estiver ativo, iniciar o serviço com o comando:
/etc/init.d/ssh start
Para parar o serviço:
/etc/init.d/ssh stop
- Testar o acesso remoto ao servidor SSH
Em outra máquina, que pode ser a máquina hospedeira da máquina virtual, fazer acesso remoto ao servidor:
ssh <usuário>@<endereço_IP_do_servidor>
- Transferência de arquivos com SSH
Com o acesso remoto via SSH ao servidor, é possível ao cliente transferir arquivos entre o cliente e o servidor, e vice-versa:
- Transferência de arquivos do cliente ao servidor:
scp <nome_do_arquivo> <usuário>@<endereço_IP_do_servidor>:.
- Transferência de arquivos do servidor ao cliente:
scp <usuário>@<endereço_IP_do_servidor>:<nome_do_arquivo> .
- Nos exemplos acima o "." indica que o arquivo será copiado no diratório corrente do servidor, entretando, pode-se especificar um caminho para ele ser copiado.
- Exercício
- Use o SSH para transferir arquivos com páginas HTML para o servidor Web;
- Instale a página como index.html no diretório /var/www.
- Convide os colegas a visitarem sua página disponibilizada no seu servidor Web.