Você está na página 1de 107

SISTEMAS OPERACIONAIS Curso de Linux

Professor: Alexandre Machado E-mail: ams@ams.eti.br

Histrico
1987 - Andrew Tanenbaum cria um clone do Unix, designado Minix, para fins educativos. 1991 - Linus Torvalds, estudante da University of Helsinki, cria derivado do Minix para PC 386.
Linus + Unix = Linux

Histrico
1992 - verso 0.99 incorpora GNU (grupo de desenvolvimento de software livre, criado em 1983 por Richard Stallman do MIT) passando a designarse Linux/GNU. 1994 - a verso 1.0 foi disponibilizada 1995 - Verso 1.2 portada para computadores Digital e SUN 1998 - IBM, Compaq e Oracle anunciam apoio ao Linux. Desenvolvida a primeira interface grfica KDE.

Sistema Operacional Linux


Sistema operacional de cdigo fonte aberto, derivado do Unix e poderoso o suficiente para ser adotado em servidores do mundo todo para as mais diversas tarefas Antes: Linux Servidores Agora: Linux Desktops

GNU/Linux
Com a unio do Projeto GNU, criado por Richard Stallman, e o Kernel Linux, desenvolvido por Linus Torvalds, surgiu o que hoje conhecemos como GNU/Linux

Caractersticas
Convive com outros sistemas sem nenhum tipo de conflito (Mac, Windows) no mesmo computador; Multitarefa real(executa vrias tarefas em paralelo) e multiusurio; Suporte nativo a mltiplas CPUs; Vulnerabilide a vrus, trojans prxima a zero; Exige poucos recursos; Multiplataforma ;

Distribuies GNU/Linux
Kernel, Linux, Softwares GNU e outros aplicativos que so desenvolvidos por outras comunidades ou grupos Distribuies Livres: Sem fins lucrativos
Debian, Ubuntu, Slackware, CentOS...

Distribuies Corporativas: Vendem o suporte


RedHat, Suse e Mandriva

Mais informaes: http://distrowatch.com

Distribuies GNU/Linux
Mas, por que tantas distribuies?

Arquitetura
USURIOS APLICAES SHELL

BIBLIOTECAS DE FUNES PADRO KERNEL HARDWARE

Arquitetura: Kernel
Ncleo do sistema operacional Principais funes:
Deteco de hardware Gerenciamento de entrada e sada Manuteno do sistema de arquivos Gerenciamento de memria e swapping Controle da fila de processos

Shell Interpretador de comandos


L e interpreta comandos de entrada de um terminal a interface entre o usurio e o kernel do sistema Exemplos: sh csh bash (padro do linux) ksh Tcsh OBS: O Shell do usurio root identificado pelo #, dos demais usurios $.

Shell Interpretador de comandos


Dicas e truques: Retornar comandos j digitados: Rolar a tela do terminal Limpar a tela
Pressione as teclas seta pra cima e seta para baixo

Segure o Shift e pressione o Page UP


Pressione as teclas Crtl + L Pressione as teclas Crtl + C Pressione as teclas Crtl + D (equivalente ao exit)

Finalizar um comando

Sair do terminal (Shell)

Use a tecla Tab para completar comandos e nome de arquivos, diretrios...

Sistema de Arquivos
Forma como o Sistema Operacional organiza os dados Principais sistemas de arquivos:
Ext2 Ext3 Ext4 XFS UFS ReiserFS

Estrutura de diretrios
No Windows os discos e parties aparecem como unidades C:, D:, E: .... Alm disso, os arquivos de sistemas ficam geralmente nas pastas C:/Windows e C:/Arquivos de programas J no Linux, tudo fica organizado num diretrio raiz chamado de / (barra) Os arquivos de configurao so textos e os dispositivos de hardware so referenciados atravs de links.

Estrutura de diretrios

