Installation et configuration de apt-cacher-ng

Après une petite présentation de apt-cacher-ng, passons au vif du sujet. Je détaille l’installation sur une Debian 8 Jessie.

Installation du serveur apt-cacher-ng

apt-get install apt-cacher-ng

Voilà c’est terminé, votre serveur apt-cacher-ng est disponible sur le port 3142 par défaut. Non mais si je suis sérieux ! Le reste n’est pas nécessaire, personnellement je présente la configuration à titre d’information mais je n’ai rien touché de la configuration d’origine en ce qui me concerne.

En revanche n’oubliez pas d’ouvrir les ports (si vous avez un firewall) sur les clients et sur le serveur apt-cacher-ng !

Configuration du serveur apt-cacher-ng

La fichier de configuration principal est /etc/apt-cacher-ng/acng.conf. Je vous invite à vous intéresser à Port (si vous souhaitez modifier le port, par défaut 3142), CacheDir (dossier où sont stockés les paquets en cache, par défaut /var/cache/apt-cacher-ng), LogDir (dossier où sont stockés les logs, par défaut /var/log/apt-cacher-ng), BindAddress (afin de restreindre les adresses pouvant accéder au service apt-cacher-ng, par défaut open bar).

Si vous modifiez quelque chose, n’oubliez pas ensuite le systemctl restart apt-cacher-ng afin que les modifications soient prises en compte.

Documentation, sécurité et maintenance du serveur apt-cacher-ng

Si l’adresse ip de votre serveur apt-cacher-ng est 192.168.1.50 alors la page de manuel se situe sur http://192.168.1.50:3142/acng-doc/html/index.html et l’interface web de maintenance sur http://192.168.1.50:3142/acng-report.html. Vous pouvez sécuriser l’accès aux tâches de maintenance en modifiant le fichier /etc/apt-cacher-ng/security.conf. Par exemple vous pouvez faire echo "AdminAuth: cascador:motdepassecascador" >> /etc/apt-cacher-ng/security.conf. A faire suivre d’un systemctl restart apt-cacher-ng évidemment.

De manière générale allez sur l’interface web de maintenance, vous y trouverez une courte explication pour l’import des paquets déjà dans le cache de votre serveur (pour Debian/Ubuntu c’est dans /var/cache/apt/archives), gérer l’expiration des paquets, des statistiques sur les transferts, etc.

Configuration des postes clients

Nous avons vu ce point dans un article précédent. On crée un fichier /etc/apt/apt.conf.d/01proxy.

Acquire::http::Proxy-Auto-Detect "/etc/apt/detect_proxy.sh";

On crée ensuite notre script /etc/apt/detect_proxy.sh qu’on n’oublie pas de rendre exécutable avec chmod.

#!/bin/bash
# detect_proxy.sh
#
# 09/01/2016
# Script pour détecter si le proxy est disponible et afficher le résultat sur la sortie standard pour Acquire::http::Proxy-Auto-Detect du fichier /etc/apt/apt.conf.d/01proxy
#

### Variables ###
# Proxy #
proxy=192.168.1.50

### Détection du proxy et affichage du résultat sur la sortie standard ###
nc -zw1 $proxy 3142 && echo http://$proxy:3142/ || echo DIRECT

A mettre également en place sur le serveur apt-cache-server !

Recommandations

Quelques recommandations :

  • Pensez à ouvrir les ports dans les firewalls ! Pour les postes clients, il faut ouvrir le port TCP 3142 sortant. Pour le serveur apt-cacher-ng, il faut ouvrir le port TCP 3142 entrant
  • Veillez à ce que vos sources.list soient les plus semblables possibles entre les postes clients, explication détaillée dans l’article précédent
  • Vous pouvez tester facilement si votre poste client « voit » bien le serveur apt-cacher-ng en faisant cd /etc/apt/ puis ./detect_proxy.sh. Si il le voit il renverra http://192.168.1.50:3142/, si il n’y accède pas il renverra DIRECT
  • Dans le futur ma prochaine étape c’est le conteneur et ça se fait apparemment très bien : https://docs.docker.com/engine/examples/apt-cacher-ng/ et https://hub.docker.com/r/sameersbn/apt-cacher-ng/

Sources

https://wiki.auf.org/wikiteki/AptCacherNG
https://www.isalo.org/wiki.debian-fr/Apt-cacher-ng
http://www.tecmint.com/apt-cache-server-in-ubuntu/
http://debian-facile.org/doc:reseau:apt-cacher-ng
http://www.supinfo.com/articles/single/1333-apt-cacher-ng-serveur-cache-vos-distributions-linux
https://doc.ubuntu-fr.org/apt-cacher (à éviter, vieux et beaucoup d’erreurs)
https://help.ubuntu.com/community/Apt-Cacher-Server (à éviter, vieux et beaucoup d’erreurs)

Les commentaires sont fermés.