José Francisco Teles [email protected] IV Seminários Integrados FANESE / 2008.

40
José Francisco Teles [email protected] Instalação e Configuração de um Servidor de Aplicação Web em Ambiente Linux IV Seminários Integrados FANESE / 2008

Transcript of José Francisco Teles [email protected] IV Seminários Integrados FANESE / 2008.

Page 1: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

José Francisco [email protected]

Instalação e Configuração de um Servidor de Aplicação Web em Ambiente Linux

IV Seminários Integrados FANESE / 2008

Page 2: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

2

Tecnologias Utilizadas

• Fedora – http://fedoraproject.com • Apache Web Server – http://httpd.apache.org • PHP5 - http://www.php.net • MySQL - http://www.mysql.com

Page 3: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

3

Fedora

O que é? O Projeto Características Instalação

Page 4: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

4

Fedora – O que é?

Um tipo de chapéu (???) É uma distribuição. É um sistema operacional. É baseada em pacotes RPM. É um software livre. É um projeto. É sinônimo da palavra LINUX.

Page 5: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

5

Fedora – O que é?

Robusto e seguro. Ciclo de releases rápido (a cada 6~9 meses) Base de inúmeras distribuições. Suporta as arquiteturas x86, x86_64 e PPC. Bugs e soluções são reportadas rapidamente

aos usuários. Atualização fácil pelo yum.

Page 6: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

6

Fedora – O que é?

Possui uma grande comunidade de suporte e pacotes constantemente atualizados.

O sistema pode ser facilmente administrado com os utilitários gráficos de configuração do sistema.

Fácil e rápida instalação do sistema através do Anaconda (modo gráfico).

Page 7: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

7

Fedora – O Projeto

As versões de teste tiveram início em 2003. É desenvolvido por uma imensa comunidade

internacional. É um Sistema Operacional de propósito geral. É um sistema gratuito para ser usado, modificado

e distribuído por qualquer pessoa. Utiliza tecnologia de ponta. Traduzido e documentado para inúmeros idiomas.

Page 8: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

8

Fedora – O Projeto

Page 9: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

9

Fedora – Características

Fedora 10 Lançamento: 25 de novembro de 2008 Versão do Kernel: 2.6.27.5 Versão do Gnome: 2.24 Versão do KDE: 4.1.2 Python 2.5.2 Codinome: Cambridge

Page 10: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

10

Fedora – Características

Logotipo

Page 11: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

11

Fedora – Instalação

Obtendo o Fedora http://fedoraproject.org Vendedores on-line Programa de mídia gratuita

Tipos de Mídias Mídia de Instalação – 3,4 GB (i386, x86_64, PPC) Mídia Live – 680 MB (i386, x86_64)

Page 12: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

12

Fedora – Instalação

Page 13: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

13

Fedora – Instalação

Page 14: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

14

Fedora – Instalação

Page 15: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

15

Fedora – Instalação

Page 16: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

16

Fedora – Instalação

Esquema de ParticionamentoPonto de Montagem Tamanho Tipo/boot 100 MB ext3

??? Swap/ Restante do espaço ext3

Page 17: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

17

Fedora – Instalação

Page 18: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

18

Apache Web Server

O que é? Instalação e Configuração Iniciando o Apache Testando o Apache

Page 19: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

19

Apache

Definição do Apache no Wikipédia:“O servidor Apache (ou Servidor HTTP Apache, em inglês: Apache HTTP Server, ou simplesmente: Apache) é o mais bem sucedido servidor web livre.(...)”

Page 20: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

20

Apache

Um Servidor Web tem a função de troca e apresentação de informações. O Apache é um software livre que implementa estas funcionalidades.

Implementa apenas o Servidor HTTP.

Page 21: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

21

Apache - História Em 1990, Rob McCool da NCSA (National Center for

Supercomputing Applications) situado em uma universidade americana, desenvolveu um software de servidor Web básico para ser usado na plataforma UNIX;

Depois disso alguns desenvolvedores se juntaram e aproveitaram o código deste software para adicionar mais algumas funcionalidades, deixando de lado a adoção de um padrão, o que acabou fazendo com que o projeto fosse abandonado;

Após este abandono, um grupo de desenvolvedores se juntou e organizaram suas correções e extensões, chamando o software de “patchy” (consertado). Em pouco tempo seu nome foi mudado para Apache;

Page 22: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

22

Apache - História

Em 1995, a primeira versão oficial do Apache foi lançada e, em 1996, já tinha se tornado o servidor Web mais popular da internet;

O Projeto Apache é formado por webmasters de todo o planeta.

Page 23: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

23

Apache

É disponibilizado em versões para os sistemas Windows, Novell Netware, OS/2 e diversos outros do padrão POSIX (Unix, Linux, FreeBSD, etc).

A versão atual do Apache é 2.2.10. É capaz de executar códigos em PHP, Perl,

Shell Script e até em ASP.

Page 24: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

24

Apache – Instalação e Configuração

Requisitos Qual o hardware ideal? Qual a plataforma ideal? Requisitos do Sistema Operacional

TCP/IP IP Manual Ajustes no firewall

Page 25: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

25

Apache – Instalação e Configuração

Obtendo o Apache Web Server http://httpd.apache.org Linha de Comando:

Yum: yum install httpd (Fedora/Centos) Apt: apt-get install apache2 apache2-utils

(Debian/Ubuntu) Modo Gráfico:

Synaptic (Debian e outros) - por Alfredo Kojima

Yum Extender (Fedora)

Page 26: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

26

Apache – Instalação e Configuração

Configurando o Apache Arquivo de configuração:

/etc/httpd/conf/httpd.conf O arquivo já vem configurado na instalação,

são necessários somente alguns ajustes.

Page 27: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

27

Apache – Instalação e Configuração