Estrutura de diretrios
Diretrio / /home /bin /usr /boot /dev Descrio Diretrio raiz, onde todos os outros diretrios so armazenados Armazena os arquivos dos usurios Armazena executveis de alguns comandos essenciais Armazena executveis e bibliotecas dos principais programas Armazena kernel e alguns arquivos usados pelo gerenciador de boot Armazena links para dispositivos de hardware

/etc
/var /proc

Armazena os arquivos de configurao


Armazena arquivos de logs e outros arquivos variveis Armazena os processos ativos (RAM)

Tipos de Arquivos

Estrutura de dados mantida pelo kernel Tipo do arquivo, dono, grupo e permisses Datas de criao ou da ltima modificao Nmero de links para esse arquivo Tamanho do arquivo Endereo no disco rgido

Tipos de Arquivos

Tipo do arquivo

Nome do arquivo
Hard link count
bin 85924

Tamanho em bytes
Sep 27 2003 /usr/bin/su

-rwxr-xr-x

root

Dono Grupo Permisses Data da ltima modificao

Tipos de Arquivos
Tipo de Arquivo Arquivo normal Diretrio Arquivo de dispositivo orientado a caractere Arquivo de dispositivo orientado a bloco Socket Descrio Programas executveis, figuras, arquivos de textos, comandos Pasta que contm qualquer tipo de arquivo Arquivo que a transferncia de/para o dispositivo realizada caractere a caractere Smbolo* d c

Arquivo que a transferncia feita em b blocos de caracteres, kernel faz o buffer (HD) Utilizados para a comunicao entre os processos (TCP/IP) s

Hard Link
Symbolic link

Dois arquivos aponta para o mesmo arquivo


Somente um link para o arquivo existente

* Aparece ao usar o comando ls -l

Tipos de Arquivos

Dispositivos de armazenamento
No Linux, os dispositivos so acessados atravs de arquivos, numa metodologia diferente de outros sistemas, assim como todos dispositivos, o que muitas vezes, confunde o usurio. Todos dispositivos se encontram na pasta /dev/. Exemplos:
/dev/sound: Placa de Som; /dev/eth0 : Placa de Rede; /dev/modem: Placa de Modem;

Dispositivos de armazenamento

Memria SWAP
A Memria Swap, nada mais que a rea de memria de troca, comumente conhecida com Memria Virtual. Sua funo manter os registros do processador salvos no disco, quando no h espao disponvel na memria fsica.

Permisses de arquivos
dono outros

1
read (r) write (w) execute (x)

0
grupo

= 751

Acesso
r w x

Significado para arquivos


permitir abrir e ler modificar ou truncar; deletar ou renomear: ver perm. dir. executar arquivo

Significado para diretrios


listar, se x est setado criar, renomear e deletar arquivos, se x est setado entrar, mas no listar

Iniciando o Linux....
No Linux, o setor de boot normalmente criado por um gerenciador de inicializao (um programa que permite escolher qual sistema operacional ser iniciado). Deste modo podemos usar mais de um SO no mesmo computador (como o Windows e Linux). Os gerenciadores de inicializao mais usados para Linux o LILO e o GRUB.

Iniciando o Linux....
Aps o carregamento do sistema pelo gerenciador de inicializao, o sistema estar apto a receber comandos do usurio aps o login, seja por modo Texto ou Grfico.

Reiniciando
O sistema pode ser reinicializado se necessrio, utilizando o conj. de teclas: CTRL + ALT + DEL Ou digitando no shell com permisso de administrador:
# reboot

ou
now # shutdown -rr

Desligando
O sistema pode ser desligado utilizando os comandos, com permisso de administrador: # halt ou # shutdown h now ou # poweroff Ateno: importante, se o sistema no desligar automaticamente, observar uma mensagem semelhante System Halted. Power Down. Para que no haja danos ao disco rgido.

