vault backup: 2026-02-28 01:41:39
This commit is contained in:
131
articles/2026/Installer un serveur de cache APT.md
Normal file
131
articles/2026/Installer un serveur de cache APT.md
Normal file
@@ -0,0 +1,131 @@
|
||||
---
|
||||
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 ?
|
||||
Reference in New Issue
Block a user