Instalação e Configuração do Sarg no Debian Squeeze
E ai galera, aqui eu vou abordar a instalação e configuração do sarg no Debian Squeeze, o Sarg é um gerador de relatórios para o squid, a configuração dele é bem simples
Prepare o seu sistema com o seguinte script http://wiki.douglasqsantos.com.br/doku.php/confinicialsqueeze_en para que não falte nenhum pacote ou configuração.
Adicione as seguintes linhas no arquivo /etc/apt/sources.list
vim /etc/apt/sources.list [...] #No final do arquivo /etc/apt/sources.list deb http://www.backports.org/debian squeeze-backports main contrib non-free deb-src http://www.backports.org/debian squeeze-backports main contrib non-free
Agora precisamos atualizar os repositórios e mandar instalar o sarg e o apache
aptitude update && aptitude install sarg apache2 -y
Vamos comentar as linhas do backport no arquivo /etc/apt/sources.list
vim /etc/apt/sources.list [...] #No final do arquivo /etc/apt/sources.list #deb http://www.backports.org/debian squeeze-backports main contrib non-free #deb-src http://www.backports.org/debian squeeze-backports main contrib non-free
Vamos fazer um backup do arquivo de configuração do sarg-reports
cp -Ra /etc/sarg/sarg-reports.conf{,.bkp}
Agora vamos configurar o sarg-reports que vai gerar os relatórios dos acesso ao proxy
vim /etc/sarg/sarg-reports.conf SARG=/usr/bin/sarg CONFIG=/etc/sarg/sarg.conf HTMLOUT=/var/www/sarg PAGETITLE="Access Reports on $(hostname)" LOGOIMG=/sarg/images/sarg.png LOGOLINK="http://$(hostname)/" DAILY=Daily WEEKLY=Weekly MONTHLY=Monthly EXCLUDELOG1="SARG: No records found" EXCLUDELOG2="SARG: End"
Agora vamos fazer um backup do arquivo de configuração do sarg
cp -Ra /etc/sarg/sarg.conf{,.bkp}
Agora vamos configurar o /etc/sarg/sarg.conf
vim /etc/sarg/sarg.conf access_log /var/log/squid3/access.log title "Relatorio de Acesso a Internet" font_face Tahoma,Verdana,Arial header_color darkblue header_bgcolor blanchedalmond font_size 9px background_color white text_color #000000 text_bgcolor lavender title_color green temporary_dir /tmp output_dir /var/www/sarg resolve_ip yes user_ip no topuser_sort_field BYTES reverse user_sort_field BYTES reverse exclude_users /etc/sarg/exclude_users exclude_hosts /etc/sarg/exclude_hosts date_format e records_without_userid ignore lastlog 0 remove_temp_files yes index yes index_tree file overwrite_report yes records_without_userid ip use_comma yes mail_utility mailx topsites_num 100 topsites_sort_order CONNECT D index_sort_order D exclude_codes /etc/sarg/exclude_codes max_elapsed 28800000 report_type topusers topsites sites_users users_sites date_time denied auth_failures site_user_time_date downloads usertab /etc/sarg/usertab long_url no date_time_by bytes charset Latin1 show_successful_message no show_read_statistics no topuser_fields NUM DATE_TIME USERID CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE user_report_fields CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE topuser_num 0 download_suffix "zip,arj,bzip,gz,ace,doc,iso,adt,bin,cab,com,dot,drv$,lha,lzh,mdb,mso,ppt,rtf,src,shs,sys,exe,dll,mp3,avi,mpg,mpeg"
Agora vamos acertar a periodicidade em que o sarg-reports vai ser executado eu vou deixar ele sendo executado a cada hora
cp -Rfa /etc/cron.daily/sarg /etc/cron.hourly/
Agora vamos gerar o primeiro relatório caso já exista algum acesso vamos ter estatísticas para analisarmos.
sarg
Agora precisamos reiniciar o apache
/etc/init.d/apache2 restart Restarting web server: apache2 ... waiting .
Seus relatórios do Sarg vão estar em http://ip_servidor/sarg
Agora vamos criar um virtualhost para o sarg
vim /etc/apache2/sites-available/sarg <VirtualHost *:80> ServerName sarg.douglasqsantos.com.br ServerAlias sarg.douglasqsantos.com.br DocumentRoot "/var/www/sarg" <Directory "/var/www/sarg"> Options -Indexes FollowSymLinks MultiViews AllowOverride All Order Allow,deny Allow From All #Autenticação do Sarg AuthUserFile /etc/apache2/access/sarg-htpasswd AuthName "Sarg" AuthType Basic require valid-user </Directory> #Configuração dos logs do apache ErrorLog /var/log/apache2/sarg.douglasqsantos.com.br-error.log CustomLog /var/log/apache2/sarg.douglasqsantos.com.br-access.log common #Retirando a assinatura do Apache ServerSignature Off IndexIgnore .??* *~ *# README RCS CVS *,v *,t * # Possible values include: debug, info, notice, info, error, crit, # alert, emerg. LogLevel info </VirtualHost>
Agora vamos criar o diretório que vai conter o arquivo de controle dos usuários que podem acessar o sarg
mkdir /etc/apache2/access/
Agora vamos gerar o usuário e a senha, aqui eu vou cadastrar o usuário sarg
htpasswd -s -c /etc/apache2/access/sarg-htpasswd sarg New password: Re-type new password: Adding password for user sarg
Agora vamos desativar os virtuais hosts default do apache
a2dissite default a2dissite default-ssl
Agora vamos ativar o sarg
a2ensite sarg
Agora vamos reiniciar o apache
/etc/init.d/apache2 restart
Agora já podemos acessar http://sarg.douglasqsantos.com.br ou http://ip_servidor, aqui nós precisamos informar o usuário sarg e a senha que foi definida para ele.