Exerccio
1. 2. 3. 4. 5. 6. 7. 8. Como e quando foi criado o Sistema Operacional Linux? Crie um conceito sobre GNU/Linux. Quais as principais caractersticas do Linux? Por que tantas distribuies Linux? O que Shell? Para que serve o Crtl + D? Quais os principais diretrios do Linux? Cite os principais tipos de arquivos do Linux? Que informaes pode ser obtida a partir do arquivo:
drwxr-xr-x 5 analista analista 4,0K Fev 25 09:11 Maildir

9. Qual a funo da memria SWAP? 10. Que comandos so utilizados para desligar o Linux?

PARTINDO PARA OS COMANDOS DO GNU/LINUX

Comandos Bsicos: Explorando o Sistema


Exibir o diretrio corrente
# pwd

Mudar o diretrio atual


Ir para um diretrio qualquer # cd /var/www Ir para o diretrio home do usurio logado # cd ~ Subir um nvel na rvore de diretrios # cd . .

Comandos Bsicos: Explorando o Sistema


Lista o contedo dos diretrios
Listar o contedo atual # ls Listar os arquivos/diretrios de forma detalhada # ls l /etc drwxr-xr-x 4 root root 1024 2010-01-01 issue
Lista todos os arquivos inclusive os ocultos # ls -a /root

Comandos Bsicos: Explorando o Sistema


Copiar arquivos e diretrios
# cp /home/ifpi/teste.txt /root

Mover arquivos e diretrios


# mv /home/ifpi/teste.txt /root

Estabelecer links entre os arquivos


# ln s /usr/bin/named /etc/init.d/bind

Comandos Bsicos: Explorando o Sistema


Criar um diretrio no sistema
# mkdir /home/nathan

Remover um diretrio vazio


# rmdir /home/nathan

Deleta um arquivo ou diretrio


# rm /home/ifpi/teste.txt # rm rf /home/ifpi

Comandos Bsicos: Explorando o Sistema


Criar um arquivo
# touch /home/ifpi/teste.txt

Indicar o tipo de arquivo


# file /var/log/messages

Pesquisar arquivos por contedo


# grep ifpi /etc/passwd # grep i ifpi /etc/passwd O i no diferencia maisculas e minsculas .

Comandos Bsicos: Explorando o Sistema


Procurando arquivos
# find # find # find # find / -name passwd / -user ifpi / -type d /var/log size +10000c

Comandos Bsicos: Manipulao de Arquivos


Exibe o contedo de um arquivo
# cat /etc/network/interfaces

Conta caracteres, palavras e/ou linhas


# wc /home/ifpi/teste.txt

Mostra final dos dados


# tail /var/log/syslog

Comandos Bsicos: Segurana de Acesso


Trocar o dono do arquivo
# chown root /etc/bind/named.conf

Trocando o grupo do arquivo


# chgrp administradores /root/acesso

Ajustando Permisses de Arquivos


# chmod 755 /etc/init.d/dhcpd

Exerccio
1. Identifique qual o diretrio atual do shell. 2. Ir para o diretrio /usr/share e depois voltar para o diretrio /usr. 3. Listar o contedo do diretrio /etc. 4. Crie o arquivo linux.txt em /home/ifpi, depois mova-o para o diretrio /tmp. 5. Crie o diretrio estudo dentro de /tmp, copie alguns arquivos dentro dele e depois remova esse diretrio. 6. Encontre o arquivo messages atravs do comando find, depois visualize o seu contedo. 7. Crie um arquivo qualquer com o editor vim, altere o dono desse arquivo, por ltimo modifique sua permisso para 755.

Comandos Bsicos: Usurios


Criar usurio novo
# adduser nathan

Deletar um usurio
# deluser nathan

Alterar a senha de um usurio


# passwd nathan

Listar usurios ativos


# who

Comandos Bsicos: Controle de Execuo


Listar processos
# ps # ps aux

Matando um processo
# ps 301 pp0 S 0:30 ssh # kill -9 301 # kill STOP 301

