Creative

Creative Game Blog

  • RSS
  • Delicious
  • http://www.facebook.com/andersonsgrabin
  • Twitter

Popular Posts

Hello world!
Righteous Kill
Quisque sed felis

Categoria

AION (15) Apache (1) Comandos (2) Dicas (25) FreeBsd (4) Iniciantes (90) internet (2) Jogos (4) Linux (2) Metin2 (61) Multimidia (23) Mysql (1) novidades (13) Personalização (16) Php (1) Sistema (74) softwers (32) Videos (78) web (18)

Metin2

Tudo sobre o metin dicas do jogo e configuração do servidor,tutoriais,arquivos e etc...

FreeBsd

Tudo sobre o sistema como instalação,manuseio etc...

Aion

Dicas do jogos,arquivos do servidor,tutoriais e etc

Dicas

Dicas sobre varios asuntos

Novidades

tudo o que acontece no mundo e que vira asunto

Archive for 2012


Tutorial de Instalação do Apache, PHP e MySQL no Ubuntu

Nesse Tutorial você vai aprender...

  • Básico da instalação de pacotes no Ubuntu
  • Instalação e estrutura básica do Apache 2 no Ubuntu 8.04
  • Instalação do PHP5
  • Instalação do MySQL

Instalação de pacotes no Ubuntu

Distribuições Linux, em sua maioria, gerenciam os aplicativos utilizando pacotes que podem facilmente ser baixados, instalados e configurados no ambiente do sistema operacional.

Gerenciador de Pacotes Synaptic

O Ubuntu, por padrão, vem com o excelente gerenciador de pacotes Synaptic. Para iniciar o Synaptic, basta acessar o menu Sistema > Administração > Gerenciador de Pacotes Synaptic, ou apertar Alt+F2 e digitar o comando gksudo synaptic.
Janela de execução de comando com o comando gksudo synaptic digitado.
A Inteface do Synaptic é bem simples. No centro existe uma lista de pacotes que corresponde ao filtro no painel da esquerda. Para cada pacote, há a opção de marcar para instalação e marcar para remoção. Na barra de ferramentas há um botão para recarregar a lista de pacotes, um para marcar os pacotes que possuem upgrade, um para aplicar as alterações marcadas, um para ver propriedades dos pacotes e um para busca. Utilizaremos a busca de pacotes para encontrar o que desejamos instalar:
Captura de Tela do Synaptic indicando o botão de busca de pacotes.

Pacotes do Apache

Faremos uma busca por apache2 e marcaremos os seguintes pacotes: apache2 e libapache2-mod-php5.
Captura de Tela do Synaptic indicando o pacote apache2.
Captura de Tela do Synaptic indicando o pacote libapache2-mod-php5.
Note que além desses pacotes que escolhemos, o Synaptic marca alguns outros. Essas são as dependências dos pacotes, ou seja, pacotes-filho necessários para que os pacotes-pai escolhidos funcionem.

Pacotes do PHP

Depois, buscaremos por php5 e marcaremos os pacotes:
  • php5, o pacote principal
  • php5-cli, para PHP em linha de comando
  • php5-common, uma biblioteca raiz do PHP
  • php5-curl, para bibiloteca CURL
  • php5-gd, biblioteca manipulação de imagens via PHP
  • php5-mysql, para conexão com bancos de dados MySQL
  • php5-pgsql, para conexão com bancos de dados PostgreSQL
  • php5-sqlite, para conexão com bancos de dados SQLite versão 2
  • php5-sqlite3, para conexão com bancos de dados SQLite versão 3
  • php5-sybase, para conexão com Sybase e Microsoft SQL Server
  • php5-xsl, para aplicação de estilos XSL
  • php-doc, documentação do PHP
Pacotes php5, php5-cli, php5-common, php5-curl e php5-gd marcados na tela do Synaptic
Pacotes php5-mysql, php5-pgsql, php5-sqlite e php5-sqlite3 marcados na tela do Synaptic
Pacotes php5-sybase, php5-xsl e php-doc marcados na tela do Synaptic

Pacotes do MySQL

Por fim, buscaremos por mysql e marcaremos o pacote mysql-server.
Pacote mysql-server marcado na tela do Synaptic

Finalizando a Instalação

Para completar a instalação, aplicaremos as mudanças no botão "Apply" (Aplicar):
Detlahe do botão Aplly no Synaptic
Após confirmar a instalação dos pacotes, o Synaptic fará uma conexão com o servidor do Ubuntu, baixará, instalará e configurará os pacotes selecionados. Durante a instalação, o configurador do MySQL pedirá uma senha, necessária para o usuário root do banco:
Tela de configuração de senha do usuário root no MySQL
Digite a senha que preferir e prossiga, confirmando a senha e terminando a instalação. Se tudo ocorreu bem, ao acessar o endereçohttp://localhost/ você deverá ver a simpática tela de confirmação do Apache:
Localhost aberto com a mensagem It Works, padrão do Apache

Configuração Básica

Os arquivos de publicação desse servidor ficam na pasta /var/www. Precisaremos adicionar permissões para que você possa alterar o conteúdo dessa pasta. Para isso, abriremos o nautilus (gerenciador de arquivos do Ubuntu) como administrador:
Tela de execução de comandos com o comando gksudo nautilus /var na tela
Digite Alt+F2. O comando gksudo é o comando padrão para executar tarefas como administrador. Após a tela do nautilus abrir, abriremos a tela de propriedades da pasta www e colocaremos as permissões para que qualquer pessoa possa criar e excluir arquivos:
Ao fundo, janela do nautilus com a pasta www em destaque. Na frente, janela de propriedades da pasta www com permissões de escrita e exclusão para todos os usuários configuradas.

Testando o PHP

Para testarmos o PHP, substuiremos o arquivo index.html por um arquivo index.php contendo o seguinte código:
<?php

phpinfo();
Ao fundo, janela do nautilus com a pasta www aberta. Na frente, arquivo index.php aberto com código digitado
Ao acessar http://localhost/, você deverá ver uma tela de informações do PHP. Geralmente isso não ocorre, e o apache envia o arquivo para download.
Apache enviando o arquivo index para download
Se isso ocorrer, basta reiniciarmos o apache digitando no terminal sudo apache2ctl restart (para abrir o terminal, aperte Alt+F2 e digite gnome-terminal). Isso recarregará as configurações e tudo deverá funcionar normalmente, exibindo o PHP Info ao acessar a URL http://localhost/.
comando sudo apache2ctl restart
Tela do PHP Info

Testando o MySQL

Só nos resta testar o MySQL. Para isso abriremos um terminal e digitaremos o comando mysql -u root -p, que conecta ao banco de dados local utilizando o administrador (usuário root). Esse comando pedirá uma senha, basta digitar aquela que você escolheu na configuração do MySQL lá em cima.
Comando mysql -u root -p digitado no terminal
Se tudo correr bem, o prompt do monitor do MySQL estará disponível para digitar instruções
Monitor do MySQL aberto com sucesso
Parabéns! Tudo funcionou corretamente.

Introdução
Antes de começar vamos entender o que é o Samba. Em uma rede é
necessírio compartilhar dados, por isso temos que pensar em obter o míximo em
qualidade do Sistema / Aplicação que serí o responsível por esta tarefa.
Com o SAMBA é possàvel compartilhar diretórios, impressoras, acessar
arquivos na rede exatamente como em redes Microsoft. Mas neste caso, seu
servidor é um Linux rodando uma aplicação especàfica. O Windows NT e o
2000 (assim como o NetWare 5 e outros presentes no mercado) são
reconhecidos mundialmente por sua segurança e escalabilidade, mas o SAMBA
possui muitas vantagens que podem se transformar em soluções e economia
para sua empresa. Confira:

- Permite compatibilidade com estações Windows (de WfW a 2000) e
servidores WinNT 4.0 e 2000. Entre servidores e estações Linux (com Interface
Grífica por exemplo) a compatibilidade é total.
- O SAMBA é 100% configurível, com a grande vantagem de centralizar
esta configuração em um único arquivo, o smb.conf. Sem dúvida é muito
interessante ter a possibilidade de restaurar toda a configuração que
disponibiliza seu Servidor de Arquivos (inclusive as permissões de acesso)
através do backup de apenas 1 arquivo, em casos de desastre. Porém isso
não quer dizer que não seja necessírio o backup de outros arquivos de
configuração... :)
- Todo o SAMBA pode ser configurado remotamente através de acesso
seguro, além do recebimento por email de informações do estado do servidor
(bastando utilizar um script especàfico que busca informações nos
arquivos de log e cria um arquivo que pode ser enviado por email).
- Em se falando de economia não hí o que discutir: o Linux e o SAMBA
estão disponàveis para download na Internet sem ônus algum para qualquer
usuírio comum ou empresa que se interesse em utilizí-lo, sem custos com
licenças ou atualizações.
- As mais recentes distribuições jí trazem o SAMBA como padrão, mas seu
download e atualizações estão disponàveis em:
- O suporte estí disponàvel 24h por dia, o ano todo: além do próprio site do
SAMBA existem milhares de sites e listas de discussão dedicadas ao assunto,
entre outras documentações e artigos em sites de renome por Administradores e
Engenheiros de Redes Linux. Muita coisa jí estí em nosso idioma facilitando
os iniciantes e interessados em leitura. Muitos sites nacionais são
especializados em Linux e Segurança para Linux.
Se a sua empresa busca uma solução estível e segura para Servidor de
Arquivos da rede, o SAMBA é uma grande opção.
Instalação
----------
Se a distribuição que deseja utilizar jí traz o SAMBA (como a
Conectiva, RedHat, Mandrake, Debian, TechLinux, Suse, praticamente todas hoje em
dia!), a instalação não é necessíria. Se deseja atualizí-lo ou iniciar
a instalação, siga os passos abaixo.
Para instalar o SAMBA é necessírio antes saber se o pacote obtido estí
no formato RPM ou .tar (.tgz ou .tar.gz). Se o pacote for um RPM,
execute o comando abaixo:
#rpm -ivh samba-2.2.x-i386.rpm
Atualmente grande parte das distribuições instalam o conjunto de
pacotes samba-common, samba-client e samba-doc juntamente com o pacote samba,
criando uma dependência entre estes pacotes.
Substitua o "x" pelo número relativo a versão do pacote ou o nome
correto do pacote dependendo da sua distribuição. Para atualizar o SAMBA
atual, substitua a sintaxe -ivh por -Uvh. Se o pacote veio no formato
tar.gz, execute o comando abaixo:
#tar -zxvf samba-2.2.x-i386.tar.gz
Um diretório serí criado com o nome samba-2.0.x. Entre neste diretório
e em seguida no subdiretório source. Para iniciar a instalação digite:
#./configure Em seguida digite:
#make Os binírios do SAMBA serão criados. Quando terminar digite:
#make install
Agora os binírios e píginas do man serão instalados. Aguarde o processo
e quando terminar confira o diretório /usr/doc/samba-2.2.x/docs para
informações sobre o SAMBA.
Configuração
------------
Toda a configuração do SAMBA é centralizada no arquivo smb.conf, que
deve ser guardado no diretório /etc.
(OBS: A partir da versão 7 do RedHat, o arquivo smb.conf foi "movido",
devendo ser guardado no diretório: /etc/samba)
Nele é que são descritos os compartilhamentos, permissões de acesso,
impressoras, dentre outras configurações disponàveis. Quando instalado, o
SAMBA disponibiliza os seguintes componentes:
smbd - O servidor SAMBA.
nmbd - O Servidor de nomes NetBios
smbclient - Cliente SMB para sistemas Unix.
smbmount - Ver final do documento, em Configurações.
smbpasswd - Alterar senhas (encriptadas) de usuírios smb.
smbprint - Cliente para envio de impressão a sistemas Linux.
smbstatus - Apresenta a situação atual das conexões SMB no Host.
testparm - Verifica o arquivo smb.conf (configuração do SAMBA).
testprns - Verifica a comunicação via rede com as impressoras.
O smb.conf é dividido basicamente em três partes: a configuração do
servidor SAMBA (parâmetros na seção [global], [printers] e [netlogon]), a
configuração dos diretórios/pastas pessoais dos usuírios (parâmetros na
seção [homes]) e as demais seções que correspondem aos diretórios
compartilhados.
Cada seção é representada entre colchetes [seção], e os parâmetros são
seguidos do sinal de igual (=) e o valor ou termo correspondente.
Confira abaixo um exemplo do smb.conf para um servidor Samba como PDC da
rede:
[global]
comment = Servidor SAMBA
workgroup = EMPRESA
security = user
os level = 100
announce as = NT Server
domain logons = yes
logon script = %U.bat
logon path = //%L/Profiles/%U
domain master = yes
local master = yes
preferred master = yes
guest account = nobody
encrypt passwords = yes
# wins server = 192.168.0.2
wins support = yes
keep alive = 20
debug level = 3
winpopup command = /bin/csh -c 'xedit %s; rm %s' &
log file = /var/log/samba_log.%u
null passwords = no
unix password sync = yes
socket options = IPTOS_LOWDELAY TCP_NODELAY
printing = bsd
printcap name = /etc/printcap
load printers = yes
hosts allow = 192.168.0. 127.
hosts deny = 192.168.0.3 192.168.0.4
[homes]
comment = Pastas dos Usuarios
public = no
browseable = yes
writeable = yes
hosts deny = 192.168.0.250
[printers]
comment = Impressoras Linux
public = no
browseable = yes
printable = yes
read only = yes
create mode = 0700
path = /var/spool/samba
admin users = admin, usuario1
[netlogon]
comment = Compartilhamento de Scripts
path = /etc/scripts
public = no
browseable = yes
writeable = no
[diretoria]
comment = Grupo Diretoria
path = /home/diretoria
public = no
browseable = yes
valid users = @diretoria
writeable = yes
write list = @diretoria
force create mode = 0777
force directory mode = 0777
[comercial]
comment = Grupo Comercial
path = /home/comercial
public = yes
browseable = yes
writeable = yes
write list = @comercial
read list = @marketing
force create mode = 0777
force directory mode = 0777
[transf]
comment = Area de Transferencia
path = /home/transf
public = yes
browseable = yes
writeable = yes
write list = @todos
force create mode = 0777
force directory mode = 0775
max disk size = 200
[oculto$]
comment = Especifico do Admin
path = /home/admin/oculto
copy = homes
max connections = 1
Conhecendo os parâmetros
------------------------
-> Seção [global]
Define as configurações globais do SAMBA. A relação abaixo apresenta a
explicação dos parâmetros do exemplo:
comment
Comentírio para este Host na Rede.
workgroup
Especifica o Domànio ou Workgroup a que o Host pertence na Rede.
security
Por padrão o SAMBA utiliza a segurança a nàvel de usuírio (security =
user), com opções:
security = share - Senhas de acesso serão solicitadas por cada recurso
compartilhado e não por usuírio, ou seja, cada diretório ou impressora
poderí ter uma senha única conhecida pelos usuírios autorizados. Esta
opção é geralmente usada p/ estações de trabalho Linux, onde em diversos
casos simplifica o acesso a dados locais quando necessírio.
security = user - As permissões são dadas de acordo com o login do
usuírio, ou através dos grupos (@grupo).
security = server - O SAMBA tentarí validara senha do usuírio enviando
os dados para outro servidor SMB, como outro servidor SAMBA ou um
servidor Windows. Deve-se incluir o parâmetro .password server = x.x.x.x. na
seção [global] do smb.conf.
security = domain - Usado se o Host for adicionado a um Domànio Windows
através do comando smbpasswd. Neste caso as informações de usuírio e
senha serão enviadas para o PDC da rede, exatamente como o servidor NT
faria. Note que é necessírio que a conta do usuírio exista tanto no Linux
quanto no servidor primírio (mais adiante isso serí explicado de forma
detalhada).
os level
Este parâmetro não é obrigatório se você não possui um servidor Linux
ou Windows na rede, mas deve ser usado caso tenha um ou mais. A variível
é um número de 1 a 255, onde 65 é a mesma variível utilizada pelo
servidor Windows. Especifique um número maior que este (como 100 por
exemplo) para garantir que o servidor SAMBA seja eleito na escolha de
validação do login das estações.
announce as
Permite especificar o tipo de servidor NetBios (nmbd) que serí
divulgado na rede. As opções aceitas pelo SAMBA: "NT Server", "NT Workstation",
"Win95" ou "WfW".
domain logons
Usado para validar o login na rede, apenas para estações Windows.
logon script
Indica qual arquivo de logon script serí executado para os usuírios. A
variível %u corresponde ao usuírio na rede. Deve também ser criado um
compartilhamento de nome [netlogon] apontando para o diretório dos
scripts.
logon path
Indica o caminho do perfil remoto do usuírio. A variível %L corresponde
ao nome do servidor NetBios (que pode ser o próprio SAMBA). O logon
path é útil quando usuírios costumam efetuar logon em mais de um Host na
rede, pois seu perfil é trazido com o logon. No caso do exemplo, o
diretório "Profiles" deve conter os scripts (em formato Microsoft usando NET
USE e etc) e os scripts devem ser criados com o notepad do Windows por
exemplo, a fim de conservar o formato do arquivo.
domain master
Indica se o Host serí o Domain Master Browser da rede inteira (WAN).
local master
Indica se o Host serí o Master Browser da rede local.
preferred master
Este parâmetro força a eleição do SAMBA como Master Browser para o
workgroup. É recomendível utilizar este parâmetro em conjunto com o "domain
master = yes" para garantir a eleição. Mas tome cuidado: se você possui
uma rede com servidores Windows e SAMBA e jí possui um servidor como
Domain Master, não use esta opção e deixe o parâmetro "os level = 65"
para haver equilàbrio.
guest account
O SAMBA trabalha melhor em redes Microsoft com a existência de uma
conta guest (visitante em inglês). Por padrão a conta usada é nobody (a
mesma utilizada pelo Apache).
wins server
Indica qual o servidor de Wins da rede. Se o próprio Host for o
servidor de Wins então não utilize este parâmetro, pois haverí um loop e o
sistema travarí!
wins support
Permite ao SAMBA ser o servidor de Wins na rede. Isto significa que o
SAMBA terí uma tabela com o ambiente completo da rede, garantindo que as
estações tenham acesso a estas informações e ganho em velocidade para
encontrar e acessar os compartilhamentos e impressoras. O Wins Server
deve ser especificado na configuração de rede (TCP/IP) das estações,
indicando o endereço IP do servidor.
keep alive
Como míquinas rodando Windows tendem a travar com o passar do tempo,
este parâmetro é usado para verificar o estado da conexão, evitando
trífego desnecessírio na rede. Também pode ser usado para estações Linux.
debug level
Parâmetro usado para dar flexibilidade a configuração do sistema.
Permite ao SAMBA trabalhar corretamente com algumas situações de erro, por
exemplo.
winpopup command
Especifica qual comando serí executado quando o servidor receber
mensagens Winpopup. Aqui, muitas opções podem ser usadas de acordo com a
preferência do Administrador. Se sua rede utiliza mensagens deste tipo, é
interessante definir um comando para o parâmetro, evitando assim
possàveis mensagens de erro para quem enviou a mensagem ao servidor.
log file
Indica o arquivo de log do SAMBA. A variível %u corresponde ao nome de
logon do usuírio. O samba por padrão gera arquivos de log em
/var/log/samba que indicam por exemplo os horírios de logon dos usuírios, quem
acessou determinado arquivo, etc. Esteja atento para estas informações
para consultas quando necessírio.
null passwords
Indica se serí ou não possàvel que usuírios tenham senha nula de logon
(logon sem senha).
unix password sync
Se este parâmetro for ativado (= yes) então clientes SMB (como estações
Windows) poderão trocar sua senha de login.
socket options
Este parâmetro permite configurações extras para o protocolo,
possibilitando uma melhor performance do servidor em lidar com os pacotes na
rede.
printing
Indica qual o sistema de impressão padrão utilizado pelo Linux.
printcap name
Indica o arquivo para busca das definições das impressoras.
load printers
Disponibiliza as impressoras para a rede.
hosts allow
Indica quais míquinas tem acesso ao servidor SAMBA. Pode-se utilizar o
endereço IP ou o nome da míquina. Para garantir acesso a toda uma rede
por exemplo, escreva: "hosts allow = 192.168.1.". Este parâmetro deve
ser usado preferencialmente nas demais seções, mas também pode ser usado
na seção Global.
hosts deny
Como em "hosts allow", mas para restringir o acesso ao servidor SAMBA.
Seção [homes]
Define os parâmetros para as pastas pessoais dos usuírios na rede (home
dir):
comment
Comentírio para este compartilhamento.
public
Também conhecido como "guest ok", permite ou não acesso de outros
usuírios.
browseable
Define se o compartilhamento serí ou não visàvel para o Ambiente de
Rede. Estações Windows95 versão 4.00.950-C não aceitam esta opção, onde
uma possàvel solução é utilizar o nome do compartilhamento seguido de $
(teste$ por exemplo), como faz-se no Windows.
writeable
Indica se o usuírio poderí ou não escrever em sua pasta pessoal (home
dir).
-> Demais Seções [shares]
Correspondem aos compartilhamentos presentes na rede. Os parâmetros
abaixo são apenas alguns dos possàveis que podem ser utilizados:
comment
Comentírio para o compartilhamento.
path
Caminho do diretório compartilhado.
valid users
Este parâmetro é usado para destacar quem terí acesso ao
compartilhamento na rede. É importante destacar que estações Win95/98/Me têm
diferenças entre si que em muitas situações representam um problema para acesso
e segurança. Acontece algumas vezes de você definir o "write list" e o
"read list" corretamente mas mesmo assim usuírios do "read list"
conseguem escrever no compartilhamento (!). Para resolver este problema,
inclua o "valid users" indicando os usuírios que têm acesso e em seguida
inclua o "write list" e o "read list" conforme sua necessidade.
writeable
Indica se serí ou não possàvel criar ou excluir arquivos ou diretórios
do compartilhamento.
public / guest ok
Indica se serí ou não permitido o acesso de outros usuírios.
browseable
Define se o compartilhamento serí ou não visàvel para o Ambiente de
Rede do Windows (apresentado na rede).
write list
Define os usuírios e/ou grupos com acesso de escrita no
compartilhamento. Para mais de um usuírio, separe os nomes por vàrgula
(user1, user2, etc) e para grupos utilize @ antes do nome do grupo.
read list
Como em .write list., mas define quem terí permissão de apenas leitura.
force create mode
Diz ao SAMBA para forçar o tipo de permissão dos arquivos criados (o
mesmo que usar o chmod). Esta permissão tem menor prioridade que os
parâmetros write list e read list.
force directory mode
O mesmo que force create mode, mas para os diretórios criados no
compartilhamento.
admin users
Indica quais são os usuírios com permissão completa para o
compartilhamento (permissão de root).
copy
Permite copiar os parâmetros de outra seção, como um template por
exemplo, útil se utiliza compartilhamentos semelhantes. Para alterar
parâmetros basta informí-los na seção atual.
hosts allow
Indica quais míquinas podem acessar o compartilhamento. Pode-se
utilizar o endereço IP ou o nome da míquina. Para garantir acesso a toda uma
rede classe C por exemplo, escreva: "hosts allow = 192.168.1.".
hosts deny
Como em "hosts allow", mas para restringir o acesso ao
compartilhamento.
max connections
Permite especificar o número míximo de conexões simultâneas ao
compartilhamento.
max disk size
Permite especificar qual o limite de espaço em disco que o
compartilhamento pode utilizar. Este valor é definido em Mb (megabytes).
Abaixo temos variíveis que podem ser usadas em parâmetros:
%S - Nome do Serviço (compartilhamento) atual.
%u - Nome do usuírio.
%g - Nome do grupo.
%H - Nome do diretório pessoal do usuírio (home dir).
%m - Nome da míquina cliente fornecido pelo NetBios.
%L - Nome do servidor NetBios, permitindo que a configuração desejada
seja alterada de acordo com o cliente que vai acessar o sistema.
%M - Nome Internet da míquina cliente.
%a - Sistema Operacional da míquina remota, onde os reconhecidos são
WfW, Win95, Win2000.
%I - O endereço IP da míquina cliente.
%T - Data e horírio.
Testando o SAMBA
----------------
Agora que o smb.conf estí configurado faça um teste para saber se estí
tudo certo, com o comando testparm:
# testparm > teste_config_samba #
Serí criado o arquivo teste_config_samba. Confira este arquivo e caso
exista alguma mensagem de erro (ERROR...) volte a corrija o problema.
Acertadas as configurações, deve-se ativar o SAMBA:
#/etc/rc.d/init.d/smb start
Se quiser conferir se o SAMBA estí realmente no ar, execute o comando
acima mas substitua o "start" por "status".
Para que o SAMBA seja iniciado sempre após a inicialização do servidor,
execute o ntsysv e marque o SMB. Se preferir, você também pode escrever
a linha de "start" do smb no arquivo /etc/rc.d/rc.local, da seguinte
forma:
1) De um vi no rc.local (#vi /etc/rc.d/rc.local ).
2) Tecle "i" para editar e ví até o final do arquivo (Page Down).
3) Escreva a seguinte linha: /etc/rc.d/init.d/./smb start
4) Tecle "Esc" e em seguida ":" e depois "wq" para sair.
A partir de agora, sempre que o computador for reiniciado o SAMBA serí
ativado automaticamente.
Em uma estação Linux, é necessírio dar um "start" exatamente como no
servidor, onde o smbclient deve ser utilizado para acessar os
compartilhamentos disponàveis no servidor.
Ainda na estação Linux, é necessírio que cada uma contenha um smb.conf
se diretórios locais precisarem ser compartilhados.
Estações Windows devem estar com o TCP/IP configurado corretamente (IP,
Míscara de SubRede, Wins se existir, etc).
Acessando Servidores através de Estações Linux
----------------------------------------------
-> O smbclient
Da mesma forma que o SAMBA permite que o Linux atue como servidor para
estações Linux e redes Microsoft, ele também permite atuar como estação
de trabalho para acessar servidores de ambos sistemas, sem que nenhuma
configuração seja necessíria no servidor.
Com o smbclient é possàvel acessar dados em um servidor Windows (lembra
o comando net, mas a sintaxe utilizada é similar aos de FTP). Ele pode
ser usado para receber e enviar arquivos, listar diretórios, navegar
pelos diretórios, renomear e apagar arquivos, entre outros. Diretórios
compartilhados por um servidor SAMBA são acessados da mesma forma.
Para verificar quais compartilhamentos estão disponàveis em um
determinado Host, execute:
$smbclient -L host_desejado
A resposta serí uma lista de serviços, ou seja, nomes de dispositivos
ou impressoras que podem ser compartilhados com os usuírios na rede. A
menos que o servidor SMB não tenha itens de segurança configurados, serí
solicitada uma senha antes de mostrar as informações. Exemplo:
$smbclient -L servidor1
A resposta serí semelhante a:
Server time is Fri Dec 22 15:58:02 2000
Timezone is UTC+10.0
Password:
Domain=[EMPRESA] OS=[Windows NT 4.0]
Server=[NT LAN Manager 4.0]
Server=[servidor1] User=[] Workgroup=[EMPRESA] Domain=[]
Sharename Type Comment
ADMIN$ Disk Remote Administration
Public Disk Public
C$ Disk Default Share
Print$ Disk Printer Control
Para acessar uma pasta compartilhada, basta especificar o caminho na
rede, conforme abaixo:
$smbclient //maquina/pasta1 senha O smbtar
Também é possàvel fazer backup (cópias de segurança) para o formato
.tar de arquivos que estão em compartilhamentos na rede. Esta operação é
muito útil para garantir backup de arquivos em estações com pastas
compartilhadas mas que não pertencem ao Domànio da rede (por exemplo) ou em
estações isoladas da rede. O comando utilizado é o smbtar:
$smbtar -s HOST -p SENHA -x COMPARTILHAMENTO -d PASTA -t FITA (.tar)
Como exemplo vamos criar um arquivo chamado vacina.tar que serí o
backup de //servidor1/vacinas/vacina.exe sem senha para acesso:
$smbtar -s servidor1 -x vacinas -d vacina.exe -t vacina.tar
Para conferir se o arquivo foi criado corretamente, digite:
$tar -tvf vacina.tar
Se o empacotamento teve sucesso, você verí o nome original do arquivo e
seu tamanho. Para que o backup seja guardado em fita deve-se mudar a
sintaxe do comando, substituindo o nome do arquivo pela unidade de fita
instalada (geralmente /dev/st0).
-> O smbpasswd
O SAMBA permite também que as estações troquem suas senhas de logon,
utilizando o smbpasswd. Ele age de forma similar ao comando passwd, mas
as senhas são armazenadas no arquivo smbpasswd. É possàvel ainda alterar
a senha dos usuírios em um servidor Primírio de um Domànio NT (PDC).
Utilizado pelo superusuírio, ele permite que contas sejam adicionados
ou removidos e atributos sejam alterados.
Mantenha o "localhost" especificado no parâmetro "allow hosts" para seu
perfeito funcionamento.
O smbpasswd é um arquivo em formato ASCII e contém o nome do usuírio,
identificação junto ao Linux, a senha encriptada, o indicador de como
estí a conta e a data de última alteração da senha do usuírio.
Vale destacar que o smbpasswd somente é útil quando o SAMBA estí
configurado para utilizar senhas criptografadas (veja detalhes em
Considerações).
-> O smbstatus
Para saber a situação atual das conexões SAMBA, utilizamos o smbstatus
($smbstatus -p - Lista os processos smbd e finaliza em seguida. Útil quando
utilizado em programas.
-S - Lista todos os compartilhamentos definnidos.
-s - Permite utilizar outro arquivo de conffiguração (smb.conf2 por
exemplo), que deve ser especificado após a opção.
-u - Lista as informações rellevantes sobre o usuírio, que deve ser
especificado após a opção.
-> O testprns
O testprns verifica o nome da impressora junto ao smbd, a fim de
determinar se hí um nome vílido (entrada encontrada em printcap para a
impressora) sendo informado para uso pelo serviço de impressão. Pode ser
ativado da seguinte forma:
#testprns ftp://ftp.samba.org/pub/samba/pwdump/pwdump.exe
Efetue logon como usuírio Administrator no servidor NT (que
disponibiliza a autenticação). Em seguida, abra um Command Prompt e ví até o
diretório que você colocou o pwdump. Rode o comando pwdump da seguinte
maneira:
#pwdump smbpasswd
Serí gerado um arquivo smbpasswd com as informações de autenticação
(logon e senha) do Windows NT no formato criptografado utilizado pelo
SAMBA. Agora copie o arquivo smbpasswd gerado para o servidor Linux
(através de diskete ou diretório compartilhado, por exemplo). No Linux, jogue
o arquivo smbpasswd criado para o diretório /etc e defina as permissões
para 600:
#chmod 600 /etc/smbpasswd
Para que funcione corretamente, é importante destacar que o ID dos
usuírios seja o mesmo tanto no smbpasswd quanto no passwd do Linux. Abra o
smbpasswd e exporte os dados de autenticação (nome do usuírio, ID, etc)
mas não é possàvel fazer o mesmo com as senhas. Se você quiser exportar
as senhas vai ter que quebrí-las com algum password cracker :) Na
verdade não é necessírio ter a senha no passwd, apenas o login, ID e home.
Para rodar o SAMBA e ele autenticar os usuírios, não é preciso ter a
senha no passwd do Unix, apenas o login, ID e home se você quiser
exportí-los. Vão ser utilizadas as senhas do smbpasswd.
Luciano Linhares Martins lmartins@matrix.com.br criou um script
baseado no mksmbpasswd para converter as senhas em formato smbpasswd para o
passwd. Funciona bem e pode ser modificado conforme a necessidade de
cada um. É um script bem simples e pode ser alterado de acordo com a sua
necessidade. Crie o arquivo mkpasswd.sh com o conteúdo abaixo:
#!/bin/sh
awk 'BEGIN {FS=":"
printf("#\n# Unix password file.\n#\n")
}
{ printf( "%s:*:%s:103:%s:/home/%s:/bin/bash\n", $1, $2, $5, $1) }
'
Dê um chmod 700 no arquivo e execute da seguinte maneira:
#cat /etc/smbpasswd | ./mkpasswd.sh passwd-smb
Se o seu arquivo smbpasswd e o script mkpasswd.sh estiverem em outro
local, configure de acordo com a sua necessidade. Após isso, é gerado um
arquivo chamado passwd-smb com os logins, id's, home, etc no formato do
passwd do seu sistema.
Normalmente, os ID's do smbpasswd vão começar a partir de 1000 e você
não vai ter problemas para junta-lo com o seu passwd do Unix sem nenhum
conflito. Eu recomendo que você confira antes de juntar as bases.
Procure por logins com o mesmo ID, mesmo username e username com espaços.
Se você utiliza shadow é importante desabilití-lo antes de juntar os
arquivos. Desabilite o shadow através do comando pwunconv. Em seguida
para passar o arquivo passwd-smb para o passwd do sistema entre no
diretório onde esta o arquivo passwd-smb que você gerou e digite:
#cat passwd-smb /etc/passwd
Se você utiliza o shadow, pode reativí-lo agora através do comando
pwconv. Reinicie o Linux para que as alterações entrem em vigor.
Exemplo de Login Script para estações Windows
---------------------------------------------
O login script (ou logon script) é uma ferramenta muito útil para
disponibilizar recursos na rede. O script abaixo é um exemplo que pode usado
em redes com estações Windows.
Lembre-se de que deve ser criado com o notepad (por exemplo) em uma
estação Windows para que funcione corretamente! (Confira a seção [global]
para saber mais sobre o logon script). Note que a sintaxe do comando
net é diferente para sistemas 95/98/Me e NT/2000.
rem Logon script padrão para a rede.
net time \\servidor1 /set /yes
@echo off
if %OS%.==Windows_NT. goto WinNT
:Win95
net use X: \\servidor1\pasta_01
net use Z: /HOME
goto end
:WinNT
net use X: \\servidor1\pasta_01 /persistent:no
net use Z: /HOME /persistent:no
:end
Configurando o SAMBA Remotamente
--------------------------------
Além de ser um software de uso livre e compatàvel com redes existentes,
o SAMBA ainda possui outra caracteràstica: permite ser administrado
remotamente. Para isso deve utilizar um programa especàfico que geralmente
trabalha via http. É possàvel monitorar através de sua rede interna ou
mesmo através da Internet.
Os principais programas são o SWAT, Webmin e o LinuxConf. Existem
outros mas não vou entrar em detalhes de como instalar estes programas ou
utilizí-los, mas abaixo estí o link para downloads, inclusive de
programas para administrar o SAMBA através da Interface Grífica do Linux:
http://us4.samba.org/samba/GUI
Considerações
-------------
Abaixo estão algumas considerações importantes sobre o SAMBA:
O SAMBA permite ainda muitas outras configurações que podem ser
consultadas através do man do smb.conf. Uma documentação importante estí em
/usr/doc/samba-2.2.x/ com dicas e referencias a segurança, navegação,
compatibilidades, etc.
Uma caracteràstica das versões mais recentes do SAMBA é a possibilidade
de um cliente NT/2000 usar sua interface nativa de configuração para
ver e modificar permissões no Linux. O parâmetro "nt acl support = yes"
deve ser adicionado na seção [global] do smb.conf.
A aplicação smbmount vem inclusa no pacote do SAMBA (samba-client) com
a função de possibilitar a montagem de um compartilhamento de outra
míquina localmente. É uma ótima ferramenta mas pode apresentar problemas,
onde os mais conhecidos são quando compartilhamos unidades de CD via
rede. O comando mount é mais seguro e pode fazer exatamente a mesma
tarefa, com a seguinte sintaxe:
mount -t smbfs -o username=usuario,password=senha //estacao/pasta /local
O diretório /local deve ser criado antecipadamente. Vale a pena
escrever uma linha no /etc/fstab para facilitar o processo.
Não é aconselhível reiniciar o SAMBA a cada modificação no smb.conf.
Com excessão a parâmetros como "path", "logon master", e outros que
definem acesso ou segurança, a criação de compartilhamentos e permissões de
acesso são automaticamente validadas pelo Samba. Muitos programas ficam
"salvando" arquivos constantemente enquanto estão abertos, e se neste
momento você reiniciar o SAMBA serí um risco de se perder o arquivo.
Por padrão o SAMBA não utiliza autenticação encriptada na rede, mas sim
"clear text". Versões mais atuais do Windows95/98/Me não utilizam o
modo "clear text". Para resolver este problema temos duas soluções:
Solução 1 - Inserir os parâmetros "encript passwords = yes" e "smb
passwd file = /etc/smbpasswd" na seção [global] do smb.conf e certificar-se
de que todas as estações na rede utilizam autenticação encriptada no
logon. Para fazer o Windows trabalhar com senhas criptografadas, use o
regedit e crie a seguinte chave:
Windows 95/98
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\VxD\VNETSUP
Adicione um novo valor DWORD: Value Name: EnablePlainTextPassword e
Data: 0x01
Windows NT 4.0
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\Rdr\Parameters
Adicione um novo valor DWORD: Value Name: EnablePlainTextPassword e
Data: 0x01
Windows 2000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\LanmanWorkStation
\Parameters
Adicione um novo valor DWORD: Value Name: EnablePlainTextPassword e
Data: 0x01
Uma vez que as alterações no registro tenham sido feitas, reinicie a
míquina Windows.
Para maiores detalhes, leia os arquivos ENCRYPTION.txt, Win95.txt e
WinNT.txt na documentação do Samba. Se seus clientes e seu servidor estão
usando senhas criptografadas, você não serí capaz de visualizar
compartilhamentos no servidor até que uma conexão inicial tenha sido feita com
a autenticação apropriada. Para conseguir a conexão inicial, entre o
nome do compartilhamento manualmente no Gerenciador de Arquivos ou na
caixa de diílogo do Explorer, na forma '\\'. Registre-se no servidor com
um nome de usuírio e senha que lhe são vílidos.
Se você suspeita que seu serviço de nomes NetBIOS não estí corretamente
configurado (talvez porque você tenha obtido erros 'host not found' ao
tentar se conectar), tente usar somente o endereço IP do servidor:
'\\192.168.0.1'. Para que o nome dos arquivos apareçam corretamente, você
pode precisar configurar algumas opções na seção do compartilhamento.
Adicione o seguinte parâmetro para clientes Windows 95/98/NT/2000, mas
pode apresentar problemas para clientes WfW3.11: "mangle case = yes".
Solução 2 - Não utilizar encriptação no logon, alterando uma chave no
registro do Windows. O SAMBA trís o arquivo .reg para cada versão do
Windows com a chave modificada. Execute o arquivo correspondente para
validar a mudança (eles estão em /usr/doc/samba-2.0.x/docs).
Se você não possui estes arquivos, abaixo estão as chaves que devem ser
modificadas nas estações Windows para não utilizar o "clear text":
Windows 95/98
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\VxD\VNETSUP]
"EnablePlainTextPassword"=dword:00000001
WindowsNT 4.0
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Rdr\Parameters]
"EnablePlainTextPassword"=dword:00000001
Windows 2000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\LanmanWorkStation
\Parameters]
"EnablePlainTextPassword"=dword:00000001
É claro que se sua rede for "sniffada", os passwords que não estiverem
encriptados serão descobertos. Em alguns casos vale a pena tirar a
criptografia de login e monitorar a rede com um anti-sniffer. Mas lembre-se
que o Windows NT e o 2000 só conseguem se autenticar no servidor SAMBA
através de senha encriptada. Mais ainda: o Windows 2000 vem com algumas
dificuldades para entrar no Domànio de um PDC Samba versão 2.1.x.
Utilize a versão 2.2.2 ou superior do Samba para evitar problemas.
Se o SAMBA deve diferenciar maiúsculas e minúsculas quando procurando
por arquivos, adicione "case sensitive = yes". Para utilizar como padrão
letras maiúsculas ou minúsculas quando os arquivos são criados,
adicione "default case = lower (ou upper)". Para preservar maiúsculas e
minúsculas para todos os nomes de arquivo, adicione "preserve case = yes".
Para preservar maiúsculas e minúsculas para nomes DOS (8.3), adicione
"short preserve case = yes".
Se o servidor possui mais de uma placa de rede, o smb.conf deve conter
uma especificação para qual placa serí utilizada pelo Samba. Adicione o
seguinte parâmetro: "interfaces = 192.168.1.1/24", onde o número depois
da / é uma referencia à míscara de sub-rede. "24" é o valor a usar para
uma rede Classe C não segmentada. Para mais informações sobre cílculo
de sub-redes visite:
http://www.ziplink.net/~ralphb/IPSubnet/index.html
O SAMBA atualmente não pode ser utilizado como BDC (Backup Server) em
conjunto com um PDC Windows NT ou 2000. Tanto as versões 2.0.x quanto as
2.2.x ainda ñ estão prontas para tal tarefa (pelo menos por enquanto).
O Samba de modo geral não permite "trust relationship" entre servidores
Windows (NT e 2000). Quem sabe após ler estas linhas este recurso jí
tenha sido disponàvel? :)
Todos os parâmetros de configuração apresentados neste manual são
vílidos para as versões 2.0.x e 2.2.x do Samba. Caso alguém encontre alguma
incompatibilidade, peço que entre em contato ok!
Lembre-se que a documentação do SAMBA (do protocolo SMB em geral) é
extensa. Consulte os docs criados após a sua instalação. Você pode também
obter referencias em documentações do LDP (Linux Documentation
Project), que no Brasil estí em: .
Agradecimentos e créditos
-------------------------
(Em versões anteriores deste manual eu não citei alguns nomes,
puramente por esquecimento... Peço muitas desculpas pois ainda circulam na
Internet. Os devidos créditos estão abaixo e se esqueci de alguém, por
favor email-me!!)
Espero com este artigo ter ajudado todos aqueles que pretendem montar
um servidor de arquivos Linux e difundir o Linux e sua documentação ao
maior número possàvel de empresas, administradores e usuírios.
Deixo meus sinceros agradecimentos a todos que colaboraram com este
manual direta ou indiretamente, principalmente aos seguintes sites (em
ordem de publicação):
Linux Unleashed
LinuxPlace
Linux in Brazil
LDP Brasil
Olinux
Dicas Linux
... e todos os outros que também publicaram este manual e que se
esforçam para divulgar o Linux no Brasil. Documentações foram consultadas
para agregar ainda mais informação a este manual, e foram elas:
smb-howto do LDP
samba-howto da Conectiva
o man do samba (smb.conf e comandos)
publicações disponàveis no site oficial do Samba
Este manual pode ser encontrado em: http://br.geocities.com/vffzbr
Agradeço também a todos os usuírios, administradores e leitores que
enviaram emails a respeito do manual, elogiando e criticando, buscando
respostas para as dúvidas e citando dicas a serem adicionadas a este.
Parabéns ao "Samba Team" pelo excelente trabalho!
Grande Abraço a todos! :P

