SERVIDORES HTTP Profa Regiane E. Fantinati. Servidores WWW Conceito de Servidor WWW Disponibilizador...

Post on 18-Apr-2015

108 views 3 download

Transcript of SERVIDORES HTTP Profa Regiane E. Fantinati. Servidores WWW Conceito de Servidor WWW Disponibilizador...

SERVIDORES HTTP

Profa Regiane E. Fantinati

Servidores WWW

Conceito de Servidor WWW Disponibilizador de informação numa rede Permite acesso simplificado através de cliente

unificado e simples (browser WWW) Computadores Consolas de jogo (DreamCast, PS2, etc) PDA’s Aparelhos (frigoríficos, etc) Computadores de bordo (automóveis, etc)

Servidores WWW Conceito de Servidor WWW

O servidor WWW funciona como interface entre aplicações e o utilizador Esconde as aplicações do utilizador Ajuda a focar o utilizador nos serviços Permite construir novas aplicações através da

interligação de aplicações existentes São necessários mecanismos de programação

no servidor WWW CGI – execução de programas externos Embebidos – linguagens internas ao servidor WWW

Servidores HTTP

Servidor HTTP Apache Aplicação open source (

http://www.apache.org) Servidor HTTP MS IIS

Aplicação proprietária Outros servidores HTTP

Xitami, Zeus, OmniHTTPd, etc

Servidores HTTP

Detalhes sobre servidores HTTP em uso Percentagem de Mercado

Segundo a netcraft, sites sob Apache representam cerca de dois terços dos sites publicados na web.

Servidor Apache

Características Código mantido por uma comunidade

aberta Elevada confiabilidade Excelente desempenho Grande flexibilidade de configuração e uso Suporte de várias plataformas Estruturado em módulos Administração através de linha de

comandos

Servidor MS-IIS

Características Código proprietário Razoável fiabilidade (dependente do SO) Bom desempenho Suporte de plataforma Windows Administração e depuração através de

interface gráfica;

Outros Servidores Características e Funcionalidades

Xitami Simples, bom desempenho em Windows,

UNIX, OS/2 e VMS Suporta HTTP 1.0 e CGI (LRWP)

OmniHTTPd Compacto e para Windows Suporta HTTP 1.0 e CGI

Zeus Comercial mas muito sofisticado Suporta tudo (HTTP 1.1, SQL, etc)

iPlanet (Sun) Bastante conhecido e sofisticado

SERVIDOR HTTP - APACHE

LAMP - LINUX + APACHE + MYSQL + PHP

O Apache é um servidor web seguro e com inúmeros módulos , que adicionam suporte a um grande número de recursos;

A maioria das páginas atuais utiliza uma estrutura em PHP, freqüentemente com um banco de dados MySL.

Apache

A principal característica do Apache é a modularidade. Ao invés de ser um aplicativo grande e complexo, que tenta desempenhar sozinho todas as funções o apache se limita a executar uma única tarefa: entregar páginas html e outros tipos de arquivos aos clientes. Qualquer outra coisa é invariavelmente feita por um módulo externo.

Por exemplo, quando você acessa uma página em PHP em um site que roda sobre um servidor Apache ...

Apache

O Apache lê o arquivo no disco e repassa a requisição para o modphp, o módulo encarregado de processar arquivos PHP.

Ele por sua vez, aciona o interpretador PHP, que processa a página e a entrega, já processada ao apache, que finalmente a entrega ao cliente. Caso seja necessário acessar um banco de dados, entra em ação outro módulo, como o php4-mysql, que permite que o interpretador PHP acesse o banco de dados

Apache modularidade

Cliente

Apache

modphp

Interpretador PHP

Php4-mysql

ServidorMySQL

Apache No apache2, a arquitetura modular é

extendida também aos arquivos de configuração que estão organizados dentro do diretório /etc/apache2.

/etc

Apache2/Sites-avaible/

Sites-enabled/

Mods-avaible/

Mods-enabled/Conf.d/Apache2.conf

Ports.conf

ApacheArquivos de configuração

sites-available/ e sites-enabled/ contém as configurações dos sites hospedados;

mods-available/ mods-enabled/ armazenam as configurações dos módulos;

o arquivo ports.conf, onde vai a configuração das portas TCP que o servidor vai escutar;

apache2.conf armazena configurações diversas relacionadas ao funcionamento do servidor;

conf.d/ armazena arquivos com configurações adicionais;

Apache

Como funciona? O apache é capaz de hospedar simultaneamente

vários sites, cada um representado por um arquivo de configuração diferente. Imagine o caso de uma empresa de hosting que mantém um servidor com 2.000 pequenos sites.

Quando cada cliente registra seu site e assina o plano de hospedagem, você cria um novo arquivo dentro da pasta sites-available com as configurações necessárias e um link para ele na pasta sites-enabled.

Apache

A primeira pasta armazena a configuração de todos os sites hospedados no servidor, mas apenas os sites que estiverem presentes na pasta sites-enabled ficam disponíveis. Quando é necessário suspender temporariamente um site por falta de pagamento, você simplesmente remove o link na pasta sites-enabled sem precisar mexer na configuração

Apache

Ao invés de criar e remover os links manualmente, você pode usar os comandos a2ensite e a2dissite, que fazem isso p você. Para ativar e desativar um site configurado no arquivo /etc/apache2/sites-available/nomearquivo, por exemplo, os comandos seriam:

#a2ensite nomearquivo (ativa) #a2dissite nomearquivo (desativa)

Apache

Quando o apache é instalado, é criado por padrão o arquivo /etc/apache2/sites-avaible/default.

Este arquivo contém a configuração de um site “raiz” que usa como diretório de páginas a pasta “/var/www”. Se o seu servidor web vai hospedar um único site, então essa configuração é suficiente. Mas, caso você queira hospedar vários sites no mesmo servidor, é necessário criar uma pasta e um arquivo de configuração para cada site adicional.

Apache

Seu servidor pode, por exemplo, hospedar o “joão.com.br”e o maria.com.br.

Na configuração do Apache, criamos os arquivos: “/etc/apache2/sites-avaible/joao” e “/etc/apache2/sites-avaible/maria”, um utilizando a pasta “var/www/joao”e “/var/www/maria”.

Apache

Quando um visitante digita http://joao.com.br, o servidor da FAPESP (que corresponde pelo domínio .br) vai passar a requisição para o seu servidor DNS, que responde enviando o arquivo “/var/www/joão/index.html” ou index.php” ao cliente.

A pasta “mods-avaible” contém a configuração e scripts de inicialização para todos os módulos disponíveis, mas apenas os módulos referenciados (através de um link)na pasta “mods-enabled” são realmente carregados.

Apache

A mesma idéia das duas pastas separadas se aplica aos módulos. Se houver necessidade de deletar basta usar os comandos: “a2enmod” e “a2dismod”, que ativam e desativam módulos especifico: Para desativar o suporte a PHP, você usaria o comando:

# a2dismod php4 Para ativa-lo novamente, usaria: # a2enmod php4 Uma vez que um determinado modulo é ativado,

ele fica automaticamente disponível para todos os sites hospedados no servidor.

Apache

Sempre que mexer na configuração dos módulos ou sites, é sempre necessário recarregar a configuração, para que a alteração entre em vigor.

# /etc/init.d/apache2 force-reload Este comando proporciona o mesmo

efeito se simplesmente reiniciar o apache.

Apache ports.conf

Originalmente esse arquivo vem com uma única linha:

# Listen 80 É aqui que você altera a porta padrão do

seu servidor ou adiciona novas portas.. Para fazer com que o seu servidor escute

também a porta 8080, vc adicionaria uma nova linha, como em:

Listen80 Listen8080

Apache apache2.conf

O Arquivo apache2.conf agrupa o resto das configurações. É ele que você vai alterar quando, por exemplo, ajustar o numero de processos usados pelo apache ou aumentar o numero de conexões simultâneas permitidas pelo servidor.

ApacheInstalando o Apache

No Debian, os comandos: Apt-get install apache2 - instala o apache2 Apt-get install apache2-utils - instala

utilitários de gerenciamento Apt-get apache-doc – Instala a documentação Acessando o endereço http://127.0.0.1 ou

digitando localhost no no browser, vc terá uma página de boas vindas, que indica que o servidor está funcionando. Se não houver nenhum firewall no caminho, ele já estará acessível a partir de outros micros da rede local ou da internet.

Referências Bibliográficas

MOTA, F. J. E. Linux e seus servidores. Rio de Janeiro: Ciência Moderna, 2000.