Comandos Bsicos: Compactadores


Agrupar arquivos
# tar cf backup.tar /var/www/site/* # tar xzvf /home/ifpi/arquivo.tar.gz

Compactador Livre
# gzip backup.tar backup.tar.gz

Descompactador Livre
# gunzip backup.tar.gz

Comandos Bsicos: Documentao


Documentao completa de comandos
# man passwd # man ifconfig # man 5 passwd # man k network

Comandos Bsicos: Editor de Texto


Editor bsico do GNU/Linux
Vim

Comandos de Edio
i inserir

# vim /etc/issue.net

Comandos de Localizao
/palavra pesquisar determinada palavra em todo o texto

Comandos de Execuo
:wq ou :x Salva e sai do documento em edio :w Salva o documento em edio :q Sai do editor :q! Sai sem salvar as alteraes

Comandos Bsicos: Rede


Verificar as configuraes de rede
# ifconfig # ifconfig a # ifconfig eth0 192.168.100.1

Verificar as rotas
# route n # route add default gw 192.168.100.254

Comandos Bsicos: Rede


Testar se um mquina est ativa
# ping 192.168.2.1 # ping www.fatene.edu.br

Comandos Bsicos: Diversos


Montagem das parties
# mount # mount t ext3 /dev/sdb1 /media/pendrive

Hora e data
# date Qua Jun 9 10:53:16 BRT 2010 # date 060910502010

Exerccio
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Crie um usurio com seu nome e depois altere a senha. Liste os usurios ativos no sistema. Liste os processos ativos na mquina, escolha um processo que no seja do sistema depois mate-o. Copie vrios arquivos para o diretrio /home/ifpi, depois junte e compacte todos criando um arquivo estudo.tar.gz. Descompacte o arquivo estudo.tar.gz Veja o manual dos comandos ifconfig, passwd e locate. Crie um arquivo qualquer com o editor vim e faa algumas edies. Liste as configuraes das interfaces de rede. Verifique se o endereo ip 192.168.2.1 est ativo. Veja os pontos de montagem do linux. Altere a data do sistema.

DHCP - Dynamic Host Configuration Protocol

DHCP O que ?
DHCP - Dynamic Host Configuration Protocol um protocolo de servio TCP/IP que oferece configurao dinmica de terminais, com concesso de endereos IP de host e outros parmetros de configurao para clientes de rede.

DHCP Funcionamento
1. Host envia um pacote broadcast com um pedido DHCP 2. Servidor DHCP que capturar (receber) este pacote ir responder com um pacote com configuraes onde constar, pelo menos, um endereo IP, uma mscara de rede, tempo de expirao e outros dados opcionais, como o gateway da rede, servidores de DNS, nome do domnio, etc.

DHCP Formas de Alocao


Possui trs formas de alocao de endereos
Manual: Estabelecido um endereo IP para cada endereo MAC. Ex: 00:30:35:C1:69:5F -> 192.168.2.133 Automtica: Disponibilizado um faixa de IP, que alocado de forma automtica e permanenete para cada host Dinmica: Igual a automtica, s que o endereo IP alocado s por um perodo

DHCP Instalao

# aptitude install dhcp3-server


Iniciar o servio:
# /etc/init.d/dhcp3-server start

Parar o servio:
# /etc/init.d/dhcp3-server stop

DHCP Configurao
O Arquivo de configurao do servio :
# nano /etc/dhcp3/dhcpd.conf Exemplo:
default-lease-time 600; max-lease-time 7200; authoritative; subnet 10.10.10.0 netmask 255.255.255.0 { range 10.10.10.10 10.10.10.250; option routers 10.10.10.254; option domain-name-servers 189.17.149.132, 189.17.149.134; option broadcast-address 10.10.10.255}