Configurando o Squid


O Squid é um servidor proxy. Ele permite compartilhar a conexão entre vírios micros, servindo como um intermediírio entre eles e a Internet. Usar um proxy é diferente de simplesmente compartilhar a conexão diretamente, via NAT.

Ao compartilhar via NAT os micros da rede acessam a internet diretamente, sem restrições. O servidor apenas repassa as requisições recebidas, como um garoto de recados. O proxy é como um burocrata que não se limita a repassar as requisições: ele analisa todo o trífego de dados, separando o que pode ou não pode passar e guardando informações para uso posterior.

Compartilhar a conexão via NAT é mais simples do que usar um proxy como o Squid sob vírios aspectos. Você compartilha a conexão no servidor, configura os clientes para o utilizarem como gateway e pronto.

Por exemplo, para compartilhar a conexão via NAT no Mandrake você usaria o "Compartilhar conexão com a Internet" dentro do Painel de Controle e configuraria os clientes para usar o endereço IP do servidor (192.168.0.1 por exemplo) como gateway. No Kurumin você usaria o àcone mígico no Iniciar > Internet > Compartilhar Conexão e Firewall.

http://www.guiadohardware.net/tutoriais/090/index_html_m3179b4cd.png

Ao usar um proxy, além da configuração da rede é necessírio configurar o navegador e cada outro programa que for acessar a internet em cada cliente para usar o proxy. Esta é uma tarefa tediosa e que acaba dando bastante dor de cabeça a longo prazo, pois cada vez que um micro novo for colocado na rede serí preciso fazer a configuração novamente.

