aula 14 – serviços internet (servidor web apache) · procolo simples com comandos em texto,...

26
CST Redes de Computadores CST Redes de Computadores Disciplina: Disciplina: Serviços de Rede Professor: Professor: Jéferson Mendonça de Limas Aula 14 – Serviços Internet Aula 14 – Serviços Internet (Servidor Web Apache) (Servidor Web Apache)

Upload: lyhuong

Post on 14-Nov-2018

219 views

Category:

Documents


1 download

TRANSCRIPT

CST Redes de ComputadoresCST Redes de Computadores

Disciplina:Disciplina:Serviços de Rede

Professor:Professor:Jéferson Mendonça de Limas

Aula 14 – Serviços Internet Aula 14 – Serviços Internet (Servidor Web Apache)(Servidor Web Apache)

Roteiro de Aula

●Conceitos Básicos●Funcionamento de Servidores Web●Configurações do Apache 2●Prática

Conceitos Básicos

● A WWW é baseado em relacionamento Cliente/Servidor

● Cliente: Navegador Web (Browser)● Servidor: Acesso via Http (Protocolo)

●O Protocolo HTTP permite transporte de várias mídias:● Arquivos Texto● Páginas Html● Imagens● Applets Java, etc.

Conceitos Básicos: Organização do Serviço

● Arquitetura two-tier

●Arquitetura three-tier

Conceitos Básicos: URL

● Os conteúdos são acessados por referências denominadas URL (Uniform Resouce Locators). Uma URL é composta por:

● Protocolo: Forma de acesso ao Conteúdo● Servidor: Nome do Computador que tem o Serviço● Domínio: Em qual rede está o computador● Porta: Porta de conexão● Caminho: Localização do Recurso no Servidor● Recurso: Nome do Recurso dentro do Servidor

Conceitos Básicos: URL

O Protocolo HTTP

● HyperText Transport Protocol ● Versão 1.0 definida na RFC 1954● Versão 1.1 definida na RFC 2616

● Procolo simples com comandos em texto, transportado através de conexões TCP na porta padrão 80.

● Objetivo de enviar requisições a servidores no formato de URLs e obter respostas na forma de conteúdos.

Exemplo de Requisição e Resposta

Principais Métodos HTTP

●GET● Busca um objeto definido em um URL

●PUT● Indica os dados que devem ser armazenados na URL

●POST● Cria um novo objeto ligado a um objeto especificado na

URL●HEAD

● Similar ao GET, retorna apenas o cabeçalho do servidor●DELETE

● Solicita a remoção da informações especificada na URL

Categoria Descrição Código Descrição

1 - - Informational 100 Continue

101 Switching protocols

2 - - Success 200 Ok

201 Created

202 Accepted

203 Non-authoritive information

3 - - Redirection 300 Multiple choices

301 Moved permanently

302 Moved temporarily

4 - - Client error 400 Bad request

401 Unauthorized

402 Payment required

403 Forbidden

404 Not found

415 Unsupported media type

426 Upgrade Required

5 - - Server error 500 Internal server error

501 Not implemented

502 Bad gateway

503 Service unavailable

505 HTTP version not supported

Servidores WEB● Segundo Dados da Netcraft em Outubro de 2015 cerca de 35% dos domínios da Internet respondem as requisições utilizando o Servidor Web Apache.

●Mais Informaçõeshttp://news.netcraft.com/archives/category/web-server-survey/

Servidores WEB

●O Apache é um dos mais antigos servidores e também um dos mais seguros. É composto com inúmeros módulos que permitem suporte a uma infinidade de recursos.

●Recursos mais comuns:● Suporte ao PHP ● Suporte a Banco de Dados (MySQL e PostgreSQL)

● Suporte ao encriptação SSL

Outros Servidores Web

●Microsoft● IIS (Internet Information Services)

●Nginx

●Entre outros (SUN, Google, etc...)

Razões para Usar o Apache

● O Apache, certamente é o Servidor Web mais utilizado atualmente no mundo inteiro. Existem diversos outros servidores WWW para UNIX, gratuitos ou comerciais, mas nenhum tem a base instalada do Apache, e certamente poucos têm sua flexibilidade, desempenho e segurança. Ele é gratuito e está presente em quase todas as distribuições Linux. (Maziero, 2006)

● É um servidor Web modular, simples e de fácil manutenção.

● Está bem documentado em livros e sites da Web.

O Funcionamento do Apache

●A principal característica do Apache é a modularidade, assim o principal processo limita-se a entregar páginas html e outros tipos de arquivos para os clientes.

●Os módulos ficam responsável pelas outras tarefas. Exemplo: Interpretação de Códigos PHP.

Funcionamento do Apache

Cliente

Apache php5-mysqlmod_php

Interpretador PHP

Servidor Mysql

Apache no Debian e Derivados

● Aproveitando que modularidade do Apache também é extendida aos arquivos de configuração, o Debian e derivados implementam um divisão nestes arquivos.

●Motivos:● Facilitar a manutenção do Servidor Web● Melhorar o entendimento da configuração

Esquema configuração apache2

apache2/

/etc

sites-enabled/

mods-available/

mods-enabled/

conf.d/

apache2.conf

ports.confmods-enabled/

Esquema de Configuração Apache2

●ports.conf → configuração das portas TCP (padrões: http 80 e https 443)

●apache2.conf → configurações comuns do apache

●conf.d → configurações adicionais

●sites-available e sites-enabled → configurações dos sites hospedados no servidor

●mods-available e mods-enabled → configurações dos módulos disponíveis para o apache

Comandos do Apache

● Para ativar e desativar um site:● a2ensite [nome] → ativa ● a2dissite [nome] → desativa

●Para ativar e desativar módulos:● a2enmod [nome]● a2dismod [nome]

●Recarregar o apache● /etc/init.d/apache2 force-reload● /etc/init.d/apache2 reload

Configuração de VirtualHosts

● /etc/apache2/sites-available/serv2012

<VirtualHost *:80>ServerAdmin [email protected] www.serv2012.com.brServerAlias serv2012.com.br www.serv2012.com.brDocumentRoot /var/www/serv2012

</VirtualHost>

Configuração de VirtualHosts

●Alterar as linhas em /etc/apache2/sites-available/default

de: NameVirtualHost * <VirtualHost *>

para: NameVirtualHost *:80 <VirtualHost *:80>

Instalando Suporte a PHP5 e MySQL

●Instalar os seguintes pacotes:

php5 php5-mysql libapache2-mod-php5

Caso o Banco de Dados desejado seja PostgreSQL

php5-pgsql

Testando o acesso ao PHP

● Criar um arquivo em /var/www com o conteúdo:

<?php phpinfo(); ?>

Prática

● Para instalar o apache com suporte já com suporte a PHP5 e ao Banco de Dados MySQL no Ubuntu basta utilizar o comando:

sudo apt-get install lamp-server^