linux servidor de redes web prof. roberto amaral

33
Linux Servidor de Redes WEB Prof. Roberto Amaral

Upload: internet

Post on 17-Apr-2015

120 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Linux Servidor de Redes WEB Prof. Roberto Amaral

Linux Servidor de Redes WEB

Prof. Roberto Amaral

Page 2: Linux Servidor de Redes WEB Prof. Roberto Amaral

Linux - Servidor de Redes

Servidor Web Apache

Prof. Roberto Amaral

Page 3: Linux Servidor de Redes WEB 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)

Page 4: Linux Servidor de Redes WEB Prof. Roberto Amaral

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)

Page 5: Linux Servidor de Redes WEB Prof. Roberto Amaral

HTTP - O Servidor Web

Page 6: Linux Servidor de Redes WEB Prof. Roberto Amaral

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

Page 7: Linux Servidor de Redes WEB Prof. Roberto Amaral

Common Gateway Interface

Page 8: Linux Servidor de Redes WEB Prof. Roberto Amaral

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.

Page 9: Linux Servidor de Redes WEB Prof. Roberto Amaral

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)

Page 10: Linux Servidor de Redes WEB Prof. Roberto Amaral

HTTP• a resposta do servidor também é na forma texto:

...

<HTML>

<HEAD>

<TITLE> ....</TITLE>

...

</HEAD>

</HTML>

Page 11: Linux Servidor de Redes WEB Prof. Roberto Amaral

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.

Page 12: Linux Servidor de Redes WEB Prof. Roberto Amaral

O modelo da operação da Web

Page 13: Linux Servidor de Redes WEB Prof. Roberto Amaral

Requisição de Conexão

Page 14: Linux Servidor de Redes WEB Prof. Roberto Amaral

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)

Page 15: Linux Servidor de Redes WEB Prof. Roberto Amaral

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.

Page 16: Linux Servidor de Redes WEB Prof. Roberto Amaral

Em 95 a NCSA criou seu WEB Server

A patches (Apatchy)

60% do servidores mundiais

Apatchy ou Apache ?

Page 17: Linux Servidor de Redes WEB Prof. Roberto Amaral

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

Page 18: Linux Servidor de Redes WEB Prof. Roberto Amaral

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

Page 19: Linux Servidor de Redes WEB Prof. Roberto Amaral

Verificando a instalação

ouou

Page 20: Linux Servidor de Redes WEB Prof. Roberto Amaral

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

Page 21: Linux Servidor de Redes WEB Prof. Roberto Amaral

httpd.conf ou apache.conf - Básico

Porta padrão para respostasPorta padrão para respostas

Page 22: Linux Servidor de Redes WEB Prof. Roberto Amaral

httpd.conf ou apache.conf - Básico

Onde ficará o Doc. PrincipalOnde ficará o Doc. Principal

Ou seja o index.*Ou seja o index.*

Page 23: Linux Servidor de Redes WEB Prof. Roberto Amaral

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

Page 24: Linux Servidor de Redes WEB Prof. Roberto Amaral

httpd.conf ou apache.conf

Diretório está o log dos erros Diretório está o log dos erros

do Apachedo Apache

Page 25: Linux Servidor de Redes WEB Prof. Roberto Amaral

httpd.conf ou apache.conf

Diretório está o log de acesso Diretório está o log de acesso

do Apachedo Apache

Page 26: Linux Servidor de Redes WEB Prof. Roberto Amaral

httpd.conf ou apache.conf

ouou

Page 27: Linux Servidor de Redes WEB Prof. Roberto Amaral

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.

Page 28: Linux Servidor de Redes WEB Prof. Roberto Amaral

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

Page 29: Linux Servidor de Redes WEB Prof. Roberto Amaral

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

Page 30: Linux Servidor de Redes WEB Prof. Roberto Amaral

Sites Dinâmicos

Testando PHP

<?php phpinfo(); ?>

Page 31: Linux Servidor de Redes WEB Prof. Roberto Amaral

Apache – PHP – MySQL

Apache

HTML Linguagem estática

PHP Linguagem Dinâmica

MySQL Banco de Dados

Page 32: Linux Servidor de Redes WEB Prof. Roberto Amaral

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

Page 33: Linux Servidor de Redes WEB Prof. Roberto Amaral

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