A configuração do proxy muda de navegador para navegador. No Firefox por exemplo você encontra em Editar > Preferências > Geral > Proxy. No IE a configuração estí em Opções da Internet > Opções > Configurações da Lan > Usar um servidor Proxy.

http://www.guiadohardware.net/tutoriais/090/index_html_m3877eb7e.png

Além do navegador, outros programas, podem ser configurados para trabalhar através do proxy: Clientes de ICQ e MSN e até programas P2P.

As vantagens de usar um proxy são basicamente três:

1- É possàvel impor restrições de acesso com base no horírio, login, endereço IP da míquina e outras informações e bloquear píginas com conteúdo indesejado.

2- O proxy funciona como um cache de píginas e arquivos, armazenando informações jí acessadas. Quando alguém acessa uma pígina que jí foi carregada, o proxy envia os dados que guardou no cache, sem precisar acessar a mesma pígina repetidamente. Isso acaba economizando bastante banda na conexão com a Internet e tornando o acesso mais rípido sem precisar investir numa conexão mais rípida.

Hoje em dia os sites costumam usar píginas dinâmicas, onde o conteúdo muda a cada visita, mas mesmo nestes casos o proxy dí uma ajuda, pois embora o html seja diferente a cada visita, e realmente precise ser baixado de novo, muitos componentes da pígina, como ilustrações, banners e animações em flash podem ser aproveitadas do cache, diminuindo o tempo total de carregamento.