DHCP Configurao
default-lease-time: controla o tempo ( em segs) de renovao dos endereos IP. Verifica se as estaes esto on-line; max-lease-time: tempo (em segs) mximo que uma estao pode ficar com um end. IP (utilizado qdo tem mais host e menos IPs); Authoritative: usar se o servidor DHCP o servidor oficial da rede local;

DHCP Configurao
Subnet: Define os parmetros da rede interna (rede, mscara, dns, range,...) Range: Faixa de endereos IPs que sero alocados para as estaes. Retira os IPs que tero seus endereos fixos. Option-routers: Endereo do default gateway da rede (prpria int. DHCP). Option-domain-name-server: Servidores de DNS que sero usadas pelas estaes (separados por vrgula e sem espao).

DHCP Configurao
Definindo a placa de rede que ir funcionar o DHCP:
# nano /etc/default/dhcp3-server Altere a linha: INTERFACES="eth0"

DHCP Configurao
Caso seja necessrio definir mais de uma faixa de endereos IPs em placas diferentes devemos:
Definir a faixa e as opes da outra rede com o parmetro subnet no dhcpd.conf Acrescentar a nova interface em dhcp3-server separado por um espao: Ex: INTERFACES="eth0 eth1"

DHCP Configurao
Endereos IPs podem ser fixados para algumas estaes como:
Impressora, gerncia, cmera IP, PC do administrador da rede....

Esses endereos IPs no devem ficar na faixa de endereos definidos no range, pois podem ocorrer conflito de IPs na rede

DHCP Configurao
Ex. de endereos fixos:
Host Impressora { Hardware ethernet 00:00:00:00:AF:00; Fixed-address 10.0.0.5; } Host Admin { Hardware ethernet 00:00:00:00:00:AF; Fixed-address 10.0.0.5; }

DHCP Reiniciar o servidor


Depois de todas as configuraes temos que reiniciar o servidor:
# /etc/init.d/dhcp3-server restart

Atualizar o dhcp
# dhclient eth0 #/etc/init.d/networking restart

Configurando a rede manualmente


# ifconfig eth0 192.168.2.200 netmask 255.255.255.0

Exerccio
Crie um servidor DHCP com as seguintes caractersticas:
default-lease-time 300; max-lease-time 8000; range 10.100.0.10 10.100.0.250 gateway 10.100.0.1 servidor dns 189.17.149.132, 189.17.149.134 Defina a interface eth3 Fixe a ip ao mac:
00:60: DC:00:00:AF 10.100.0.9

SERVIOS DNS

DNS O que ?
DNS Domain Name Sever um servidor responsvel pela traduo de nomes (domnios) em endereos IP e viceversa, ou seja, transforma um endereo IP num nome de domnio. BIND um dos servidores de DNS mais utilizados no mundo.

DNS Instalao
Para instalar o BIND verso 9:
# aptitude install bind9 dnsutils

Com isso sero instalados os pacotes necessrios para a configurao do DNS, como libbind9, libdns, entre outros. O Diretrio /etc/bind ser criado, onde estaro os principais arquivos de configurao do BIND.

DNS - Configurao
Os principais arquivos de configurao so:
Named.conf : principal arquivo (geralmente no alterado) db.local, db.0, db.255 e db.127 : zonas de loopback (Tb no alterado) Zones.rfc1918 : define os endereos reservados
10.0.0.0 a 10.255.255.255 (10/8 prefix) 172.16.0.0 a 172.31.255.255 (172.16/12 prefix) 192.168.0.0 a 192.168.255.255 (192.168/16 prefix)

DNS - Configurao
db.root : define os root servers, ou seja, os servidores DNS raiz (13 servidores espalhados pelo mundo). named.conf.options : arquivo com as opes de configurao do bind. Named.conf.local: onde vo ser definidas as zonas diretas e inversas da organizao. rndc.key : chave MD5 do servidor.

DNS - Configurao
Named.conf
Zone . -> zona que aponta para os roots servers Zone localhost , Zone 127.in-addr.arpa, Zone 0.in-addr.arpa, Zone 255.in-addr.arpa -> Zonas direta e inversa local Include named.conf.options e named.conf.local

