Sistema de cuotas sobre debian 9 con squid+squish+squint+apache2

Desde que salio Debian 8 muchos de los que usamos cuotas en nuestras redes nos vimos afectados al ver que el Squish un Software muy viejo pero eficiente dejaba de funcionar, con este manual quiero compartir la forma de como ejecutarlo sobre la ultima versión de Debian y de Squid.

Antes que nada, pido disculpas a los lectores que no lograron ponerlo en funcionamiento ya que el mismo lo escribí a partir de haberlo tenido y que dejo de funcionar cuando actualizaron sus sistemas.

Pasamos a los que nos toca.

Creamos un contenedor de Debian 9.

apt update && apt upgrade -y && apt dist-upgrade -y

1- Instalamos todo lo necesario para nuestro sistema.

apt -y install mc ccze squid apache2 perl libcgi-pm-perl libgd-perl lsb-release libgd-perl php-cli php-ldap libgd-gd2-perl libapache2-mod-php

2- Habilitamos los módulos de apache2

a2enmod ssl
a2enmod cgi
a2enmod cgid

3- Reiniciamos

/etc/init.d/apache2 restart

4- Descargamos el squish ya modificado y tuneado Aqui.

5- Editamos el siguiente archivo y comentamos la siguiente linea.

nano /etc/perl/sitecustomize.pl

#pop @INC if $INC[-1] eq ‘.’ and !$ENV{PERL_USE_UNSAFE_INC};

6- Creamos esta carpeta y le copiamos dentro de la misma el squish.cron.sh.

mkdir /usr/local/squish

7- Copiamos el squished dentro de la carpeta de squid en la misma raiz.

8- Creamos un virtualhost para las cuotas, con el siguiente contenido.

<VirtualHost *:80>
ServerName cuotas.tudominio.cu
ServerAdmin [email protected]
DocumentRoot /var/www/cuotas

Alias /squish /var/www/cuotas/

<Directory /var/www/cuotas/>
Options +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex squish.cgi
AllowOverride None
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

 

9- Editamos el crontab y agregamos esta linea

*/5 * * * * root /usr/local/squish/squish.cron.sh

Y listo, se hace la magia por el momento.

Ahora solo nos queda tocar algunos trucos del mismo.

Descargamos el hermano del squish, este es para que los usuarios vean sus cuotas por todo tipo de reportes Aqui. Este lo copiamos en la misma raiz de la web.

Modifican el fichero squint.cron.sh y le dan el camino donde están los log de squid.

Nota: Si desea que algunos user no aparezcan en el listado de cuotas, editan el fichero .cgi del sistema cuotas y el squint del squint y buscan mi nombre y de esa misma manera agregan los que deseen en el. En el .pl del squish pueden poner los sitios que deseen que no cuenten en la cuota.

Y listo, ya todo esta funcionando, espero que les sea bien útil y lo disfruten.

Saludos

 

(Visited 87 times, 1 visits today)

14 Comentarios

  1. Que podra ser este error
    /var/www/cuotas/squish.cron.sh
    Can’t locate rrdsquish.pm in @INC (you may need to install the rrdsquish module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /var/www/cuotas/squish.pl line 12.
    BEGIN failed–compilation aborted at /var/www/cuotas/squish.pl line 12.

  2. Hablas en tu post en el título de squint Let’s Encrypt, y ni lo mencionas desde en el post y luego comentas que lo de let’s encrypt no es necesario, Adonis, en sysadmin de cuba no podemos perder la calidad de nuestras publicaciones, las cuales se hacen de forma sería y profesional, varios foristas han estado preguntando dudas y haciendo consultas y tampoco usted como autor del post le ha contestado, eso deja mucho que desear del que escribe el mismo, abandonando, a la suerte y sin importarle el seguimiento del mismo. Por favor llámenos a conciencia y recapacitemos, no queremos esas malas prácticas en nuestra web donde tan buen prestigio nos hemos ganado. Solo le pido que no lo tome a mal, solo le escribo como editor de la web y no a título personal.

  3. Ya probe esto y no funciona absolutamente nada del squish, ya no se que más hacer con respecto a este tema y en internet no aparece nada sobre esto, ninguna ayuda, al parecer el squish en Debian 9 no funciona absolutamente en ningún sentido, no se ve la página de cuotas y tampoco nada relacionado con el squish en mi servidor, y los usuarios estan navegando a placer sin limite de cuotas, AYUDA POR FAVOR!!!!!!!!!!!!!

  4. Amigo si miras bien el texto del inicio del manual, dice. Desde que salio debian 8 muchos de los que usamos cuotas en nuestras redes nos vimos afectados al ver que el squish un soft muy viejo pero eficiente dejaba de funcionar, este manual lo puse para los que ya lo tenian funcionando y pasaron a nuevas versiones de debian, claro esta q para ponerlo desde cero no es como esta aqui, despues con mas tiempo lo quiero modificar y hacerlo de cero como si nunca e huvieran usado las cuotas ok, un abraso

  5. hola nuevamente
    vi que hicieron cambios en el tutorial y tengo unas dudas
    lo hice en Debian 10, squid 4.6.x
    dudas:
    1. no existe /etc/perl/sitecustomize.pl, debe ser pq es un DVD, o es obligado en un contenedor proxmox?
    2. cuotas.tar.gz ubicación de donde lo extraigo?
    3. Copio squish.cron.sh en: /usr/local/squish o la capeta (cuotas)
    4. squidlog.tar.gz veo que lo puso en var/www/ es correcto las dos carpetas?
    5. hay que dar permiso, lectura escritura…????
    disculpe mi ignorancia…

  6. amigo hace rato vi esta publicacion excelente porcierto, la implemente y funcionano perfecto todo pero no habia reparado en una cosa: squish reinicia las cuotas solo pero lo que necesito es encontrar donde lo hace porque a veces me la reinicia y otras veces no lo hace, y si lo hago manual yo mismo booro los logs no solo los de las ultimas 24 horas si no los acumulados de la semana tambien lo que quiero es ver donde los borra para ver si puedo hacer algo manual q no me elimine los de la semana y el mes

    • Squish tiene una base de datos en /var/lib/squish/*
      Ahora eso es bastante manejable, con una tarea del cron lo puedes hacer, por ejemplo aqui solo se cuentan las cuotas en horario laborable, el otro tiempo es libre incluyendo los fines de semana completos son libres.

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*