http://www.guiadohardware.net/tutoriais/090/index_html_236e323b.png

Dependendo da configuração, o proxy pode apenas acelerar o acesso às píginas, ou servir como um verdadeiro cache de arquivos, armazenando atualizações do Windows Update, downloads diversos e pacotes instalados através do apt-get por exemplo. Ao invés de ter que baixar o Service Pack XYZ do Windows XP ou o OpenOffice nos 10 micros da rede, você vai precisar baixar apenas no primeiro, pois os outros 9 vão baixar a partir do cache do squid.

3- Uma terceira vantagem de usar um proxy é que ele loga todos os acessos. Você pode visualizar os acessos posteriormente usando o Sarg, assim você sabe quem acessou quais píginas e em que horírios. Além de tudo, o Squid é dedo duro :-P

http://www.guiadohardware.net/tutoriais/090/index_html_m65bb8f79.png

Mesmo assim, você pode estar achando que as vantagens não vão compensar o trabalho de sair configurando micro por micro, programa por programa para usar o proxy e é mais fícil simplesmente compartilhar via NAT. Mas, existe a possibilidade de juntar as vantagens das formas de compartilhamento, configurando um proxy transparente como veremos adiante.

Ao usar um proxy transparente, você tem basicamente uma conexão compartilhada via NAT, com a mesma configuração bísica nos clientes. O proxy entra na história como uma espécie add-on.

Uma regra de firewall envia as requisições recebidas na porta 80 do servidor para o proxy, que se encarrega de responder aos clientes. Toda a navegação passa a ser feita automaticamente através do proxy (incluindo o negócio do cache dos arquivos do Windows update, downloads e do apt-get), sem que você precise fazer nenhuma configuração adicional nos clientes :-)

http://www.guiadohardware.net/tutoriais/090/index_html_m2fd47919.png

A algum tempo atrís, escrevi um script de configuração para o Kurumin, disponàvel no painel de configuração de servidores. Este script permite instalar o proxy, estabelescer algumas restrições de acesso e ativar o proxy transparente de forma simples:

http://www.guiadohardware.net/tutoriais/090/index_html_3a3d4dd4.png

Neste tutorial vou ensinar como fazer isso e criar regras mais elaboradas de restrição de acesso em qualquer distribuição.

Instalando o Squid

O Squid é composto de um único pacote, por isso a instalação é simples. Se estiver no Mandrake, instale com um:

# urpmi squid

Se estiver no Debian ou outra distribuição baseada nele, use o apt-get:

# apt-get install squid

Toda a configuração do Squid é feita num único arquivo, o /etc/squid/squid.conf.

Caso você esteja usando uma versão antiga do Squid, como a incluàda no Debian Woody por exemplo, o arquivo pode ser o /etc/squid.conf. Apesar da mudança na localização do arquivo de configuração, as opções descritas aqui devem funcionar sem maiores problemas.

O arquivo original, instalado junto com o pacote é realmente enorme, contém comentírios e exemplos para quase todas as opções disponàveis. Ele pode ser uma leitura interessante se você jí tem uma boa familiaridade com o Squid, mas de inicio é melhor começar com um arquivo de configuração mais simples, apenas com as opções mais usadas.

Em geral cada distribuição inclui uma ferramenta diferente para a configuração do Proxy, como o àcone mígico que incluà no Kurumin.