DNS - Configurao
Named.conf.options
Listen-on : Interface e porta que o servidor ir responder as consultas DNS. Listen-on-v6: Ativa o BIND para escutar consultas IPv6 especificando a interface e a porta Auth-nxdomain: permite ou no que o servidor responder de forma autoritativa (default no); Forwarders: Que servidor DNS deve ser consultado antes de consultar os roots servers

DNS - Configurao
Para a configurao de um novo domnio teremos que configurar a zona direta que traduz nomes em endereos IP, e a zona inversa que faz o contrrio. Para isso as zonas devem ser definidas no arquivo named.conf.local.

DNS - Configurao
Definindo as zonas diretas e inversas: # nano /etc/bind/named.conf.local
//Zona direta do saraiva.com.br zone "saraiva.com.br" { type master; file "/etc/bind/saraiva.zone"; notify yes; }; //Zona inversa do saraiva.com.br zone 2.168.192.in-addr.arpa" { type master; file "/etc/bind/saraiva.zone.rev"; };

DNS Componentes das zonas


$TTL - Time To Live: o tempo que os registros permanecem no cache sem atualizao. SOA - Start Of Authority (Incio da Autoridade)
IN Indica que Internet Nome da mquina E-mail do responsvel: nome.dominio.com.br

Serial: usa-se o formato AAAAMMDDXX para indicar o nmero serial que deve ser incrementado toda vez que o registro for alterado.

DNS Componentes das zonas


Refresh: Indica a freqncia de releitura dos registros Retry: Tempo de espera em caso de falha Expire: Indica quando a validade dos dados SOA expira Negative Cache TTL : Valor default para todos os registros sem TTL indicado.

DNS Componentes das zonas


A (address - endereo): endereo IP. NS (name server - servidor de nomes) PTR (pointer - ponteiro): usado principalmente em arquivos de zona inversa. MX (mail extended): servio de e-mail e prioridade. CNAME (canonical name): apelidos de endereos (e S de endereos). TXT (text): opcional, texto explicativo ou diretivas especiais.

DNS Zona Direta


