Você está na página 1de 26

CST Redes de Computadores

Disciplina:
Serviços de Rede

Professor:
Jéferson Mendonça de Limas

Aula 14 – Serviços Internet


(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ções
http://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

Apache mod_php php5-mysql

Cliente
Interpretador Servidor
PHP 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
conf.d/

/etc

mods-available/

apache2/
mods-enabled/

mods-enabled/
ports.conf

sites-enabled/
apache2.conf
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 suporte@serv2012.com.br
ServerName www.serv2012.com.br
ServerAlias serv2012.com.br www.serv2012.com.br
DocumentRoot /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^