Uma das mais usadas é o Webmin. A função destas ferramentas é disponibilizar as opções através de uma interface grífica e gerar o arquivo de configuração com base nas opções escolhidas.

Em alguns casos estas ferramentas ajudam bastante, mas como elas mudam de distribuição para distribuição, é mais produtivo aprender a trabalhar direto no arquivo de configuração, que não é tão complicado assim.

Pra começar renomeie o arquivo padrão:

# mv /etc/squid/squid.conf /etc/squid/squid.conf.velho

e crie um novo arquivo /etc/squid/squid.conf, com apenas as quatro linhas abaixo:

--------

http_port 3128
visible_hostname kurumin
acl all src 0.0.0.0/0.0.0.0
http_access allow all

--------

Estas linhas são o suficiente para que o Squid "funcione". Como você percebeu, aquele arquivo de configuração gigante tem mais uma função informativa, citando e explicando as centenas de opções disponàveis. As quatro linhas dizem o seguinte:

- http_port 3128: A porta onde o servidor vai ficar disponàvel

- visible_hostname kurumin: O nome do servidor

- acl all src 0.0.0.0/0.0.0.0 e http_access allow all: Estas duas linhas criam uma acl (uma polàtica de acesso) chamada "all" (todos) incluindo todos os endereços IP possàveis e permite que qualquer um dentro desta lista use o proxy. Ou seja, ela permite que qualquer um use o proxy, sem limitações.


Para testar o Squid, habilite o servidor com o comando:

# service squid start

Se você estiver no Debian, use o comando:

# /etc/init.d/squid start

Se estiver no Slackware, o comando serí:

# /etc/rc.d/rc.squid start

Configure um navegador, no próprio servidor para usar o proxy, através do endereço 127.0.0.1 (o localhost), porta 3128 e teste a conexão.

Se tudo estiver ok você conseguirí acessar o proxy também através dos outros micros da rede local, basta configurar os navegadores para usarem o proxy.

Criando uma configuração bísica

O problema é que com apenas estas quatro linhas o proxy estí muito aberto. Se você deixar o servidor proxy ativo no próprio servidor que compartilha a conexão e não tiver nenhum firewall ativo, alguém na Internet poderia usar o seu proxy, o que naturalmente não é desejado. O proxy deve ficar ativo apenas para a rede local. Vamos gerar então um arquivo mais completo, permitindo que apenas os micros da rede local possam usar o proxy e definindo mais algumas polàticas de segurança.

Aqui eu jí aproveitei algumas linhas do arquivo original, criando regras que permitem o acesso a apenas algumas portas, e não a qualquer coisa como antigamente:

--------

http_port 3128
visible_hostname kurumin

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

acl redelocal src 192.168.1.0/24
http_access allow localhost
http_access allow redelocal

http_access deny all

--------

Veja que agora criei duas novas acl's. A acl "localhost" contém o endereço 127.0.0.1, você usa para usar o proxy localmente, a partir do próprio servidor e a acl "rede local" que inclui os demais micros da rede local.

Você deve substituir o " 192.168.1.0/24" pela a faixa de endereços IP e a míscara de sub-rede usada na sua rede local (o 24 equivale à mascara 255.255.255.0).

Depois de criadas as duas polàticas de acesso, vão duas linhas no final do arquivo que especificam que os micros que se enquadrarem nelas vão poder usar:

http_access allow localhost
http_access allow redelocal

Lembra-se da acl "all", que contém todo mundo? Vamos usa-la para especificar que quem não se enquadrar nas duas regras acima (ou seja, micros não autorizados, da internet) não poderí usar o proxy:

http_access deny all

Esta linha deve ir no final do arquivo, depois das outras duas. O ordem é importante, pois o squid interpreta as regras na ordem em que são colocadas no arquivo. Se você permite que o micro X acesse o proxy, ele acessa, mesmo que uma regra mais abaixo diga que não.

Se você adicionasse algo como:

acl redelocal src 192.168.1.0/24
http_access allow redelocal
http_access deny redelocal

Os micros da rede local continuariam acessando, pois a regra que permite vem antes da que proàbe.

Configurando o cache de píginas e arquivos

Outra coisa importante é configurar o cache do proxy. O squid trabalha com dois tipos de cache:

1- Um cache rípido, feito usando parte da memória RAM do servidor
2- Um cache um pouco mais lento porém maior, feito no HD

O cache na memória RAM é ideal para armazenar arquivos pequenos, como píginas html e imagens, que serão entregues instantâneamente para os clientes. O cache no HD é usado para armazenar arquivos maiores, como downloads, arquivos do Windows update e pacotes baixados pelo apt-get.

O cache na memória RAM é sempre relativamente pequeno. Num servidor não dedicado ou seja, uma míquina que é usada para fazer outras coisas, mas roda também o proxy, você vai reservar coisa de 16 ou 32 MB de RAM para o cache, para evitar que o cache do squid coma toda a memória RAM deixando o micro lento.

Se você tiver uma rede muito grande e preferir deixar um micro dedicado apenas para o Squid, então o cache pode ter até 1/3 da memória RAM do servidor. Não caia no erro de reservar quase toda a RAM para o cache, pois além do cache, o sistema vai precisar de memória para fazer outras coisas.

O cache no HD pode ser mais generoso, afinal a idéia é que ele guarde todo tipo de arquivos, principalmente os downloads grandes, que demoram para ser baixados. A única limitação neste caso é o espaço livre no HD.

A configuração do cache é feita adicionando mais algumas linhas no arquivo de configuração:


A configuração da quantidade de memória RAM dedicada ao cache é feita adicionando a opção "cache_mem", que contém a quantidade de memória que serí dedicada ao cache. Para reservar 32 MB, por exemplo, a linha ficaria:

cache_mem 32 MB

Abaixo vai mais uma linha, que determina o tamanho míximo dos arquivos que serão guardados no cache feito na memória RAM. O resto vai para o cache feito no HD. O cache na memória é muito mais rípido, mas como a quantidade de RAM é muito limitada, melhor deixa-la disponàvel para píginas web, figuras e arquivos pequenos em geral. Para que o cache na memória armazene arquivos de até 64 KB por exemplo, adicione a linha:

maximum_object_size_in_memory 64 KB

Em seguida vem a configuração do cache em disco, que armazenarí o grosso dos arquivos. Por default, o míximo são downloads de 16 MB e o mànimo é zero, o que faz com que mesmo imagens e arquivos pequenos sejam armazenados no cache. Sempre é mais rípido ler a partir do cache do que baixar de novo da web, mesmo que o arquivo seja pequeno.

Se você faz download de arquivos grandes e deseja que eles fiquem armazenados no cache, aumente o valor da opção maximum_object_size Isto é especialmente útil para quem precisa baixar muitos arquivos através do apt-get ou Windows update em muitos micros da rede. Se você quiser que o cache armazene arquivos de até 512 MB por exemplo, as linhas ficariam:

maximum_object_size 512 MB
minimum_object_size 0 KB

Você pode definir ainda a percentagem de uso do cache que farí o squid começar a descartar os arquivos mais antigos. Por padrão isso começa a acontecer quando o cache estí 90% cheio:

cache_swap_low 90
cache_swap_high 95

Depois vem a configuração do tamanho do cache em disco propriamente dita, que é composta por quatro valores. O primeiro, (/var/spool/squid) indica a pasta onde o squid armazena os arquivos do cache. Você pode querer alterar para uma pasta em uma partição separada por exemplo.

O "2048" indica a quantidade de espaço no HD (em MB) que serí usada para o cache. Aumente o valor se você tem muito espaço no HD do servidor e quer que o squid guarde os downloads por muito tempo.

Finalmente, os números 16 256 indicam a quantidade de subpastas que serão criadas dentro do diretório. Por padrão temos 16 pastas com 256 subpastas cada uma.

cache_dir ufs /var/spool/squid 2048 16 256

Você pode definir ainda o arquivo onde são guardados os logs de acesso do Squid. Por padrão o squid guarda o log de acesso no arquivo /var/log/squid/access.log. Este arquivo é usado pelo sarg para gerar as píginas com as estatisticas de acesso.

cache_access_log /var/log/squid/access.log

Mais uma configuração que você pode querer alterar é o padrão de atualização do cache. Estas três linhas precisam sempre ser usadas em conjunto. Ou seja, você pode alterí-las, mas sempre as três precisam estar presente no arquivo. Eliminando um, o squid ignora as outras duas e usa o default.

Os números indicam o tempo (em minutos) quando o squid irí verificar se um àtem do cache (uma pígina por exemplo) foi atualizado, para cada um dos três protocolos.

O primeiro número (o 15) indica que o squid verificarí se todas as píginas e arquivos com mais de 15 minutos foram atualizados. Ele só verifica checando o tamanho do arquivo, o que é rípido. Se o arquivo não mudou, então ele continua mandando o que não estí no cache para o cliente.

O terceiro número (o 2280, equivalente a dois dias) indica o tempo míximo, depois disso o objeto é sempre verificado. Além do http e ftp o Squid suporta o protocolo Gopher, que era muito usado nos primórdios da Internet para localizar documentos de texto, mas perdeu a relevância hoje em dia:

refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280


Depois de adicionar estas configurações todas, o nosso arquivo de configuração jí ficarí bem maior:

--------

http_port 3128
visible_hostname kurumin

cache_mem 32 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

acl redelocal src 192.168.1.0/24
http_access allow localhost
http_access allow redelocal

http_access deny all

--------

Aqui jí temos uma configuração mais completa, incluindo um conjunto de regras de segurança, para que o proxy seja usado apenas a partir da rede local e a configuração do cache, uma configuração adequada para uso numa rede doméstica ou um pequeno escritório por exemplo.

Numa rede maior você provavelmente iria querer adicionar algumas limitações de acesso, limitando o acesso a algumas píginas, criando um sistema de autenticação ou limitando o uso com base no horírio por exemplo.

Adicionando restrições de acesso

