ThunderCache no ArchLinux, vamos instalar desta vez o ThunderCache 3.1. ( Ainda não testei de fato o ThunderCache 3.1 ). POR SUA CONTA E RISCO!
Preparação do Ambiente.
Sala de produção: /usr/local/src
Portanto, dirija-se a sala
cd /usr/local/src
Instalação das dependências
pacman -S sharutils curl base-devel mysql apache php mc
Download do Lusca Web/Proxy Cache.
Acesse o site Lusca Web/Proxy Cache e baixe a versão mais nova. No momento da produção desse texto a versão mais nova era a “r14809″.
Download do ThunderCache 3.1 ( Mais uma vez parabéns Luiz Biazus e ao Rodrigo Manga, bem como ao Joaquim Pedro, Rodrigo Minelli etc… enfim a todos envolvidos neste trabalho.)
Descompacte os pacotes
tar xzvf LUSCA_HEAD-r14809.tar.gz
tar xjvf thunder-3.1.tar.bz2
Vamos começar pela instalação do Lusca Proxy
cd /usr/local/src/LUSCA_HEAD-r14809
Compilar o Lusca
./configure –libexecdir=/usr/lib/squid –localstatedir=/var –prefix=/usr –sysconfdir=/etc/squid –enable-async-io –with-pthreads –enable-removal-policies –enable-ssl –enable-htcp –enable-arp-acl –enable-removal-policies=lru,heap –enable-default-err-language=Portuguese –enable-err-languages=Portuguese –enable-linux-netfilter –enable-snmp –disable-ident-lookups –with-maxfd=65536 –enable-storeio=aufs,null,coss –enable-epoll
make
make install
Compilar o Thunder
cd /usr/local/src/thunder-svn-publico
./configure
make
make install
MYSQL: Instalado
LUSCA: Instalado
THUNDERCACHE: Instalado
Vamos dar início as configurações
Configurações Mysql
mysql_install_db
chown mysql:mysql /var/lib/mysql -R
/etc/rc.d/mysqld start
mysqladmin -u root password thUnD3r
thUnD3r = Senha do Mysql
O próximo passo será criar o banco de dados para o thundercache. No arquivo thunder.sql está o script para criação do banco de dados e tabelas.
cd /usr/local/src/thunder-svn-publico
mysql -p < thunder.sql
Configuração do ThunderCache
Edite o arquivo /etc/thunder/thunder.php
mcedit /etc/thunder/thunder.php
E altere a linha 30
De:
if (!( $db = new PDO(‘mysql:host=localhost;dbname=thunder’, ‘root’,'thundercache’) ) ) {
Para:
if (!( $db = new PDO(‘mysql:host=localhost;dbname=thunder’, ‘root’,’thUnD3r‘) ) ) {
Crie o link simbólico para o initscript do Thunder.
ln -s /etc/init.d/thunder /etc/rc.d/thunder
Configuração do Lusca Proxy Cache
Primeiramente fazer backup das configurações do squid.conf atual, renomeando-o para squid.conf.backup
cp /etc/squid/squid.conf /etc/squid/squid.conf.backup
Em seguida gerando o novo squid.conf
# echo ”
http_port 3128 transparent
icp_port 0
cache_replacement_policy heap LFUDA
cache_dir aufs /cache/squid 10000 128 128
memory_replacement_policy heap GDSF
cache_mem 128 MB
maximum_object_size 256 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 256 KB
cache_swap_low 90
cache_swap_high 95
ipcache_size 1024
fqdncache_size 1024
ipcache_low 90
ipcache_high 95
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
mime_table /etc/squid/mime.conf
pid_filename /var/run/proxy.pid
debug_options ALL,1
log_fqdn off
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
acl redeinterna src 172.16.0.0/12
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563 82
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 CONNECT method CONNECT
#=========================================================#
# Thunder 3.1
#=========================================================#
acl thunder_lst url_regex -i “/etc/thunder/thunder.lst”
cache deny thunder_lst
cache_peer 172.31.255.220 parent 8080 0 proxy-only no-digest
dead_peer_timeout 2 seconds
cache_peer_access 172.31.255.220 allow thunder_lst
cache_peer_access 172.31.255.220 deny all
http_access allow manager localhost
http_access allow redeinterna
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
cache_mgr localhost
cache_effective_user squid
cache_effective_group squid
visible_hostname lusca
dns_testnames registro.br
# Configuraçao de LOG
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
cache_access_log /var/log/squid/access.log
# Setar TOS 8 em pacotes IP de arquivos em cache
zph_mode tos
zph_local 0×08
zph_parent 0
zph_option 136
visible_hostname localhost
cache_mgr localhost
pid_filename /var/run/proxy.pid
cache_effective_user squid
cache_effective_group squid
“ > /etc/squid/squid.conf
Criar os arquivos informados no squid.conf para o funcionamento do Lusca
mkdir -p /var/log/squid
mkdir -p /cache/squid
groupadd squid
useradd squid -g squid
touch /var/log/squid/cache.log
touch /var/log/squid/store.log
touch /var/log/squid/access.log
chown squid:squid /var/log/squid -R
chown squid:squid /cache/squid -R
Criar a estrutura de diretórios para o cache do Lusca
squid -z
Agora vamos criar o script de inicialização do squid
echo ”
#!/bin/bash
iniciar(){
echo “Iniciando Squid…”
squid -D
}
parar(){
echo “Parando Squid…”
squid -k kill
}
recarregar(){
echo “Recarregando Squid”
squid -k reconfigure
}
case “$1″ in
“start”) iniciar ;;
“stop”) parar ;;
“restart”) parar; iniciar ;;
“reload”) recarregar ;;
*) echo “Use os parâmetros start, stop, restart ou reload”
“ > /etc/rc.d/squid
Por último será necessário colocar os serviços do Lusca e do Thunder para inicializar durante o boot do servidor.
Edite o arquivo /etc/rc.conf
mcedit /etc/rc.conf
E na linha “DAEMONS” coloque o mysqld, squid e o thunder.
DAEMONS=(syslog-ng network netfs sshd crond mysqld squid thunder)
Rodrigo Ribeiro