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

Preview:

Citation preview

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.

Recommended