Num ambiente de trabalho, a idéia é que os funcionírios usem a internet para comunicação, pesquisa e outras funções relacionadas ao que estão fazendo. Algumas empresas permitem que acessem os e-mails pessoais e coisas assim, mas sempre até um certo limite. Seu chefe não vai gostar se começarem a passar a maior parte do tempo no Orkut por exemplo.




Bloqueando por palavras ou domànios


Uma forma fícil de bloquear sites no Squid é criar uma lista de palavras, um arquivo de texto onde você adiciona palavras e domànios que serão bloqueados no Squid.

Bloquear um determinado domànio, como por exemplo "orkut.com" não gera muitos problemas, mas tome cuidado ao bloquear palavras especàficas, pois o Squid passarí a bloquear qualquer pígina que contenha a palavra em questão.

Se você bloquear a palavra "sexo" por exemplo, qualquer site ou artigo que mencione a palavra serí bloqueado. Ao bloquear por palavras você deve tentar ser especàfico, bloqueando apenas jargões e expressões que são encontradas apenas nos sites que você pretende bloquear.

Para adicionar o filtro de palavras, adicione as linhas:

acl proibidos dstdom_regex "/etc/squid/proibidos"
http_access deny proibidos

Aqui estamos criando uma acl chamada "proibidos" que é gerada a partir da leitura do arquivo "/etc/squid/proibidos", o arquivo de texto que iremos editar. O acesso a qualquer pígina que contenha palavras citadas no arquivo é bloqueada.

O arquivo deve conter as palavras e domànios bloqueados, um por linha:

http://www.guiadohardware.net/tutoriais/090/index_html_m2effdc9c.png

Depois criar o arquivo e adicionar as duas linhas no arquivo de configuração do squid, reinicie o serviço com um:

# service squid restart

ou

# /etc/init.d/squid/restart

A partir daà o bloqueio de palavras entra em ação e os clientes passam a ver uma mensagem de erro ao tentar acessar a pígina:

http://www.guiadohardware.net/tutoriais/090/index_html_m7d5f8eb.png

Este filtro de palavras pode levar a alguns erros inesperados. Se você o usa para bloquear o site "orkut.com" por exemplo, os usuírios não conseguirão ler por exemplo um artigo da Superinteressante que cita o endereço do site.

Existe uma opção mais adequada para o bloqueio de domànios, que é criar uma acl usando o parâmetro "dstdomain". Veja um exemplo:

acl bloqueados dstdomain orkut.com playboy.abril.com.br astalavista.box.sk
http_access deny bloqueados

Aqui eu criei uma acl chamada "bloqueados" que contém os endereços "orkut.com" "playboy.abril.com.br" e "astalavista.box.sk" e me seguida incluà a regra "http_access deny bloqueados" que bloqueia o acesso a eles.

Aqui estamos sendo mais especàficos. Ao invés de bloquear o termo "orkut.com" o squid vai bloquear apenas o acesso ao domànio em questão.

Existe uma última ressalva: alguns sites, como o orkut.com podem ser acessados tanto com o www quanto sem. Para o squid, "www.orkut.com" e "orkut.com" são duas coisas diferentes. Bloqueando o "orkut.com" os usuírios ainda conseguirão acessar o site através do "www.orkut.com". Para bloquear ambos, é preciso incluir as duas possibilidades dentro da regra, como em:

acl bloqueados dstdomain orkut.com http://www.orkut.com playboy.abril.com.br
http_access deny bloqueados

Você pode incluir quantos domànios quiser dentro da regra, basta separí-los por espaço e deixar tudo na mesma linha.

Não existe problema em combinar a regra que cria o filtro de palavras com esta que filtra baseado no domànio, você pode apelar para uma ou outra de acordo com a situação.

Depois de adicionar as novas regras, nosso arquivo de configuração ficaria assim:

--------

http_port 3128
visible_hostname kurumin

cache_mem 32 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

acl proibidos dstdom_regex "/etc/squid/proibidos"
http_access deny proibidos

acl bloqueados dstdomain orkut.com http://www.orkut.com playboy.abril.com.br
http_access deny bloqueados

acl redelocal src 192.168.1.0/24
http_access allow localhost
http_access allow redelocal

http_access deny all

--------

Veja que coloquei as duas regras antes do "http_access allow redelocal", que abre tudo para a rede local. Como o squid processa as regras seqüencialmente, as píginas que forem bloqueadas pelas duas regras não chegarão a passar pela seguinte.




Bloqueando por horírio


Estas regras fazem com que o proxy recuse conexões feitas dentro de determinados horírios. Você pode definir regras peràodos especàficos e combiní-las para bloquear todos os horírios em que você não quer que o proxy seja usado.

Para que o proxy bloqueie acessos feitos entre meia-noite e 6:00 da manhã e no horírio de almoço por exemplo, você usaria as regras:

acl madrugada time 00:00-06:00
http_access deny madrugada

acl almoco time 12:00-14:00
http_access deny almoco

Estas regras iriam novamente antes da regra "http_access allow redelocal" no arquivo de configuração.

Agora imagine que você quer fazer diferente. Ao invés de bloquear o acesso na hora de almoço, você quer deixar o proxy aberto, para quem quiser ir no orkut ou acessar os e-mails poder fazer isso fora do horírio de trabalho. Neste caso você usaria uma regra como:

acl almoco time 12:00-14:00
http_access allow almoco

Esta regra entraria no arquivo de configuração antes das regras "http_access deny proibidos" e "http_access deny proibidos". Assim, os acessos que forem aceitos pela regra do almoço, não passarão pelas regras que fazem o bloqueio.

Proxy com autenticação

Você pode adicionar uma camada extra de segurança exigindo autenticação no proxy. Este recurso pode ser usado para controlar quem tem acesso à Internet e auditar os acessos em caso de necessidade.

Quase todos os navegadores oferecem a opção de salvar a senha. Não seria muito legal se o usuírio tivesse que ficar digitando toda hora... ;-)

http://www.guiadohardware.net/tutoriais/090/index_html_m670cd62e.png

Para ativar a autenticação você vai precisar de u programa chamado "htpasswd". Se ele não estiver presente, instale o pacote apache-utils:

Em seguida crie o arquivo que serí usado para armazenar as senhas:

# touch /etc/squid/squid_passwd

Cadastre os logins usando o comando:

# htpasswd /etc/squid/squid_passwd kurumin
(onde o "kurumin" é o usuírio que estí sendo adicionado)

Depois de terminar de cadastrar os usuírios, adicione as linhas que ativam a autenticação no /etc/squid/squid.conf:

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
acl autenticados proxy_auth REQUIRED
http_access allow autenticados

O "/usr/lib/squid/ncsa_auth" é a localização da biblioteca responsível pela autenticação. Eventualmente, ela pode estar numa pasta diferente dentro da distribuição que estiver usando. Neste caso use o "locate" ou a busca do KDE para encontrar o arquivo e altere a linha indicando a localização correta.

Estas três linhas criam uma acl chamada "autenticados" (poderia ser outro nome), que contém os usuírios que se autenticarem usando um login vílido.

Configurando um proxy transparente

Uma garantia de que os usuírios realmente vão usar o proxy e ao mesmo tempo uma grande economia de trabalho e dor de cabeça pra você é o recurso de proxy transparente.

Ele permite configurar o Squid e o firewall de forma que o servidor proxy fique escutando todas as conexões na porta 80. Mesmo que alguém tente desabilitar o proxy manualmente nas configurações do navegador, ele continuarí sendo usado.

Outra vantagem é que este recurso permite usar o proxy sem precisar configurar manualmente o endereço em cada estação. Basta usar o endereço IP do servidor rodando o proxy como gateway da rede.

Lembre-se que para usar o proxy transparente, você jí deve estar compartilhando a conexão no servidor, via nat. O proxy transparente apenas farí com que o proxy intercepte os acessos na porta 80, obrigando tudo a passar pelas suas regras de controle de acesso, log, autenticação e cache.

Se você ainda não compartilhou a conexão, pode fazer isso manualmente rodando estes três comandos:

# modprobe iptable_nat
# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
# echo 1 > /proc/sys/net/ipv4/ip_forward

O "eth1" na segunda linha, indica a placa que estí conectada na Internet e serí compartilhada. Você pode checar a configuração da rede usando o comando "ifconfig" (como root).

Nem todas as distribuições instalam o iptables por padrão. No Mandrake por exemplo, pode ser necessírio rodar primeiro um "urpmi iptables".

Em seguida, rode o comando que direciona as requisições recebidas na porta 80 para o squid.

# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

O "eth0" neste quarto comando indica a placa da rede local, onde o proxy recebe as requisições dos outros micros da rede e o "3128" indica a porta usada pelo squid.

Adicione os quatro comandos no final do arquivo /etc/rc.d/rc.local ou /etc/init.d/bootmisc.sh (no Debian) para que eles sejam executados durante o boot.

Finalmente, você precisa adicionar as seguintes linhas no final do arquivo squid.conf e restartar o serviço:

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

Em resumo, você vai ter a conexão compartilhada via Nat no servidor e configurarí os clientes para acessar através dela, colocando o servidor como gateway da rede. Ao ativar o proxy transparente, a configuração dos clientes continua igual, a única diferença é que agora todo o trífego da porta 80 passarí obrigatoriamente pelo servidor Squid.

Isso permite que você se beneficie do log dos acessos e do cache feito pelo proxy, sem ter que se sujeitar às desvantagens de usar um proxy, como ter que configurar manualmente cada estação.


Depois de adicionar a regra que libera o acesso na hora do almoço, ativar a autenticação e o proxy transparente, nosso arquivo vai ficar assim:

--------

http_port 3128
visible_hostname kurumin

# Configuração do cache
cache_mem 32 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256

# Localização do log de acessos do Squid
cache_access_log /var/log/squid/access.log

refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

# Libera acessos na hora do almoço
acl almoco time 12:00-14:00
http_access allow almoco

# Filtros por palavras e por dominios
acl proibidos dstdom_regex "/etc/squid/proibidos"
http_access deny proibidos
acl bloqueados dstdomain orkut.com http://www.orkut.com playboy.abril.com.br
http_access deny bloqueados

