linux servidor de redes web prof. roberto amaral
TRANSCRIPT
Linux Servidor de Redes WEB
Prof. Roberto Amaral
Linux - Servidor de Redes
Servidor Web Apache
Prof. Roberto Amaral
WWW – Breve histórico
Início 1989 – CERN (Centro Europeu de Pesquisas Nucleares) precisava de um meio de viabilizar o trabalho cooperativo por cientistas espalhados por diversos países, através da troca de documentos.
1991 – primeira versão da Web, baseada em texto.
1993 – NCSA - browser gráfico Mosaic
1994 – Netscape
1994 – CERN e M.I.T fundam o W3C (w3.org)
Plataforma Web Baseada em HTTP (RFC 2068)
• Protocolo simples de transferência de arquivos
• Sem estado (não mantém sessão aberta) Funcionamento (simplificado)
HTTP - O Servidor Web
Idéia básica: distribuição de conteúdo estático (tipicamente
páginas escritas em HTML).
Evolução: distribuição de conteúdo gerado dinamicamente,
em resposta a dados fornecidos pelo usuário (por exemplo
através da consulta a um banco de dados corporativo).
CGI – Common Gateway Interface: a forma mais antiga de
prover conteúdo dinâmico.
HTTP - O Servidor Web
Common Gateway Interface
HTTP
HTTP - HyperText Transmission Protocol – é o protocolo usado na comunicação entre o servidor Web e o Browser.
HTTP constitui a base sobre a qual o servidor Web realiza suas operações.
A idéia inicial era a de que o HTTP deveria ser um protocolo bem simples.
Mesmo após várias modificações e melhorias, a idéia básica do HTTP continua sendo a mesma – simples.
HTTP
Uma conexão HTTP é feita como comandos Telnet, que por sua vez são formados por mensagens texto trocadas através de uma conexão TCP.
Um exemplo:%> telnet gerds.utp.br 80
%> GET /index.html HTTP/1.0
(a porta 80 é a padrão para conexão com o servidor web)
HTTP• a resposta do servidor também é na forma texto:
...
<HTML>
<HEAD>
<TITLE> ....</TITLE>
...
</HEAD>
</HTML>
HTTP
Todo site na Web deve manter um processo servidor que
fica aceitando pedidos de conexão na porta TCP 80.
Uma vez estabelecida a conexão, o cliente envia um pedido
e o servidor envia a resposta correspondente.
Tendo atendido o pedido, a conexão é encerrada.
O protocolo HTTP define o conjunto de pedidos possíveis e
as respostas correspondentes.
O modelo da operação da Web
Requisição de Conexão
Cliente e servidor HTTP Servidor HTTP
• Gerencia um sistema virtual de arquivos e diretórios
• Mapeia pastas do sistema de arquivos local (ex.: c:\htdocs) a diretórios
virtuais (ex: /) acessíveis remotamente
Papel do servidor HTTP
• Interpretar requisições HTTP do cliente (métodos GET, POST, ...)
• Devolver resposta HTTP à saída padrão (código de resposta 200, 404,
etc., cabeçalho e dados)
Papel do cliente HTTP
• Enviar requisições HTTP (GET, POST, ...) a um servidor.
• Processar respostas HTTP recebidas (interpretar cabeçalhos, identificar
tipo de dados, interpretar dados)
Serviços de Informações: Tecnologias de Apresentação
HTML 4.0 (HyperText Markup Language)
• Coleção de marcadores (SGML) usados para formatar texto:
• Nada diz sobre a aparência (browser é quem decide). Define
apenas estrutura e conteúdo.
CSS 2.0 (Cascading Style Sheets)
• Lista de regras de apresentação para uma página ou todo um site
(linguagem declarativa)
• Depende da estrutura do HTML.
Em 95 a NCSA criou seu WEB Server
A patches (Apatchy)
60% do servidores mundiais
Apatchy ou Apache ?
Vantagens
Suporte a HTTP para criação de hosts virtuais
Suporte SSL
Cuporte CGI, Perl e PHP
Suporte a autenticação baseado em HTTP
Suoporte a Server Side Includes (SSI)
Suporte a Servlets Java
Logs Customizáveis
Configuração rápida e simples
Instalação
Download: http://www.apache.org/dist
Debian – Ubuntu
• sudo apt-get install apache2 mysql-server-4.1 php5 php5-mysql
Apartir do código fonte
• wget www.apache.org/dist/httpd/httpd-2.2.3.tar.gz
• tar –xzvf apache-2.2.3.tar.gz
• ./configure
• Make
• Make install
Verificando a instalação
ouou
Arquivos de Configuração
Diretório de configuração
• /etc/apache ou /usr/local/apache/conf
Apache 1.3.x
• httpd.conf, srm.conf e access.conf
Apache 2
• httpd.conf, ports.conf e apache2.conf
httpd.conf ou apache.conf - Básico
Porta padrão para respostasPorta padrão para respostas
httpd.conf ou apache.conf - Básico
Onde ficará o Doc. PrincipalOnde ficará o Doc. Principal
Ou seja o index.*Ou seja o index.*
httpd.conf ou apache.conf - Básico
O Apache envia e-mail em caso de O Apache envia e-mail em caso de
problemas, se tiver servidor SMTPproblemas, se tiver servidor SMTP
httpd.conf ou apache.conf
Diretório está o log dos erros Diretório está o log dos erros
do Apachedo Apache
httpd.conf ou apache.conf
Diretório está o log de acesso Diretório está o log de acesso
do Apachedo Apache
httpd.conf ou apache.conf
ouou
Servidor Virtual
Com o recurso de servidores virtuais, um
servidor Apache pode hospedar vários
endereços de diversos clienes, utilizando
endereços IP virtuais ou NDS.
Sites Dinâmicos
Para linguagens dinâmicas o Apache usa PHP
Desenvolvido por Rasmus Lerdforf em 94
Roda em Unix e Win32
Versão mais recente é PHP 5.0.4
www.php.net
instalação• sudo apt-get install apache2 mysql-server-4.1 php5 php5-mysql
• # tar –xzf php-5.0.4.tar.gz
Sites Dinâmicos
Usando código de origem Wget http://www.php.net/get/php-4.4.4.tar.gz/from/br.php.net/mirror
cd php 4.4.4
./configure
make
make install
Sites Dinâmicos
Testando PHP
<?php phpinfo(); ?>
Apache – PHP – MySQL
Apache
HTML Linguagem estática
PHP Linguagem Dinâmica
MySQL Banco de Dados
Apache – PHP – MySQL
Instalação
• Tar –xzf mysql-3.22.36.tar.gz
• ./configure; make; make install
• Cria banco do sistema e possibilita a execução
Apache – PHP – MySQL
#mysqladmin –u gerds aluno
• Cria o usuário gerds com a senha aluno para
administração do banco de dados
#mysql –p
• Ativa o monitor do administrador do MSQL
Create database gerds-banco
CREATE TABLE gerds-tabela
Use gerds-banco
Show fields from gerds-tabela