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

Post on 18-Apr-2015

119 views 10 download

Transcript of José Francisco Teles zehh@zehh.com.br IV Seminários Integrados FANESE / 2008.

José Francisco Teleszehh@zehh.com.br

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

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

3

Fedora

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

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.

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.

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).

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.

8

Fedora – O Projeto

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

10

Fedora – Características

Logotipo

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)

12

Fedora – Instalação

13

Fedora – Instalação

14

Fedora – Instalação

15

Fedora – Instalação

16

Fedora – Instalação

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

??? Swap/ Restante do espaço ext3

17

Fedora – Instalação

18

Apache Web Server

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

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.(...)”

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.

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;

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.

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.

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

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)

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.

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.

28

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

Define o e-mail do administrador. Sintaxe: ServerAdmin webmaster@fanese.edu.br

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

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”

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

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

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

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

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>

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

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.

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

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

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/

40

FIM

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

José Francisco Teleszehh@zehh.com.br