270 likes | 445 Views
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
E N D
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
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
Php4-mysql modphp Cliente Interpretador PHP Servidor MySQL Apache Apache modularidade
/etc Sites-avaible/ Apache2/ Sites-enabled/ Ports.conf Mods-avaible/ Apache2.conf Conf.d/ Mods-enabled/ Apache • No apache2, a arquitetura modular é extendida também aos arquivos de configuração que estão organizados dentro do diretório /etc/apache2.
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.
Apacheports.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.