Print Ubuntu – Installing an HTTP proxy server (Squid)

Installing an HTTP proxy server (Squid)

1.Installing the proxy

To install Squid type the following command in a terminal:

2.Configuring the proxy

Configuration of Squid is done through the editing of the following file: /etc/squid/squid.conf

To edit this file ,type Alt+F2 and enter the following command:

2.1.Naming the proxy

Its important that Squid knows the name of the machine. To do this, locate the line visible_hostname.

For example, if the machine called ubuntu insert:

2.2 Choosing the Port

By default, the proxy server will use port 3128. To choose another port, locate the line:

and change the port number, for example:

2.3.Choosing the interface

By default the proxy server will listen on all interfaces. For security reasons, its better to put in on your local network only.

For example, if the network card connected to your LAN, has IP, change the line:

2.4. Setting access rights and priorities

By default, nobody is allowed to connect to the proxy server. (Only from your machine itself)

A list of permissions must be created.

For example, we will define a group encompassing the local network.

Find the line beginning with acl localhost…

At the end of the section, add:

(lanhome is a random name chosen).



2.5. Authorizing access to group

Now that the group is defined, we will authorize to use the proxy.

Locate the line http_access allow … 

and add below (before the line http_access deny all):




2.6. Allow the use non-standard ports

By default, Squid allows HTTP traffic only on specific ports (80, etc.).

  • This can cause problems on websites using other ports.
  • Example: will be blocked by Squid.
  • To avoid this deadlock, find the line:
    • http_access deny! Safe_ports
  • and the edit it to:
    • # http_access deny! Safe_ports

3.Starting the Proxy

Restart the proxy to take apply the modifications you made. Type:

sudo /etc/init.d/squid restart

From there, the proxy should work based upon your requirements. Just configure the software using the proxy and all should run smoothly.


Server logs

The proxy logs are located in: /var/log/squid/access.log

Changing the size of the cache

  • The Squid cache is enabled by default, which helps accelerate the loading of some pages.
  • The default allocated size is 100 MB(found in /var/spool/squid)
  • To change its size, edit the /etc/squid/squid.conf file.
  • Find the line:
    • # cache_dir ufs /var/spool/squid 100 16 256
  • Edit it. You can change the value 100 by what you want (eg 200 for 200 MB):
    • cache_dir ufs /var/spool/squid 200 16 256

Functions and additional modules

Squid is full of options and modules:

  • Prefetch (to preload the pages and speed up navigation).
  • Antivirus filters, AntiPopUp, etc..
  • Access control via proxy login and password.
  • Access control based upon hours.

To do this, open Synaptic, and click on Search and enter squid to find the modules related to Squid.

Consult the documentation for each module and the Squid manual for more information.