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
programação no servidor WWW
de
CGI – execução de programas externos
 Embebidos – linguagens internas ao servidor
WWW

Servidores HTTP



Servidor HTTP Apache
 Aplicação
open
(http://www.apache.org)
Servidor HTTP MS IIS
 Aplicação proprietária
Outros servidores HTTP
 Xitami, Zeus, OmniHTTPd, etc
source
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
interface gráfica;
de
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
modphp
Php4-mysql
Cliente
Apache
Interpretador
PHP
Servidor
MySQL
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
Sites-avaible/
Apache2/
Sites-enabled/
Ports.conf
Apache2.conf
Mods-avaible/
Conf.d/
Mods-enabled/
Apache
Arquivos 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/sitesavailable/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/sitesavaible/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.
Apache
Instalando 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.
Download

Servidores WWW