CET [email protected] •1 Julho 2011 António Paulo Santos [email protected] •grsi.ESTGF.ipp.pt •05-11-2015 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) •grsi.ESTGF.ipp.pt •05-11-2015 •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 •grsi.ESTGF.ipp.pt •05-11-2015 •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 •grsi.ESTGF.ipp.pt •05-11-2015 •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 •grsi.ESTGF.ipp.pt •05-11-2015 •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 •grsi.ESTGF.ipp.pt •05-11-2015 •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 •grsi.ESTGF.ipp.pt •05-11-2015 •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 •grsi.ESTGF.ipp.pt •05-11-2015 •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) •grsi.ESTGF.ipp.pt •05-11-2015 •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 •grsi.ESTGF.ipp.pt •05-11-2015 •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 •grsi.ESTGF.ipp.pt •05-11-2015 •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) •grsi.ESTGF.ipp.pt •05-11-2015 •12 Baseados em endereços IP www.a.pt www.b.pt Baseados em nomes DNS 10.0.1.1 servidor www.a.pt 10.0.2.1 servidor www.b.pt cada domínio tem IP próprio servidor www.a.pt www.a.pt 10.0.1.1 www.b.pt servidor www.b.pt domínios apontam para o mesmo IP •grsi.ESTGF.ipp.pt •05-11-2015 •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) •grsi.ESTGF.ipp.pt •05-11-2015 •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 •grsi.ESTGF.ipp.pt •05-11-2015 •15 Definição de servidores virtuais › Ficheiro httpd.conf NameVirtualHost 192.168.0.100 <VirtualHost www.exemplo.pt> ServerAdmin [email protected] 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> •grsi.ESTGF.ipp.pt •05-11-2015 •16 Definição de servidores virtuais › Ficheiro httpd.conf <VirtualHost www.example.com> ServerAdmin [email protected] 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> ... •grsi.ESTGF.ipp.pt •05-11-2015 •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 •grsi.ESTGF.ipp.pt •05-11-2015 •18 FIM •grsi.ESTGF.ipp.pt •05-11-2015 •19