---
title: Installer un serveur de cache APT
description:
tags:
date: 2026-02-28 01:26
lastmod: 2026-02-28 01:26
type:
  - article
category:
  - "[[Guide]]"
status: 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 ?