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:
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:
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.
2. After reboot, open command prompt by clicking on Windows Logo (start), then type ‘Command Prompt’ on the search box and press enter.
3. Go to Squid’s sbin directory by typing:
4. Install Squid service with this command (please re-types this and not copy paste to make sure you have the correct character code):
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.
5. Setup Squid’s cache (please re-types this and not copy paste to make sure you have the correct character code):
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.
Now if you see on the Task Manager > Services, you can see Squid service have a Running status.
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.
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:
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.
Pingback: Squid NT on Windows 7 | Markus Blog
sir i need full detail of squid configration (like some pdf ,video)
if you have some training material plz send me on my mail.
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
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 184.108.40.206 and 220.127.116.11.
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:
yes, of course you can use Google DNS
Anybody that can help with setting up transparent proxy for Squid on Windows?
My ADSL router only work in Bridged mode, so I have to use a proxy to get my Kindle 3 and SONY to update and connect to the internet. Unfortunately the Kindle does not have the option to “Proxy Settings” anywhere. Seems the only way to get around this is to use transparent/interception proxy.
Thanx for a very good article
ty for your nice post.
when i want to start squid , i get this error:
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.
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 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?
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!
is good tutorial for me,it’s working on my laptop…
Thanks for this wonderful article, but I have 2 questions though
1. How to set the proxy server to use both NTLM and Basic authentication.
2. How do I add users for the Basic authentication.
If you can share these details it would be of great help.
i have a problem. whenever i am doing the setting for LAN from internet option my internet automatically stopped working no page open. after restore the setting internet start working. services of squid server is stated in my pc. please tell me what is the problem.. and also tell me which address is fill in address and port number in LAN setting.
plz help me as soon as possible
But not working on Windows 8.
Can anybody help me…?
Squid cannot install on windows 8, with warning “OpenSCManager Failed”
have you tried to run the installer as administrator?
on step 2, after searching the Command Prompt, right click on it and select “run as administrator”, then follow the rest of the steps
I installed Squid in windows and working fine how to enable it in a transparent mode.
Thanks for advance …
to be able to set transparent mode on Squid NT you have to install a software that can do port forwarding, which is not free.
Thank you very much for the nice tutorial. I installed squiid on windows7. Is there a way to access my home squiid installed computer ip from out side? How do I use my home ip address from another city or a country? Thanks!
you have to forward incoming port of squid on your router to your PC (where you install squid) and then just input your public IP address (you can check by searching ‘what is my ip’ on google) to your laptop browser (for example) and try access internet via other connection. keep in mind that for this to work you have to setup correct port forwarding on your router and your ISP allow that incoming port connection to your router (some ISP block incoming port, such as 80 so customer can’t host website on their home connection)
Thank you for the advice. If I set up a virtual private network, Is it possible to access my squiid server from a remote computer without port forwarding.
is good tutorial for me 🙂
Thanks for advance …
I AM USING SQUID 2.7 IN WINDOWS 7
ALL SETTINGS ARE DONE
WHILE ACCESSING THE WEB PAGES ERROR COMES LIKE THIS
” ACCESS CONTROL CONFIGURATION PREVENTS YOUR REQUEST FROM BEING ALLOWED AT THIS TIME.
YOUR CACHE ADMIN IS WEBMASTER
PLS HELP ME REGARDS