CET GRSI@estgf.ipp.pt 1 Julho 2011 António Paulo Santos aps@estgf.ipp.pt grsi.estgf.ipp.pt 29-07-2011
Conceito de Servidor WWW Disponibilizador de informação numa rede Permite acesso simplificado através de cliente unificado e simples (browser WWW) Computadores Set top boxes Consolas de jogo (DreamCast, PS2, etc) PDA s Aparelhos (frigoríficos, etc) Computadores de bordo (automóveis, etc) 2
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 3
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 Uso de servidores HTTP Dados obtidos através de acessos ao servidor Compilação por tipo e características do servidor Geração de dados estatísticos mensais 4
Detalhes sobre servidores HTTP em uso Instalações de servidores HTTP O Apache e o MS-IIS continuam a crescer Os outros servidores perdem terreno As instalações Apache/Windows estão a crescer Apache MS-IIS 5
Detalhes sobre servidores HTTP em uso Percentagem de Mercado O Apache continua com cerca de 56% O MS-IIS estabilizou nos 28% O iplanet (Sun) continua a perder Apache MS-IIS 6
Características Código mantido por uma comunidade aberta Elevada fiabilidade Excelente desempenho Grande flexibilidade de configuração e uso Suporte de várias plataformas Suporte do protocolo HTTP 1.1 Estruturado em módulos Administração através de linha de comandos 7
Funcionalidades Linguagens internas suportadas Perl / PHP / ASP (em curso) / Python... CGI Todo o tipo de linguagens suportadas pelo SO Bases de dados Todas através de SQL / ODBC Controlo de acesso e encriptação Ficheiros password, NIS, LDAP, certificados e SSL Manipulação flexível de URL s 8
Características Código proprietário Disponível em 2 versões MS-IIS 4 / MS-IIS 5 (Windows 2000 Server) Razoável fiabilidade (dependente do SO) Bom desempenho Suporte de plataforma Windows Suporte do protocolo HTTP 1.1 Extensível através de DLL s Administração e depuração através de interface gráfica (MMC) 9
Funcionalidades Linguagens internas suportadas ASP / ActiveX... CGI PHP / Perl / linguagens suportadas pelo SO Bases de dados Através de SQL / ODBC Controlo de acesso e encriptação SMB, LDAP, certificados e SSL Uso de ISAPI DLL s para manipular URL s 10
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 11
Simulação de servidores HTTP Um só servidor HTTP representa diversos servidores HTTP em domínios distintos Baseado em endereços IP 1 IP por cada servidor pretendido 1 servidor responde a todos os pedidos 1 configuração de servidor por domínio Baseado em domínios DNS 1 só endereço IP Domínios DNS apontam para esse IP 1 configuração de servidor por domínio Exige browsers modernos (NS>3.0, IE>3.0, etc) 12
Baseados em endereços IP www.a.pt 10.0.1.1 servidor www.a.pt www.b.pt 10.0.2.1 servidor www.b.pt Baseados em nomes DNS cada domínio tem IP próprio www.a.pt www.b.pt 10.0.1.1 domínios apontam para o mesmo IP servidor www.a.pt servidor www.b.pt 13
Instalação de um servidor HTTP Servidor Apache PC 486/16 MB RAM (mínimo) PC P5-200/64 MB RAM (normal) Linux 2.0/2.2/2.4, qualquer Windows Servidor MS-IIS PC P5-200/64 MB RAM (mínimo) PC P6-500/128 MB RAM (normal) Windows 95/98 (PWS MS-IIS aligeirado) Windows NT 4 (MS-IIS 4.0) Windows 2000/XP (MS-IIS 5.0) 14
Configuração centralizada Ficheiro httpd.conf divide-se em secções Directório raiz de documentos Directórios de CGI Redirecção de URL s Reescrita de URL s Aliases de directórios do SO para o servidor Directórios de utilizadores Permissões diversas Execução de programas (CGI, PHP, etc) Controlo de erros Definição de servidores virtuais 15
Definição de servidores virtuais Ficheiro httpd.conf NameVirtualHost 192.168.0.100 <VirtualHost www.exemplo.pt> ServerAdmin root@exemplo.pt ServerName www.exemplo.pt ServerAlias exemplo.pt *.exemplo.pt DocumentRoot /usr/local/apache/www/exemplo ScriptAlias /cgi-bin/ "/usr/local/apache/cgi/exemplo/cgi-bin/" Alias /stats "/usr/local/apache/www/stats/www/exemplo/" Redirect /email "http://www.exemplo.pt/cgi-bin/checkmail" ErrorLog logs/exemplo-error_log CustomLog logs/exemplo-access_log combined </VirtualHost> 16
Definição de servidores virtuais Ficheiro httpd.conf <VirtualHost www.example.com> ServerAdmin root@example.com ServerName www.example.com ServerAlias example.com *.example.com DocumentRoot /usr/local/apache/www/example.com ScriptAlias /cgi-bin/ "/usr/local/apache/cgi/example.com/cgi-bin/" Alias /stats "/usr/local/apache/www/stats/www/example.com/" Redirect /email "http://www.example.com/cgi-bin/checkmail" ErrorLog logs/example.com-error_log CustomLog logs/example.com-access_log combined </VirtualHost>... 17
Aplicações de suporte ao Apache System-config-http interface gráfica de configuração do servidor Apache phpmyadmin interface WWW de configuração de bases de dados SQL asp2php aplicação de tradução de programas ASP em PHP webalizer gerador de estatísticas de acesso a um servidor WWW (Apache, etc) MRTG outro gerador de estatísticas 18
FIM 19