Aug 19, 2009
Talk Web ID

Installing Squid Web Proxy Server on Windows 7

Squid is a caching proxy server that can help reduce internet bandwidth usage and improving response time of loading a website by caching and re-using frequently opened web page. Squid reduce the bandwidth usage and accelerate the website loading by caching static website objects such as images, flash objects and text files, with some modification Squid can cache larger files such as PDF, MP3, executables, flash videos, etc.

In this tutorial we will install Squid NT which is a fork from Linux version of Squid to Windows 7 (seven). To begin with the installation, first download the package from here: Squid NT and then extract it to C:\ drive. After extracting the content of package you should see a folder named ‘squid’ on C:\ drive, the full path should be C:\squid. Another way is first extract the zip package on where you save it and then move the ‘squid’ directory to C:\

Modifying configuration file

Now we need to modify some files before we configuring Squid. Go to ‘etc’ folder on C:\squid\etc\ you’ll see these files:

  • cachemgr.conf.default
  • mime.conf.default
  • squid.conf.default
  • squid_radius_auth.conf.default

You need to copy and rename these files:

  • cachemgr.conf.default -> cachemgr.conf
  • mime.conf.default -> mime.conf
  • squid.conf.default -> squid.conf

From the three configuration files we only need to configure squid.conf file. The configuration file cachemgr.conf and mime.conf by default will be sufficient for our basic setup.

The default setting on squid.conf generally is ready to use, but you need to make note on these parts:

1. Search for ‘acl localnet src’ you’ll see:

acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network

You can comment out the settings that are not applicable for your network configuration, in my case I use 10.0.0.0/8 network configuration so I’ll comment out the other two lines as I don’t need it. You can comment by adding hash key ‘#’. The end result would be like this:

acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
#acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
#acl localnet src 192.168.0.0/16 # RFC1918 possible internal network

2. Search for ‘dns_nameservers’
Under the explanation, you should add your ISP dns nameservers. The format should look like this:

dns_nameservers <ip_dns_nameserver_1> <ip_dns_nameserver_2>

Now save the changes and close the file. Until these steps, it should be enough to start Squid, you can modify the configuration later on.

Installing Squid service

These steps will install the Squid service so we can restart Squid from Windows’ Control Panel.

1. First we have to disable User Account Control (UAC) settings to be able to install Squid service. Go to: “Control Panel > System and Security > Change User Account Control settings” and move the bar to “Never Notify”, you need to restart Windows 7 to make the settings effective.

Change UAC settings to be able to setup Squid as service

Change UAC settings to be able to setup Squid as service

2. After reboot, open command prompt by clicking on Windows Logo (start), then type ‘Command Prompt’ on the search box and press enter.

Search for "Command Prompt" and press enter

Search for "Command Prompt" and press enter

3. Go to Squid’s sbin directory by typing:

cd c:\squid\sbin

4. Install Squid service with this command (please re-types this and not copy paste to make sure you have the correct character code):

squid.exe -i
You should get this information:
c:\squid\sbin>squid -i
Registry stored HKLM\SOFTWARE\GNU\Squid\2.6\Squid\ConfigFile value c:/squid/etc/
squid.conf
Squid Cache version 2.7.STABLE6 for i686-pc-winnt
installed successfully as Squid Windows System Service.
To run, start it from the Services Applet of Control Panel.
Don't forget to edit squid.conf before starting it.
Squid service installation

Squid service installation

5. Setup Squid’s cache (please re-types this and not copy paste to make sure you have the correct character code):

squid.exe -z

You should get this information:

c:\squid\sbin>squid -z
2009/08/18 22:50:33| Creating Swap Directories

6. After Squid service is installed and the cache is created, now let’s start the service by going to Control Panel > System and Security > Administrative Tools > Services. Look for ‘Squid’, select it and press the start button.

Open the service manager

Open the service manager

Start Squid service

Start Squid service

Now if you see on the Task Manager > Services, you can see Squid service have a Running status.

Squid process on task manager

Squid process on task manager

7. As Squid service is up and running, we need to configure the browser to access the internet via proxy server. On Internet Explorer go to Tools > Internet Options > Connections > LAN Settings, give check on “Use a proxy server for your LAN …” and fill the Address field with your Squid server IP Address (in this case your PC IP address) with the Port 3128 (standard Squid port, you can modify this on squid.conf), click OK twice to save the settings.

Internet Explorer options

Internet Explorer options

Click on LAN Settings

Click on LAN Settings

Add your PC IP address and Port 3128

