viernes, 26 de enero de 2018

APT-CACHER: tu propio servidor de paquetes de linux en tu ordenador

En la siguiente página se explica como instalar y configurar "apt-cacher" en linux en tu ordenador servidor, y como configurar los equipos clientes de tu red para que usen tu servidor como repositorio de paquetes:

https://diocesanos.es/blogs/equipotic/2016/11/11/instalacion-y-actualizacion-de-apt-cacher/

La siguiente información la he obtenido de dicha página:



Instalación y actualización de apt-cacher

Apt-cacher es un software que permite configurar un equipo de la red local como intermediario (proxy-caché) para que las peticiones de instalación/actualización del resto de equipos puedan aprovechar una copia “local” y no saturen la conexión de red a internet.

apt-cacher-ng

Cuando un equipo cliente solicite una lista o paquete a cualquiera de los repositorios que tenga configurados (oficiales o no) delegará la descarga al servidor de “apt-cacher”. Si existe una copia en el servidor se devolverá al cliente. En caso contrario el servidor descargará la lista/paquete, hará copia para otras peticiones posteriores y la enviará al cliente.

Es posible configurar el servidor “apt-cacher” para que optimice el espacio ocupado manteniendo sólo copias de los archivos con la última versión, copias para distintas distribuciones de Ubuntu (12, 14, …) o arquitecturas (32 / 64 bits), así como restringir el uso a equipos o subredes concretas.

Instalación inicial

  1. Localiza un equipo que pueda actuar como servidor, con IP fija, y espacio suficiente en la partición de usuarios del disco duro (+10Gb).
  2. Instalar con “apt-get install apt-cacher apache2
  3. Configurar como “demonio” para que inicie automáticamente. Si no preguntara durante la instalación hay que modificar el archivo “/etc/default/apt-cacher” y cambiar la línea de “autostart” a “1”
  4. Asegúrate de que el servidor apt-cacher está parado con “ service apt-cacher stop”

Ajustes a la configuración por defecto del servidor

En nuestro caso la partición del sistema que incluye el directorio “/var/cache” está limitada a 8-10Gb. Es en este directorio donde por defecto se guardarán las copias de los paquetes de apt-cacher. Corremos el riesgo de quedarnos sin espacio en esa partición.
Vamos a crear en primer lugar un nuevo directorio en la partición de “/home” que tiene mucho más espacio libre asignado. Se lo asociaremos al usuario del servidor apache:
mkdir /home/apt-cacher
chown www-data:www-data /home/apt-cacher
chmod 770 /home/apt-cacher
Edita el fichero “/etc/apt-cacher/apt-cacher.conf”y realiza los siguientes cambios
  1. Descomenta y edita la línea “cache_dir = /var/cache/apt-cacher” y cámbiala por “cache_dir = /home/apt-cacher” para que utilice el directorio que hemos creado previamente.
  2. Opcionalmente descomenta y edita la línea “admin_email = root@localhost” y cambia la dirección de correo por otra con más sentido.
  3. Descomenta la línea “daemon_addr = localhost” y modifícala para que refleje la IP del servidor (192.168.0.3 en mi caso) de la forma “daemon_addr = 192.168.0.3 ”.
  4. Si existen en la red varios tipos de distribuciones (Debian, Ubuntu) es posible separar los paquetes de cada una habilitando la opción “distinct_namespaces”. Descomenta la línea correspondiente y cámbiala a “distinct_namespaces = 1”.
  5. Descomenta la línea de “allowed_hosts = *” para que cualquier equipo de la red pueda acceder al servidor. En caso contrario observarás mensajes del tipo “403 access to cache prohibited” o similar cuando traten de instalar/actualizar paquetes los clientes.
  6. Descomenta la línea “generate_reports = 1” para que el servidor regenere el informe de uso cada 24 horas.
  7. Descomenta la línea “clean_cache = 1” para que el servidor se purge cada 24 horas y elimine las copias de paquetes de versiones no actualizadas y se quede con la última.
(Opcional) Modifica el fichero “/etc/services” para reflejar el uso del puerto “3142” por parte de “apt-cacher”. Añade al final del archivo las líneas:
apt-cacher 3142/tcp 
apt-cacher 3142/udp
Para terminar vamos a reconfigurar la forma en que el servidor instala/actualiza sus propios paquetes. Ejecuta el siguiente comando para crear un nuevo fichero de ajuste de configuración para “apt” (suponiendo que la dirección IP 192.168.0.3 es la del servidor. Cámbiala por la tuya):
echo "Acquire::http::Proxy \"http://192.168.0.3:3142\";" > /etc/apt/apt.conf.d/01proxy
Reinicia ahora el servicio con “service apache2 restart; service apt-cacher restart”.

Verificación del funcionamiento del servidor

  1. Abre la página “direccion_ip_servidor:3142” en un navegador y comprueba que devuelve la página con la configuración activa.
  2. Actualiza la lista de paquetes disponibles con “apt-get update”.
  3. Actualiza el servidor con “apt-get dist-upgrade”. Reinicia si es necesario.
  4. A continuación puedes verificar que se han hecho copia de las listas y de los archivos a partir del directorio “/home/apt-cacher”.

Configuración de los clientes

En los equipos clientes hay que abrir un terminal, identificarnos como root (con el comando "sudo  su"), ubicarnos dentro del directorio "/etc/apt/apt.conf.d/", y crear un archivo llamado "01proxy".

Abrimos este archivo con algún editor de textos (por ejemplo con "gedit"), y tenemos que crear una linea dentro de él con la siguiente información:

Acquire::http::Proxy "http://LA_IP_DE_TU_SERVIDOR:3142";

Muy importante es que sustituyas la cadena de caracteres "LA_IP_DE_TU_SERVIDOR" por
la dirección IPv4 que tenga tu servidor con apt-cacher.
 
Una forma más abreviada de hacer esto es ejecutando el siguiente comando desde el terminal:

echo "Acquire::http::Proxy \"http://192.168.0.3:3142\";" > /etc/apt/apt.conf.d/01proxy

Una vez configurados los clientes SOLO instalarían/actualizarían a través del servidor-proxy. Si éste no estuviera disponible se produciría un error de acceso y no completarían el proceso.

No hay comentarios:

Publicar un comentario