400 likes | 513 Views
José Francisco Teles zehh@zehh.com.br. Instalação e Configuração de um Servidor de Aplicação Web em Ambiente Linux. IV Seminários Integrados FANESE / 2008. Tecnologias Utilizadas. Fedora – http://fedoraproject.com Apache Web Server – http://httpd.apache.org
E N D
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
Tecnologias Utilizadas • Fedora – http://fedoraproject.com • Apache Web Server – http://httpd.apache.org • PHP5 - http://www.php.net • MySQL - http://www.mysql.com
Fedora • O que é? • O Projeto • Características • Instalação
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.
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.
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).
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.
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
Fedora – Características Logotipo
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)
Fedora – Instalação Esquema de Particionamento
Apache Web Server • O que é? • Instalação e Configuração • Iniciando o Apache • Testando o Apache
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.(...)”
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.
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;
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.
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.
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
Apache – Instalação e Configuração Obtendo o Apache Web Server • http://httpd.apache.org • Linha de Comando: • Yum: yuminstallhttpd(Fedora/Centos) • Apt: apt-getinstall apache2 apache2-utils(Debian/Ubuntu) • Modo Gráfico: • Synaptic (Debian e outros) - por Alfredo Kojima • YumExtender (Fedora)
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.
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.
Apache – Instalação e Configuração Configuraçã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
Apache – Instalação e Configuração Configuraçã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:PORTA Listen 192.168.0.250 Listen 192.168.0.250:80 Listen 10.0.0.250:443 • DirectoryIndex • Define o nome do arquivo padrão para a página inicial. • Sintaxe: DirectoryIndexindex.php • UseCanonicalName • Força o navegador a usar o nome indicado pela diretiva ServerName. • Sintaxe: UseCanonicalName“on”
Apache – Instalação e Configuração Configuração de Otimização do Apache • ServerType – ServerTypestandalone • Timeout – Timeout 300 • MaxClients – MaxClients 200 • MaxRequestsPerChild – MaxRequestsPerChild 0
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: CustomLogaccess_logcommon • ErrorLog • Define o nome do arquivo de log de erros • Sintaxe: ErrorLogerror_log
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
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
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, allow deny from all allow from localhost Options Indexes FollowSymLinks </Directory>
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 nestediretório • FollowSymLinks • Permite o uso de links simbólicos • Indexes • Permiteumalistagemgeradapeloservidor se index.php não for encotrado • MultiViews • Permitenegociar a linguagem do documento • None • Nãopermitequalqueropção do diretório
PHP • Obtendo/instalando o PHP • http://www.php.net • Yum: yuminstallphp • Apt: apt-getinstall php5-cgi php5-cli • Verificando se osmódulos do phpestãoativos • cat /etc/httpd/conf.d/php.conf • Testando o PHP • Vamoscriarumapágina no diretóriopadrão do Apache: vim /var/www/html/index.php • Preencher o arquivo com o seguinteconteúdo: <?phpphpinfo(); ?> • Acessar a páginapelonavegador.
MySQL Server • Obtendo/instalando o MySQL Server • http://www.mysql.com • Yum: # yuminstallmysqlmysql-develmysql-server • Apt: # apt-getinstall php5-cgi php5-cli • Instalar base de dados padrão • # mysql_install_db • Alterando a senhapadrão • # mysqladmin –u root password sua-senha • # mysqladmin –u root –h localhost password sua-senha • # mysql –u root –p
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/falseusuario • Carregando os serviços na inicialização do sistema • # ntsysv
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/
FIM Este slide está disponível em: http://www.zehh.com.br/slides José Francisco Teles zehh@zehh.com.br