# Autenticação dos usuírios
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
acl autenticados proxy_auth REQUIRED
http_access allow autenticados

# Libera para a rede local
acl redelocal src 192.168.1.0/24
http_access allow localhost
http_access allow redelocal

# Bloqueia acessos externos
http_access deny all

# Proxy transparente
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

--------

Usando o Sarg para monitorar o acesso

O Sarg é um interpretador de logs para o Squid, assim como o Webalizer e o Apache. Sempre que executado ele cria um conjunto de píginas, divididas por dia, com uma lista de todas as míquinas que foram acessadas e a partir de cada míquina da rede veio cada acesso.

Caso você tenha configurado o Squid para exigir autenticação. , ele organiza os acessos com base nos logins dos usuírios, caso contrírio ele mostra os endereços IP das míquinas.

A partir daà você pode acompanhar as píginas que estão sendo acessadas, mesmo que não exista nenhum filtro de conteúdo e tomar as medidas cabàveis em casos de abuso. Todos sabemos que os filtros de conteúdo nunca são completamente eficazes, eles sempre bloqueiam algumas píginas úteis e deixam passar muitas píginas impróprias. Se você tiver algum tempo para ir acompanhando os logs, a inspeção manual é sempre o método mais eficiente.

A partir daà você pode ir fazendo um trabalho incremental, de ir bloqueando uma a uma píginas onde os usuírios perdem muito tempo, ou fazer algum trabalho educativo, explicando que os acessos estão sendo monitorados e estabelecendo algum tipo de punição para quem abusar.

Aqui estí um exemplo do relatório gerado pelo Sarg. Por padrão ele gera um conjunto de píginas html dentro da pasta /var/www/squid-reports/ (ou /var/www/html/squid/, no Mandrake) que você pode visualizar através de qualquer navegador.

Os acessos são organizados por usuírio (caso esteja usando autenticação) ou por IP, mostrando as píginas acessadas por cada um, quantidade de dados transmitidos, tempo gasto em cada acesso, tentativas de acesso bloqueadas pelos filtros de conteúdo e outras informações.

http://www.guiadohardware.net/tutoriais/090/index_html_349ce920.png

O Sarg é incluàdo na maioria das distribuições atuais, em alguns casos instalado por padrão junto com o Squid.

No Debian e derivados ele pode ser instalado com um:

# apt-get install sarg

No Mandrake um "urpmi sarg" jí resolve.

Depois de instalado, basta chamar o comando "sarg" (como root) para que os relatórios sejam geradas automaticamente a partir do log do squid.

O Sarg não é um daemon que fica residente, você precisa apenas chama-lo quando quiser atualizar os relatório, se você quiser automatizar esta tarefa, pode usar o cron para que ele seja executado automaticamente todos os dias ou uma vez por hora por exemplo.

Você pode alterar a pasta onde são salvos os relatórios, limitar o acesso às estatàticas e alterar vírias opções cosméticas no arquivo de configuração do Sarg, que é o /etc/sarg/sarg.conf (no Mandrake) ou /etc/squid/sarg.conf (no Debian).

O arquivo é auto explicativo, nele você pode alterar os diretórios padrão, alterar o layout da Outro recurso interessante é o envio de uma cópia do relatório por e-mail sempre que o sarg for executado.

Fonte:
Guia do Hardware


Eae galera faz tempo que não posto algo novo no BLOG mais para compensa-lós segue este tutorial Sobre como instalar Android em seu COMPUTADOR.

QuantcastVamos aos ingredientes, quem vê pensa que é alguma receita de bolo, chega de lero-lero e vamos ao que interessa.

1º – Precisaremos do VirtualBox para criar uma máquina virtual e instalar o Android.
2º – Uma imagem do SISTEMA OPERACIONAL, Android
Usaremos neste tutoral a versão do VirtualBox 4.1.6 para baixa-lá clique aqui
Caso tenha dúvidas de Como instalar e configurar o VirtualBox segue uma vídeo-aula feita por mim
nela eu instalei o VirtualBox e logo após instalei o Linux Ubuntu quanto ao processo de instalação do Android será similar aos passos executados nesta vídeo-aula
Usaremos neste tutorial a versão do Android 2.3 para EEEPC RC1 para baixa-lá clique aqui
Tendo em mãos a Imagem do SISTEMA OPERACIONAL Android e instalado e configurado o VirtualBox,
basta seguir os passos abaixo.
image
Abra o VirtualBox e clique em Novo

image
Nesta tela Clique em Próximo
image
1 – Escolha um nome para sua máquina virtual
2 – Sistema Operacional escolha Linux
3 – Versão escolha Other Linux
4 – Clique em Próximo
image
1 – Defina a quantidade de memória para sua máquina vrtual no meu caso eu tenho 2 GB de RAM optei por escolher 512 MB
2 – Clique em próximo
image
1 – Deixe tudo como está e clique em Próximo
image
Deixe a seleção desta forma
1 – Clique em próximo
image
Deixe a seleção em Dinamicamente alocado
Clique em próximo
image
Clique em próximo
image
Clique em Criar
image
Novamente clique em criar
image
Agora sua máquina virtual está criada selecione-a e clique em Configurações
image
Agora vamos definir as configurações de som da nossa máquina virtual
clique em Áudio no menu a esquerda e deixe as opções como as da imagem
Controladora de Áudio defina SoundBlaster 16
image
Agora o grande segredo preste muita atenção ^^
1 – Nesta opção é possível criar um Leitor de CD/DVD porém não vamos usa-lá já temos um disco Vazio. 2 – Nesta Opção vamos criar mais um disco para usarmos com CARTÃO SD no Android.
image
1 – Clique sobre o ícone indicado para criação de um novo disco
2 – Clique no botão Criar novo disco
image
Defina o disco como VDI e depois clique em Próximo
image
Escolha Dinamicamente alocado e clique em Próximo
image
Nesta tela eu escolhi o nome para meu disco CartaoSD e definido o espaço para 4 GB
estas opções podem ser escolhidas a gosto.
image
Nesta tela clique em Criar
image
Pronto criamos nosso disco de CartaoSD eu so vi agora que o nome do meu esta CartadoSD
agora já foi continuando nesta tela selecione o disco Vazio
image
1 – Selecione o disco Vazio 2 – Clique no ícone do CD/DVD 3  – Clique em Selecione um arquivo de CD/DVD virtual
image
Localize a pasta aonde salvou sua imagem do SISTEMA OPERACIONAL Android
Selecione-a e clique em abrir
image
Pronto já está montado nossa máquina virtual com 2 discos e a imagem ISO do Android, faltando apenas a configuração de REDE
image
Deixe desta forma para que a máquina virtual acesse a internet normalmente.
image
Selecione Monitor do lado esquerdo Memória de Vídeo deixei 64 MB
Habilitar as Acelerações de 3D e 2D a critério de cada um.
image
Selecione Sistema no menu a esquerda e desmarque o Disquete
image
Selecione sua máquina virtual e clique em Iniciar
image
Nesta tela selecione Install Android x86 to harddisk e clique enter
image
Clique em Create / Modify partitions
image
Nesta tela clique em Units para mover nesta tela usa as setas do teclado
image
Nesta tela clique em New
image
Nesta tela clique em Primary
image
Nesta tela defina o tamanho no meu caso escolhi 5000.00

image
Clique em Beginning
image
Selecione o SDA1 e abaixo escolha Bootable e clique em Enter
image
Ao clicar em Enter sobre a opção Bootable note que em Flags o disco criado será botável
image
Agora com muito cuidado para não errar aqui, selecione a parte onde está escrito Free Space Abaixo escolha New e aperte enter
image
Nesta tela não alterei o tamanho deixei tudo como está
image
Nesta tela selecione o SDA2 e escolha a opção Bootable e aperte Enter
image
Nesta tela clique em Quit
Criamos 2 discos e escolhemos os dois para iniciar com o SISTEMA.
Agora vamos gravar o SISTEMA OPERACIONAL Android no SDA1
e no SDA2 vamos gravar um Cartao de Memória SD.
Basta seguir os passos abaixo.
image
Selecione o sda1 e clique em OK
image
Selecione ext3 e clique em OK
image Aqui basta escolher Yes e apertar Enter
image
Esta opção será criado o GRUB o Boot Loader do Linux basta clicar em Yes
image Nesta tela muito cuidado escolha No e aperte Enter
image
Selecione Reboot e clique em OK
Criamos o Disco que ira Iniciar o Sistema Operacional agora vamos partir para a criação do CartaoSD
image
Selecione o sda2 e clique em OK
image
Selecione ext3 e clique OK
image
Clique em Create a fake SD Card e clique em OK
image
Agora clique em Reboot
image
Desmarque a imagem do SISTEMA Operacional Android para que ela não inicie.
image
Se fizer corretamente a mesma não ficara mais marcada para iniciar com o SISTEMA
image
Clique em Máquina e depois em Reinicializar
image
Deixe tudo como está e aguarde o SISTEMA Operacional Android iniciar
image
Agora o Android está pronto para uso para usar o mouse no Android
Clique em Máquina depois em Desabilitar Integração com o mouse Agora pode usar o mouse dentro do Android para voltar para o Windows basta apertar
CTRL da direita e a letra I de igreja
Android estará em Inglês mais vamos passa-lo para Português siga os passos abaixo
image
Clique nesta Opção para acessar o Menu de Icones
image
Procure pelo Icone de Settings e clique sobre ele para abrir
image
Agora clique em Language & Keyboard
image
Agora clique em Select Language
image
Basta descer a barra de rolagem até encontrar Português (Brazil)
Pronto! Agora você tem seu Android em Português Brasil.
Vou finalizando por aqui bom divertimento e não deixe de comentar se conseguiu ou não compartilhe suas experiências e um ajuda o outro caso eu não possa responder na hora alguém poderá ajuda-lo
Tiago Darú
para o Blog do Darú