Add your PC IP address and Port 3128

8. Next step is to test whether our configuration is correct. Go to this site: www.whatismyipaddress.com and you should see “Proxy Server Detected!” message, something similar like this:

Check whether Squid working correctly

Check whether Squid working correctly

9. As everything is working, now we need to re-enable User Account Control (UAC). Go to: “Control Panel > System and Security > Change User Account Control settings” and move the bar to “Default” it’s the 3rd bar, you need to restart Windows 7 to make the settings effective.

I hope this tutorial is clear enough, but in case you still have question please sign-up and post a comment.

Related posts:

  1. Using Windows Mobile Device as Modem for Internet Connection
  2. Free Mail Server for Windows Server 2003 – 2008
  3. Installing VNC Remote Desktop on Centos VPS

18 Comments

  • [...] Squid NT on Windows 7 { Posted on Aug 19 2009 by Markus } Tags : proxy, squid, windows, windows 7 Categories : Internet, System Administration I wrote an tutorial article for Talk Web Id on how to install Squid Web Cache on Windows 7. It have step-by-step tutorial beginning with downloading the Squid zip package until setting the browser to use the proxy server. You can read the article here: http://www.talk.web.id/2009/08/installing-squid-web-proxy-server-on-windows-7/ [...]

  • sir i need full detail of squid configration (like some pdf ,video)
    if you have some training material plz send me on my mail.

    thanks

  • the configuration file template come with the installation package.

    more detailed documentation can be found on Squid Proxy website: http://www.squid-cache.org

  • Nice tutorial. A little tip: If you run cmd with an right-klick and choose “run as admin” you don’t need to disable UAC in order to install the service – no reboot required at all

  • Good tutorial.
    But if you want to use your Windows 7 computer as the proxy of your other computer at home or office, you must “open” the input TCP 3128 port in the Windows 7 firewall.

  • Rather than use your ISP’s nameservers can you instead use Google’s or OpenDNS?
    I like Google’s because they’re easy to remember and work well; they are 4.4.4.4 and 8.8.8.8.

    Also rather than going Control Panel > System and Security > Administrative Tools > Services, one could type services.msc into the “search programs and files” box of the start menu.

    Thanks very much for the tutorial, I would’ve got stuck at the part where you have to edit squid.conf and needed help but having the whole thing step by step made it very easy. I didn’t hit any problems aside the download link being outdated (but I’d already been to Squid NT’s site so I didn’t need the link). At time of writing, this tutorial works perfectly with Squid 2.7 Stable8, and the link is:

    http://squid.acmeconsulting.it/download/squid-2.7.STABLE8-bin-DELAYP.zip

    • yes, of course you can use Google DNS

  • hi dear,
    ty for your nice post.
    when i want to start squid , i get this error:

    —————————
    Services
    —————————
    The Squid service on Local Computer started and then stopped. Some services stop automatically if they are not in use by other services or programs.
    —————————
    OK
    —————————

    any solution?
    Regards
    Sam

    • did you do the installation of squid service as Administrator? try running Command Prompt as Administrator (right click and then select “Run as administrator”

  • Hi, If I want to install it on ubuntu. Do I just follw the same procedure?

    • the configuration part is almost the same. to install squid on Ubuntu you have to run this command:

      sudo aptitude install squid squid-common

      then you have to configure the /etc/squid/squid.conf file, save the changes and start the service:

      sudo /etc/init.d/squid restart

  • Which works best Squid Proxy server or google DNS?

    • Proxy and DNS is 2 different thing. Proxy is for caching web content so that you can get the same content from local server (which is faster) instead of retrieving the same content from original server. of course by using google DNS will help on resolving domain name addresses which in the end also help a bit on browsing experience.

  • I am distribution internet. I have 100 clients each with 512kb download speed. For faster browsing which will be best squid proxy server or google dns. Or should I use both?

    Thanks

    • both

  • Thanks for this help. I appreciate it.

  • Hi. What are PC minimum requirements?

    Also when the hdd gets nearly full. Will this not slows the server down?

    Thanks

    • I hate to be one of those RTFM guys, but seriously, native Squid is very well documented. Aside from the binary installation and some minor configuration changes its all the same.

      But to answer your Question. You don’t need that much processor overhead specific to squid. As for RAM a rough estimate has been stated,10 MB of RAM per GB of the total of all cache directories.(more for 64 bit systems).
      And squid documentation recommends doubling that.

      This is of course in addition to what ever you need to run your system sufficiently prior to installing squid.

      Nice write up by the way!

Leave a comment

*