Configurando o Apache Básica

Porta, nome do servidor e diretório padrão. Otimização

Desempenho do Apache. Histórico

Controle de Acesso (logs). Segurança

Usuário e dono dos processos. Avançada

Domínios virtuais, aliases, configuração avançada de diretórios.

Page 28: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

28

Apache – Instalação e ConfiguraçãoConfiguração Básica do Apache ServerAdmin

Define o e-mail do administrador. Sintaxe: ServerAdmin [email protected]

ServerName Nome do servidor web. Sintaxe: ServerName www.fanese.edu.br

DocumentRoot Define o diretório para armazenamento das páginas. Sintaxe: DocumentRoot “/var/www/html”

Port Define a porta padrão que o servidor web deve escutar. Embora o padrão seja 80, pode ser atribuído qualquer valor. Sintaxe: Port 80

Page 29: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

29

Apache – Instalação e ConfiguraçãoConfiguração Básica do Apache Listen

Define as interfaces e as respectivas portas que o servidor irá responder as requisições quando existir mais de uma interface de rede na máquina

Sintaxe: Listen IP:PORTAListen 192.168.0.250Listen 192.168.0.250:80Listen 10.0.0.250:443

DirectoryIndex Define o nome do arquivo padrão para a página inicial. Sintaxe: DirectoryIndex index.php

UseCanonicalName Força o navegador a usar o nome indicado pela diretiva ServerName. Sintaxe: UseCanonicalName “on”

Page 30: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

30

Apache – Instalação e Configuração

Configuração de Otimização do Apache ServerType – ServerType standalone Timeout – Timeout 300 MaxClients – MaxClients 200 MaxRequestsPerChild – MaxRequestsPerChild 0

Page 31: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

31

Apache – Instalação e Configuração

Histórico do Apache Utilizado para análise de acessos, detecção de erros na

configuração, estatísticas, manutenção, etc. ServerRoot

Define o diretório onde estão armazenados os arquivos de configuração do Apache.

Sintaxe: ServerRoot /etc/httpd CustomLog

Define o nome do arquivo de log e qual é o formato dos logs.Sintaxe: CustomLog access_log common

ErrorLog Define o nome do arquivo de log de erros Sintaxe: ErrorLog error_log

Page 32: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

32

Apache – Instalação e Configuração

Configurações Avançadas do Apache Userdir

Permite que cada usuário tenha sua própria página web. Define o diretório onde cada usuário deve colocar os arquivos de sua

página. O diretório deve ser criado dentro da pasta do usuário (/home/user/*) O diretório home deve ter permissão 711 (O dono possui permissão para ler,

escrever e executar o arquivo; o grupo e outros podem apenas executar o arquivo).

O diretório das páginas deve ter permissão 755 (O dono possui permissão para ler, escrever e executar o arquivo; o grupo e outros podem ler e executar o arquivo).

Sintaxe: UserDir /home/*/public_html

Page 33: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

33

Apache – Instalação e Configuração

Configurações Avançadas do Apache Alias

Define apelidos para diretórios diferentes do diretório padrão. O diretório deve ter permissão 755. Sintaxe: Alias /posgraduacao /posgraduacao/www

Page 34: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

34

Apache – Instalação e Configuração

Configurações Avançadas do Apache Directory

Define opções de segurança de um diretório. Exemplo de Sintaxe: Alias /posgraduacao /posgraduacao/www <Directory /posgraduacao/www>

order deny, allowdeny from allallow from localhostOptions Indexes FollowSymLinks

</Directory>

Page 35: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

35

Apache – Instalação e Configuração

Configurações Avançadas do Apache All

Permite o uso de todas as opções de servidor ExecCGI

Permite a execução de scripts CGI neste diretório FollowSymLinks

Permite o uso de links simbólicos Indexes

Permite uma listagem gerada pelo servidor se index.php não for encotrado MultiViews

Permite negociar a linguagem do documento None

Não permite qualquer opção do diretório

Page 36: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

36

PHP Obtendo/instalando o PHP

http://www.php.net Yum: yum install php Apt: apt-get install php5-cgi php5-cli

Verificando se os módulos do php estão ativos cat /etc/httpd/conf.d/php.conf

Testando o PHP Vamos criar uma página no diretório padrão do Apache:

vim /var/www/html/index.php

Preencher o arquivo com o seguinte conteúdo:<?php phpinfo(); ?>

Acessar a página pelo navegador.

Page 37: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

37

MySQL Server Obtendo/instalando o MySQL Server

http://www.mysql.com Yum: # yum install mysql mysql-devel mysql-server Apt: # apt-get install php5-cgi php5-cli

Instalar base de dados padrão # mysql_install_db

Alterando a senha padrão # mysqladmin –u root password sua-senha # mysqladmin –u root –h localhost password sua-senha # mysql –u root –p

Page 38: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

38

Outras Configurações Configurar firewall para permitir conexões às portas dos

serviços (HTTP, FTP, MySQL) # iptables -A INPUT -p tcp --dport 80 -j ACCEPT # iptables -A INPUT -p tcp --dport 21 -j ACCEPT # iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

Ajustando configurações do SELINUX # /etc/sysconfig/selinux

Removendo permissão de login de usuário comum via ssh # usermod –s /bin/false usuario

Carregando os serviços na inicialização do sistema # ntsysv

Page 39: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

39

Documentação

Para maiores informações consulte a documentação do software. Fedora: http://fedoraproject.org/wiki/Pt_BR/Docs Apache Web Server: http://httpd.apache.org/docs/ PHP: http://www.php.net/manual/pt_BR/ MySQL: http://dev.mysql.com/doc/

Page 40: José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

40

FIM

Este slide está disponível em:http://www.zehh.com.br/slides

José Francisco [email protected]