Setting up Squid on Windows
At work, we do a lot of our testing and debugging with virtual machines (using Microsoft Virtual Server or Hyper-V, mostly). The virtual guests are generally not allowed any access to our live network, which makes accessing the Internet difficult. To get around this, I usually set up Squid on the host machine. This allows the guests to access (e.g.) Windows Update and Microsoft Symbol Server, which makes things a bit easier.
Here’s my quick guide to setting up Squid on Windows.
- Download the latest stable version of Squid from http://squid.acmeconsulting.it/download/dl-squid.html. At the time of writing this is Squid 2.7-stable6.
- Unzip it to C:</tt>. You should end up with a directory called C:\squid.
- In the C:\squid\etc directory, rename the configuration files as follows:
- mime.conf.default to mime.conf
- squid.conf.default to squid.conf
- If you want to put the cache and log directories on another drive – they get quite large, edit the squid.conf file (see below).
- Run c:\squid\bin\squid -i to install it as a Windows service. You’ll need to be elevated at this point.
- Run c:\squid\bin\squid -z to initialize the cache directories.
- Open up your firewall to either allow squid.exe or port 3128
- Start the squid service
Using a different drive for the cache and log directories
--- squid.conf.default 2008-10-21 00:03:06.000000000 +0100 +++ squid.conf 2009-01-06 10:03:48.160910000 +0000 @@ -1928,7 +1928,7 @@ # (hard coded at 1 MB). # #Default: -# cache_dir ufs c:/squid/var/cache 100 16 256 +cache_dir ufs e:/squid/var/cache 100 16 256 # TAG: store_dir_select_algorithm # Set this to 'round-robin' as an alternative. @@ -2100,7 +2100,7 @@ # # And priority could be any of: # err, warning, notice, info, debug. -access_log c:/squid/var/logs/access.log squid +access_log e:/squid/var/logs/access.log squid # TAG: log_access allow|deny acl acl... # This options allows you to control which requests gets logged @@ -2123,7 +2123,7 @@ # logged to this file with the "debug_options" tag below. # #Default: -# cache_log c:/squid/var/logs/cache.log +cache_log e:/squid/var/logs/cache.log # TAG: cache_store_log # Logs the activities of the storage manager. Shows which @@ -2133,7 +2133,7 @@ # disable it. # #Default: -# cache_store_log c:/squid/var/logs/store.log +cache_store_log e:/squid/var/logs/store.log # TAG: cache_swap_state # Location for the cache "swap.state" file. This index file holds @@ -4872,7 +4872,7 @@ # coredump_dir none # # Leave coredumps in the first cache dir -coredump_dir c:/squid/var/cache +coredump_dir e:/squid/var/cache # TAG: chroot # Use this to have Squid do a chroot() while initializing. This