# cp db.local saraiva.zone # nano saraiva.zone
; Arquivo de zona do saraiva.com.br $TTL 604800 @ IN SOA saraiva.com.br. root.saraiva.com.br. ( 2010061001 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS server1.saraiva.com.br. @ IN MX 10 mail.saraiva.com.br. @ IN A 192.168.2.173 server1 IN A 192.168.2.173 www IN CNAME server1.saraiva.com.br. mail IN CNAME server1.saraiva.com.br.

DNS Zona Inversa


# cp db.0 saraiva.zone.rev # nano saraiva.zone.rev
; Zona inversa do saraiva.com.br $TTL 604800 @ IN SOA saraiva.com.br. root.saraiva.com.br. ( 2010061001 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS server1.saraiva.com.br. 173 IN PTR server1.saraiva.com.br.

DNS - Teste
Reiniciar o BIND
Editar o arquivo /etc/resolv.conf colocando nameserver <ip do servidor> # /etc/init.d/bind9 restart

Testar se est funcionando:


# nslookup -type=SOA saraiva.com.br # nslookup -type=MX saraiva.com.br # ping www.saraiva.com.br

DNS - Teste
# nslookup
>www.saraiva.com.br >192.168.2.173 >www.uol.com.br

# dig @e.root-servers.net # dig pop-pi.rnp.br @200.137.160.130 Site para testar suas configuraes
http://www.dnsstuff.com/

DNS - Secundrio
Definir o DNS secundrio no arquivo de zonas do DNS primrio:
Adicione a linha nas zonas direta e inversa: @

IN

NS

dns2.saraiva.com.br.

Instalar no secundrio o BIND9:


# aptitude install bind9

DNS - Secundrio
Editar o arquivo named.conf.local adicionando as zonas # nano /etc/bind/named.conf.local
zone "saraiva.com.br" { type slave; file "/etc/bind/saraiva.zone"; masters {192.168.2.173;}; };

DNS - Secundrio
# /etc/init.d/bind9 restart Verificar se os arquivos de zonas foi copiado do servidor primrio para o secundrio:
# cd /etc/bind # ls l

Caso no foi copiado verificar os logs em:


/var/log/syslog

DNS - Segurana
Esconder a verso do BIND
Verificar a verso: # dig txt chaos version.bind Editar o arquivo /etc/bind/named.conf.options Colocar: version none; Testar novamente!!!

allow-transfer Especificar que hosts so permitidos receber transferncias de zonas do servidor (zona direta)

Exerccio
Crie um servidor DNS com o domnio:
<seu_sobrenome>.com.br Adicione um servidor www.<seu_sobrenome>.com.br

SERVIOS DNS

WEB O que ?
WEB ou WWW World Wide Web Um servidor web um programa responsvel por disponibilizar pginas, fotos, ou qualquer outro tipo de objeto ao navegador do cliente Apache um servidor Web extremamente configurvel, robusto e de alta performance e com cdigo fonte disponvel gratuitamente via Internet.

Apache2 - Caractersticas
Suporta diversos mdulos um dos servidores WEB mais utilizados no mundo Possui mdulos de autenticao como mod_acess, mod_auth e mod_digest Permite a configurao de hosts virtuais e segurana SSL

Apache2 - Instalao
Para instalar use:
# aptitude install apache2 apache2-doc apache2utils

Apache2 - Configurao
O arquivo de configurao do apache2 o /etc/apache2/apache2.conf Ele deve ser editado para configurao de um site. Veremos alguns opes do apache2.conf # nano /etc/apache2/apache2.conf

Apache2 - Configurao
ServerRoot: Diretrio do apache Timeout: tempo (segundos) para timeout DocumentRoot: Indica o local onde dever ser colocada as pginas KeepAlive: Permite vrias requisies em cada conexo TCP. Mantenha ativo (ON) MaxKeepAliveRequests: Nmero mximo de requisies por conexo KeepAliveTimeout: Nmero de segundos que o servidor espera para a prxima requisio do mesmo cliente e na mesmo conexo. AcessFileName: Controla o nome do arquivo onde estaro as definies do controle de acesso a diretrios especficos.

Apache2 - Configurao
Criando sites virtuais baseados em nomes:
No apache2 as configuraes especficas de cada site virtual ficam em /etc/apache2/sites- available # cd /etc/apache2/sites-available # cp default saraiva # nano saraiva

Apache2 - Configurao
Criando site (Cont...):
Altere as linhas:
Se existir, comente a linha NameVirtualHost * VirtualHost * Adicione ServerName www.saraiva.com.br Alterar DocumentRoot /var/www/saraiva Se existir, Comentar o Redirect

Salve o arquivo

Apache2 - Configurao
#NameVirtualHost * <VirtualHost *> ServerName www.saraiva.com.br ServerAdmin webmaster@saraiva.com.br DocumentRoot /var/www/saraiva <Directory /> Options FollowSymlinks AllowOverride None </Directory> <Directory /var/ww/saraiva > Options Indexes FollowSymlinks MultiViews AllowOverride None Order allow,deny allow from all # RedirectMatch </Directory>

Apache2 - Configurao
Criando site (Cont...):
Habilitando o site: # a2ensite saraiva Para testes, altere o arquivo /etc/hosts:
127.0.0.1 www.saraiva.com.br

Copie o index.html para /var/www/saraiva /etc/init.d/apache2 reload Abra um navegador e acesse o site. O que apareceu???

Apache2 - Configurao
Criando outro site virtual:
# cd /etc/apache2/sites-available # cp saraiva sousa # nano sousa Altere as linhas: ServerName www.sousa.com.br DocumentRoot /var/www/sousa Directory /var/www/sousa

Apache2 - Configurao
Criando outro site virtual(cont..):
Habilitando o site: # a2ensite sousa Acrescente a linha no arquivo /etc/hosts:
127.0.0.1 www.sousa.com.br

/etc/init.d/apache2 reload Copie um index para o /var/www/sousa Acesse agora o site: www.sousa.com.br Acesse os dois sites ao mesmo tempo

Apache2 - Configurao
Para alterar a porta padro do apache mude no arquivo /etc/apache2/ports.conf . Para permitir diferentes tipos de index configure em apache.conf a seguinte linha como:
DirectoryIndex default.php index.html index.htm index.shtml index.cgi index.pl index.php index.xhtml

Apache2 - Configurao
Proteger uma pgina com senha(Autenticao):
# htdigest -c /etc/apache2/.usuarios Acesso nathan Ser pedido uma senha e confirmao Cria-se um arquivo chamado usuarios com a conta dos usurios que tero acesso pgina e no grupo Acesso. Acrescente o mdulo Digest
# a2enmod auth_digest

Apache2 - Configurao
Proteger uma pgina com senha (cont):
Acrescente as seguintes linhas em /etc/apache2/apache2.conf <Directory /var/www/sousa> Options Indexes FollowSymLinks MultiViews AllowOverride None Order deny,allow AuthName "Acesso" AuthType Digest AuthUserFile /etc/apache2/.usuarios Require valid-user </Directory>

Apache2 - Configurao
Para colocar uma autenticao somente numa pasta do site:
Acrescente as seguintes linhas em /etc/apache2/apache2.conf <Directory "/var/www/sousa/estatisticas"> AllowOverride None Order deny,allow Allow from all AuthType Digest AuthName Acesso" AuthUserFile "/etc/apache2/.usuarios" Require valid-user </Directory>

Apache2 - Configurao
Autorizao (permitir ou no o acesso):
Acrescentar as seguintes linhas no apache2.conf <Directory /var/www/saraiva > Order allow, deny Allow from all
Deny from 192.168.1.110

</Directory>

Ex: deny from 192.168.1. .spammer.com.br

Apache2 - Configurao
Autorizao:

Apache2 - Configurao
Customizado as respostas de erro!
Caso no existe o documento acessado: Ex: www.floriano.ifpi.edu.br/errao.html Resposta: HTTP 404 Not Found Consertando isso.... # nano /etc/apache2/apache2.conf Descomente e modifique em:
ErrorDocument 404 Documento no encontrado! Por favor, solicito a vossa senhoria que digite novamente o endereo!

Ou personalize um pgina de erro. #/etc/init.d/apache2 restart

Apache2 - Desempenho
Mdulo prefork:
Mais rpido, porm sobrecarrega a mquina aumentando o consumo da memria pois ele inicia um processo para cada conexo

Mdulo worker:
Menos rpido, porm exige menos recursos da mquina pois utiliza threads compartilhando recursos e consumindo menos memria

Apache2 - Desempenho
KeepAlive: Aumenta a performance em documentos HTML com muitas imagens. MaxKeepAliveRequests: Manter um valor alto para uma performance mxima. O valor 0 permite uma quantidade ilimitada.

Apache2 - Desempenho
ab - Apache Benchmarcking - Ferramenta de medida de desempenho do servidor Web Apache. No testa o carregamento de css, javascript, imagens e no leva em considerao o cache que um browser faria, por exemplo. ab -n 300 -c 50 http://www.saraiva.com.br
Requests per second: 52.61 [#/sec] (mean) Time per request: 19.006 [ms] (mean, across all concurrent requests)

Faz 300 pedidos http 50 de cada vez

DICA
Teste o design web em diferentes browers:
http://browsershots.org/

Exerccio
Crie um site qualquer; Adicione uma senha para acesso a uma pasta do seu site: admin