Setting Up an APT Proxy Server on Debian Linux

Configuring an APT proxy server in a Debian Linux environment can significantly enhance your network’s efficiency by caching package downloads. This setup is particularly beneficial for networks with multiple Debian or Ubuntu systems, reducing bandwidth usage and speeding up package installation. Apt-Cacher NG is a popular, easy-to-use APT proxy solution that we will focus on in this guide.

In this tutorial you will learn:

  • How to install and configure Apt-Cacher NG on a Debian system
  • Configuring APT clients to use the proxy server
  • Testing the APT proxy setup
  • Maintenance and common configuration adjustments for Apt-Cacher NG
Setting Up an APT Proxy Server on Debian Linux
Setting Up an APT Proxy Server on Debian Linux
Software Requirements and Linux Command Line Conventions
Category Requirements, Conventions or Software Version Used
System Debian or Ubuntu-based Linux distribution
Software Apt-Cacher NG
Other Network access to a Debian or Ubuntu repository
Conventions # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
$ – requires given linux commands to be executed as a regular non-privileged user

Installation and Configuration of Apt-Cacher NG

Follow these steps to install and configure Apt-Cacher NG on your server for efficient package management across your network.

  1. Update Package Indexes: Ensure your package lists are up-to-date before installing any new software.
    # apt update

    This command refreshes your local package index to ensure you install the latest version of Apt-Cacher NG.

  2. Install Apt-Cacher NG: Install the proxy server software on your designated machine.
    # apt install apt-cacher-ng

    This step installs Apt-Cacher NG and all required dependencies on your system.

    Balancing Accessibility and Security with HTTP Tunneling in Apt-Cacher NG
    Configuring Apt-Cacher NG to allow HTTP tunnels enables access to remote servers via the proxy, bypassing firewall restrictions, which is invaluable in environments with limited internet access. However, this feature raises significant security concerns, as it could be misused to circumvent network security, potentially exposing the network to harmful external resources. Therefore, it’s advised to enable HTTP tunneling only within secure, trusted LAN environments to mitigate risks and ensure that user activities are monitored and compliant with organizational policies.

    It is safer to disable HTTP tunnels and only enable if the situation requires it.
    It is safer to disable HTTP tunnels and only enable if the situation requires it.

  3. Enable and Start Apt-Cacher NG Service: Ensure the Apt-Cacher NG service starts automatically upon system boot and is running.
    # systemctl enable --now apt-cacher-ng

    This command sets up the service to start automatically and initiates it immediately.

  4. Configure APT Client: Adjust your APT client systems to use the proxy server for package downloads.
    # sudo nano /etc/apt/apt.conf.d/proxy.conf

    Insert the configuration line with your server’s IP address and port, for example:

    Acquire::http::Proxy "";

  5. Test the APT Proxy Setup: Monitor the proxy server’s log file while installing packages on the client to confirm it’s working correctly.
    # tail -f /var/log/apt-cacher-ng/apt-cacher.log

    This command allows you to observe real-time logs as clients request packages through the proxy.

  6. APT Maintenance and Further Configurations: For configuration adjustments, consider changing the cache directory size limit or enabling logging for debugging purposes by editing /etc/apt-cacher-ng/acng.conf. Remember to restart the service after making changes with sudo systemctl restart apt-cacher-ng. For detailed configuration options and maintenance procedures, refer to the official Apt-Cacher NG documentation.


By following these steps, you’ve successfully set up an APT proxy server using Apt-Cacher NG on your Debian Linux system. This setup will help you conserve bandwidth, speed up package installations, and manage updates more efficiently across all client machines in your network. Remember to perform regular maintenance and review your configuration settings to ensure optimal performance and security.