linux servidor de redes web prof. roberto amaral

Post on 17-Apr-2015

121 Views

Category:

Documents

7 Downloads

Preview:

Click to see full reader

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

top related