Files
s-informer-sur-la-tech-www/articles/2026/Installer un serveur de cache APT.md

4.0 KiB

title, description, tags, date, lastmod, type, category, status
title description tags date lastmod type category status
Installer un serveur de cache APT 2026-02-28 01:26 2026-02-28 01:26
article
Guide
brouillon

Installer un serveur de cache APT (comme Apt-Cacher-NG) est une excellente initiative pour économiser de la bande passante et accélérer les mises à jour de vos serveurs ou VMs Linux.

Cependant, le passage au HTTPS pour les dépôts complique un peu la donne : par définition, le HTTPS est conçu pour empêcher les interceptions (ce que fait un cache). Pour contourner cela sans compromettre la sécurité, nous allons configurer un tunnel "CONNECT".


1. Installation de Apt-Cacher-NG

Commencez par installer le service sur la machine qui servira de serveur de cache (Debian ou Ubuntu) :

Bash

sudo apt update
sudo apt install apt-cacher-ng -y

Le service écoute par défaut sur le port 3142. Vous pouvez vérifier qu'il tourne bien en accédant à http://IP_DU_SERVEUR:3142.


2. Configuration pour le support HTTPS

Comme le cache ne peut pas "décrypter" le flux HTTPS (à moins de faire une attaque Man-in-the-Middle complexe et peu recommandée), la solution standard est d'autoriser le serveur à agir comme un proxy tunnel.

Sur le serveur de cache :

Éditez le fichier de configuration :

Bash

sudo nano /etc/apt-cacher-ng/acng.conf

Cherchez et modifiez (ou ajoutez) la ligne suivante pour autoriser le port 443 :

Plaintext

PassThroughPattern: ^(.*):443$

Note : Cela permet au client de passer à travers le cache pour le HTTPS. Les fichiers ne seront pas "mis en cache" de la même manière que le HTTP simple, mais cela centralise vos flux.

Redémarrez le service :

Bash

sudo systemctl restart apt-cacher-ng

3. Configuration des Clients

C'est ici que la magie opère. Vous ne devez pas modifier vos fichiers sources.list, mais dire à APT d'utiliser votre serveur comme proxy.

Méthode A : Configuration globale (Recommandé)

Créez un fichier de configuration sur chaque machine cliente :

Bash

sudo nano /etc/apt/apt.conf.d/00aptproxy

Ajoutez la ligne suivante (remplacez par l'IP de votre serveur) :

Plaintext

Acquire::http::Proxy "http://192.168.1.50:3142";
Acquire::https::Proxy "http://192.168.1.50:3142";

Cas particulier : Le "HTTPS-over-HTTP"

Si vous voulez vraiment mettre en cache le contenu HTTPS, la méthode la plus propre est de forcer APT à utiliser le protocole HTTP vers le cache, et de laisser le serveur de cache s'occuper du HTTPS vers l'extérieur.

Pour cela, dans votre sources.list client, remplacez https:// par http:// et utilisez le mapping dans acng.conf. Mais attention, cela demande une maintenance plus lourde. La méthode du PassThrough (étape 2) est la plus robuste.


4. Maintenance et Statistiques

L'un des grands avantages d'Apt-Cacher-NG est son interface web. Elle vous permet de voir combien de giga-octets vous avez économisés.

  • Interface : http://IP_DU_SERVEUR:3142/acng-report.html

  • Expiration du cache : Le serveur gère seul le nettoyage, mais vous pouvez forcer une purge via l'interface web pour supprimer les paquets obsolètes.

Fonctionnalité Action
Logs /var/log/apt-cacher-ng/
Stockage des paquets /var/cache/apt-cacher-ng/
Sécurité Pensez à limiter l'accès au port 3142 via votre pare-feu (UFW/Iptables) aux IPs de votre réseau local.

Résumé de l'architecture

  1. Le Client demande un paquet.

  2. APT voit la configuration proxy et envoie la requête au serveur de cache.

  3. Le Serveur de cache vérifie s'il a déjà le paquet.

    • Si oui : il le sert instantanément.

    • Si non : il le télécharge, le stocke et le sert au client.

  4. Pour le HTTPS, il crée un tunnel direct sans stockage local (sauf configuration spécifique).

Souhaitez-vous que je vous aide à rédiger un script d'automatisation (Ansible ou Bash) pour déployer cette configuration sur 50 clients d'un coup ?