Squid is a Proxy server This howto describes the process of setting up Squid as a Proxy Server Squid is a proxy server, HTTP requests are sent to Squid instead of being sent directly to the internet.
# apt-get install apache2
# apt-get install squid
Key File Locations
|/etc/squid/squid.conf||Squid configuration file|
|/var/log/squid/access.log||Squid access log file|
The squid.conf file is huge, with hundreds of options. In this howto we will only be changing a few settings. Open the squid.conf file for editing
gksudo gedit /etc/squid/squid.conf
Turn on line numbers in gedit (Edit > Preferences) Find the `http_port tag` (should be on or around line 53, its currently Line 89 in 7.10 release) By default it reads `# http_port 3128` This is the default port that Squid will listen on for requests. If you want to change it, uncomment the line and set the correct port. If you want Squid to listen only on one specific NIC, you can also change the IP address – for example `192.168.1.5:3128` Now we'll setup who is allowed access to the proxy. Find the http_access section (should start around line 1860,line 2589 in 7.04 and line 2608 in 7.10 release) Uncomment these 2 lines:
#http_access allow our_networks
You'll need to change 192.168.1.0/24 to match your network. Unless you have a second subnet you can delete 192.168.2.0/24 Above, the first four sets of numbers, separated by periods ("."), form the IP address of your local area network. The last number, after the slash ("/"), is the netmask of your network and depends on your router settings. This is usually 24, meaning that the first three sets of numbers in the IP address only correspond to computers in your network while all others exist outside of it. Other netmasks are explained here. if you get a startup error :- 'FATAL: Could not determine fully qualified hostname. Please set visible_hostname' you will also need to modify the visible_hostname tag (around line 2909 in 7.10) to:- NOTE: this needs to be added as a new line in 7.10 (not sure about other releases) as there is no commented out line re-introduce.
Save the file and close gedit
Fire up Squid If it is not running you can use :-
sudo /etc/init.d/squid start|restart|stop
then this will work
squid -k reconfigure
Squid caches the web pages it serves. If the cache expiration time of the web page is specified, Squid seems to obey it. If you are serving some of the pages, update your page in the Apache directory, Squid won't fetch the new version, instead relying on its cached version until its default expiration time. To flush the Squid cache
sudo /etc/init.d/squid stop sudo rm -fr /var/spool/squid/* sudo squid -z sudo /etc/init.d/squid start
Customize Squid Error Pages
Squid can be customized. Learn how to do this here.
- SquidGuard - Squid Guard
- http://manpages.ubuntu.com/manpages/dapper/en/man8/squid.8.html - Explanation of link.