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
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 [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
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/
Top Related