Instalando Squid a partir do código fonte

Este artigo visa ensinar a iniciantes como instalar o Squid pelo código fonte. Apesar das principais distribuições Linux manterem versões pré-compiladas do Squid em seus repositórios, muitas vezes precisamos de recursos que não foram habilitados na compilação. A saída é compilar o Squid "no braço".

[ Hits: 44.264 ]

Por: Ronaldo Moraes Junior em 01/02/2010


Configurando o Squid



Para a configuração realmente não existe uma receita mágica que funcione para todos os ambientes. Cada um criará seu arquivo de acordo com as necessidades. Você pode querer exigir autenticação dos usuários ou não, ou controlar a banda disponível, restringir o uso em determinados horários etc.

Não cobrirei aqui a parte da configuração de forma geral. Como o título do artigo diz, viso apenas a instalação, mas alguns parâmetros se fazem necessários no arquivo do squid.conf.

O primeiro parâmetro necessário é o "cache_effective_user" que diz sobre qual usuário o Squid será executado. Este parâmetro é importante, pois ao executar o Squid como root, seus subprocessos são executados sob o usuário especificado. Se fosse encontrada uma falha grave na segurança do Squid, um usuário mal intencionado poderia obter privilégios administrativos. Coloque algo como:

cache_effective_user squid

que significa que o Squid rodará como o usuário squid. Obviamente teremos que criar este usuário posteriormente. Caso esta linha não seja inserida, o Squid usa por padrão o usuário "nobody". Se ele não existir em seu sistema você terá problemas para criar os diretórios de cache. Portanto aconselho criar o usuário Squid para evitar dores de cabeça.

A seguir é necessário especificar o arquivo de log do Squid e o diretório de cache. Isso é feito com os parâmetros:

cache_access_log /usr/var/logs/access.log
cache_dir /usr/var/cache 2048 16 256

Obviamente o arquivo de log e o diretório de cache podem estar em qualquer localização, esta que citei é o padrão do Squid e gosto de usá-la. Mude caso deseje. Na segunda linha, o 2048 determina o tamanho do cache em MB e o 16 e 256 determinam quantos diretórios e quantos subdiretórios serão criados para o cache.

A seguir vai o parâmetro que coloca as páginas de erro do Squid em português, caso não queira que elas fiquem na linguagem padrão que é o inglês:

error_directory /usr/share/errors/Portuguese

Apenas lembrando que se você instalou o Squid em outro diretório diferente de /usr, este diretório de erros também estará em outro lugar.

Um exemplo de arquivo de configuração básico mas funcional, com estes parâmetros que acabei de mostrar foi feito pelo Carlos E. Morimoto em seu livro Servidores Linux:

http_port 3128
visible_hostname proxy-server
cache_effective_user squid
error_directory /usr/share/errors/Portuguese
cache_mem 64 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 /usr/var/cache 2048 16 256
cache_access_log /usr/var/logs/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
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 21 80 443 563 70 210 280 488 59 777 901 1025-65535
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 bloqueados url_regex -i "/usr/etc/bloqueados"
http_access deny bloqueados
acl redelocal src 192.168.1.0/24
http_access allow localhost
http_access allow redelocal
http_access deny all

As linhas em negrito foram alteradas ou criadas por mim para refletir o que expliquei até agora.

Feito isso, será necessário criar o usuário "squid" e os diretórios que especificamos na configuração e a seguir dar a este usuário a propriedade destes diretórios. Na linha de comando, como root:

# useradd squid -s /bin/false
# mkdir /usr/var/cache /usr/var/logs
# chown -R squid. /usr/var/cache /usr/var/logs


Repare no ponto após "squid" para que os arquivos herdem também o grupo a que pertence o squid. O parâmetro -s de useradd serve para especificar um shell para o usuário. O /bin/false significa que ele não terá um shell válido, e como não especificamos também um diretório home ou uma senha, este será um usuário "castrado", que não poderá se logar no sistema, mas tem acessos aos arquivos de sua propriedade.

Finalmente criamos a estrutura do cache do Squid com o comando "squid -z". Se tudo ocorrer bem serão exibidas no terminal as mensagens dos diretórios sendo criados.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução, pré-requisitos e obtendo o Squid
   2. Compilando o Squid
   3. Configurando o Squid
   4. Mais algumas dicas
   5. Conclusão
Outros artigos deste autor

DVDAuthor: Como autorar DVDs no Linux

WebHTB - Controle de banda de internet

Leitura recomendada

Limitando download com Squid

Squid autenticado - Instalar e configurar

SQUID: Autenticação em banco de dados MySQL cruzando IP/MAC/USUÁRIO e SENHA

Servidor Squid - Autenticação e níveis de privilégio

Squid com autenticação básica + Gerador de relatórios Sarg - Instalação e configuração

  
Comentários
[1] Comentário enviado por fate em 02/02/2010 - 17:50h

Ótimo, posso aplicar este artigo em qualquer distro. Assim deveriam ser todos os artigos do VOL.

nota 10


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts