sudo: Jack of all trades, master of some

Instalar Squid con características adicionales

5 comentarios

Recientemente necesité una característica de Squid que no esta incluida en el paquete de Debian 6, Squeeze, la solución es bien simple: recompilar e instalar el paquete.
Este proceso debe servir para añadir y quitar soporte para cualquier característica de Squid.

1. Agregar el repositorio de fuentes.

vim /etc/apt/sources.list

Agregar:

deb-src http://ftp.us.debian.org/debian squeeze main

Nota: podemos usar el repositorio de fuentes que tengamos disponible, no necesariamente tenemos que usar el anterior.

2. Descargar el código fuente y generar las dependencias.

cd /usr/src
sudo apt-get source squid
sudo apt-get build-dep squid
sudo apt-get install devscripts

3. Agregar la(s) nueva(s) características.

vim squid-2.7.STABLE9/debian/rules

Por ejemplo:

Si queremos agregar soporte para SSL debemos buscar la sección que se muestra a continuación, en negritas está la opción de configuración para habilitar SSL:

# Configure the package.
config.status:

        rm cfgaux/config.sub cfgaux/config.guess
        ln -s /usr/share/misc/config.sub cfgaux/
        ln -s /usr/share/misc/config.guess cfgaux/

        $(opt_ac_cv_func_setresuid) \
        ./configure \
        --prefix=/usr \
        --exec_prefix=/usr \
        --bindir=/usr/sbin --sbindir=/usr/sbin \
        --libexecdir=/usr/lib/squid \
        --sysconfdir=$(sysconfdir) \
        --localstatedir=/var/spool/squid \
        --datadir=/usr/share/squid \
        $(with_pthreads) \
        $(with_netfilter) \
        $(with_arp_acl) \
        $(with_epoll) \
        --enable-removal-policies=lru,heap \
        --enable-snmp \
        --enable-delay-pools \
        --enable-htcp \
        --enable-cache-digests \
        --enable-underscores \
        --enable-referer-log \
        --enable-useragent-log \
        --enable-auth="basic,digest,ntlm,negotiate" \
        --enable-negotiate-auth-helpers=squid_kerb_auth \
        --enable-carp \
        --enable-follow-x-forwarded-for \
        --with-large-files \
        --enable-ssl \
        --with-maxfd=65536 \
        $(DEB_HOST_ARCH_CPU)-debian-$(DEB_HOST_ARCH_OS)

4. Compilar y generar los paquetes de instalación.

cd /usr/src/squid-2.7.STABLE9
debuild -us -uc

Se deben obtener los paquetes deb:

squid_2.7.STABLE9-2.1_i386.deb
squid-common_2.7.STABLE9-2.1_all.deb

5. Instalar los paquetes.

sudo apt-get install squid-langpack
sudo dpkg -i *.deb

6. Verificar que las nueva(s) característica(s) están disponibles.

Por ejemplo:

Para verificar el soporte para SSL:

squid -v | grep --color "ssl"
configure options:  '--prefix=/usr' '--exec_prefix=/usr' '--bindir=/usr/sbin' '--sbindir=/usr/sbin' '--libexecdir=/usr/lib/squid' '--sysconfdir=/etc/squid' '--localstatedir=/var/spool/squid' '--datadir=/usr/share/squid' '--enable-async-io' '--with-pthreads' '--enable-storeio=ufs,aufs,coss,diskd,null' '--enable-linux-netfilter' '--enable-arp-acl' '--enable-epoll' '--enable-removal-policies=lru,heap' '--enable-snmp' '--enable-delay-pools' '--enable-htcp' '--enable-cache-digests' '--enable-underscores' '--enable-referer-log' '--enable-useragent-log' '--enable-auth=basic,digest,ntlm,negotiate' '--enable-negotiate-auth-helpers=squid_kerb_auth' '--enable-carp' '--enable-follow-x-forwarded-for' '--with-large-files' '--enable-ssl' '--with-maxfd=65536' 'i386-debian-linux' 'build_alias=i386-debian-linux' 'host_alias=i386-debian-linux' 'target_alias=i386-debian-linux' 'CFLAGS=-Wall -g -O2' 'LDFLAGS=' 'CPPFLAGS='

Se debe ver en color rojo --enable-ssl, en este caso en negritas.

Comentarios desactivados
  1. muy bueno este blog, tengo necesidad de obtener una guia de instalación y configuracion de un servidor squid – proxy , que sea solo proxy con dos interfaces LAN y DMZ. necesito eso ya que no tengo internet y no he logrado instalar squid manualmente el mismo a pesar de que tengo el repositorio de pfsense por tal razón como son mis primeros pasos en esto decidí crear un proxy aparte.

  2. Hola, alguien puede facilitarme un guia para instalar un simple servidor squid-proxy en debian 7 o ubuntu

  3. yo mano dime en que quieres montarlo ya que en ubuntu 12.04 tls es que lo tengo y esa squid3

    1. @yordy

      me sirve ese de ubuntu12

  4. La verdad es que está muy bueno este comentario… ya probé y me funciona la las mil maravillas… Ahora lo que necesito saber es si podemos agregar otras características cualesquiera que no venga en el paquete…