Revisando ahora mismo veo que en el sitio de Squid, actualizaron a la versión 4.10, por lo que me interesa actualizarlo, debido a pequeños bugs[no tan críticos, pero bueno] y fixes que han salido y han parcheado. Esta corta guía es basada en Debian10, pero debería ser posible de aplicar usando Ubuntu.
Sin más preámbulo empezamos a meter las manos en el asunto. Primero que todo necesitaremos un contenedor de Debian10 dentro de un Proxmox, desde cero, sin nada instalado, importante si queremos que el proceso llege a un feliz término.
NOTA: No he probado actualizar directamente, pero imagino que sea como siempre, detener el proceso, compilar el programa nuevamente, revisar que todo haya finalizado OK, y reiniciar el programa y revisar los logs verificando que todo funciona como debe.
Entonces, en este CT en blanco, lo primero será instalarnos la paquetería necesaria para compilar Squid, por lo que ejecutaremos lo siguiente:
apt install -y logrotate acl attr autoconf bison nettle-dev build-essential libacl1-dev \
libaio-dev libattr1-dev libblkid-dev libbsd-dev libcap2-dev libcppunit-dev libldap2-dev \
pkg-config libxml2-dev libdb-dev libgnutls28-dev openssl devscripts fakeroot libdbi-perl \
libssl-dev libcppunit-dev libecap3-dev libkrb5-dev comerr-dev libnetfilter-conntrack-dev \
libpam0g-dev libsasl2-dev krb5-user msktutil libsasl2-modules-gssapi-mit libtdb-dev
Hecho esto, pasaremos a crear el usuario/grupo/carpetas, así como todo lo relacionado con la ejecución del Squid4:
groupadd -g 13 proxy
mkdir -p /var/spool/squid
mkdir -p /var/log/squid
mkdir -p /var/cache/squid
useradd --system -g proxy -u 13 -d /var/spool/squid -M -s /usr/sbin/nologin proxy
chown proxy:proxy /var/spool/squid
chown proxy:proxy /var/log/squid
chown proxy:proxy /var/cache/squidAhora nos descargamos Squid:
cd /opt
wget -c http://www.squid-cache.org/Versions/v4/squid-4.10-20200123-r91d32285d.tar.gz
# tar xzfv squid-4.10-20200123-r91d32285d.tar.gz
Configuramos las opciones básicas que podamos necesitar:
./configure --srcdir=. --prefix=/usr --localstatedir=/var/lib/squid --libexecdir=/usr/lib/squid \
--datadir=/usr/share/squid --sysconfdir=/etc/squid4 --with-default-user=proxy --with-logdir=/var/log/squid \
--with-open-ssl=/etc/ssl/openssl.cnf --with-openssl --enable-ssl --enable-ssl-crtd --build=x86_64-linux-gnu \
--with-pidfile=/var/run/squid.pid --enable-removal-policies=lru,heap \
--enable-delay-pools --enable-cache-digests --enable-icap-client --enable-ecap --enable-follow-x-forwarded-for \
--with-large-files --with-filedescriptors=65536 --with-default-user=proxy \
--enable-auth-basic=DB,fake,getpwnam,LDAP,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB \
--enable-auth-digest=file,LDAP --enable-auth-negotiate=kerberos,wrapper --enable-auth-ntlm=fake,SMB_LM \
--enable-linux-netfilter --with-swapdir=/var/cache/squid --enable-useragent-log --enable-htpc \
--infodir=/usr/share/info --mandir=/usr/share/man --includedir=/usr/include --disable-maintainer-mode \
--disable-dependency-tracking --disable-silent-rules --enable-inline --enable-async-io \
--enable-storeio=ufs,aufs,diskd,rock --enable-eui --enable-esi --enable-icmp --enable-zph-qos \
--enable-external-acl-helpers=file_userip,kerberos_ldap_group,time_quota,LDAP_group,session,SQL_session,unix_group,wbinfo_group \
--enable-url-rewrite-helpers=fake --enable-translation --enable-epoll --enable-snmp --enable-wccpv2 \
--with-aio --with-pthreads --enable-arp --enable-arp-aclSi necesitamos saber que significa cada opción:
./configure --helpCompilamos con multiprocesamiento[mucho más rápido el proceso]:
make -j`nproc`
Instalando:
make installY listo, ya hemos compilado el Squid4. Ahora necesitamos el scrit de inicio el cual adjunto acá y debemos darle permisos en /etc/init.d y ponerlo a iniciar con el sistema:
cd /etc/init.d/
chmod 755 squid4
update-rc.d squid4 defaultsO para los amantes de SystemD:
systemctl enable squid4Y ahora solo queda revisar la config que tengamos o que vayamos a usar y adaptarla a Squid4, que fijándome un poco no es tan difícil, cambiaron pequeños detalles solamente. Iniciamos Squid4 y completo el tema:
/etc/init.d/squid4 restarto
systemctl start squid4Ahora solo faltaría revisar, como ya dije anteriormente que todo vaya OK. Espero este post les sea de ayuda, cualquier duda, a cometarios. Un abrazo para todos.







No comments yet