From: Amos Jeffries Date: Tue, 9 Sep 2008 12:16:59 +0000 (+1200) Subject: Import windows support notes from 2.6 X-Git-Tag: SQUID_3_1_0_1~49^2~55 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=45fb607aebf221d609c48d5c25c4264ee828c3c6;p=thirdparty%2Fsquid.git Import windows support notes from 2.6 3.x is more closely aligned regarding windows support for 2.6 than 2.7 Should have been these notes imported earlier. --- diff --git a/doc/release-notes/release-3.0.html b/doc/release-notes/release-3.0.html index 68f049a45d..5afbb0483a 100644 --- a/doc/release-notes/release-3.0.html +++ b/doc/release-notes/release-3.0.html @@ -125,25 +125,22 @@ Some has been dropped as they are not needed. Some has not yet been forward-port

See http://www.squid-cache.org/Doc/FAQ/FAQ-6.html#ss6.7 for a definition of all log types.

-

5. Windows support

This Squid version can run on Windows as a system service using the Cygwin emulation environment, -or can be compiled in Windows native mode using the MinGW + MSYS development environment. Windows NT 4 SP4 and later are supported.

-

On Windows 2000 and later the service is configured to use the Windows Service Recovery option -restarting automatically after 60 seconds.

- -

5.1 Usage -

+or can be compiled in Windows native mode using the MinGW + MSYS development environment. Windows NT 4 SP4 and later are supported.
+On Windows 2000 and later the service is configured to use the Windows Service Recovery option +restarting automatically after 60 seconds. +
-

Some new command line options was added for the Windows service support:

+
Usage
+

Some new command line options were added for the Windows service support:

The service installation is made with -i command line switch, it's possible to use -f switch at the same time for specify a different config-file settings for the Squid Service that will be stored on the Windows Registry.

A new -n switch specify the Windows Service Name, so multiple Squid instance are allowed. "Squid" is the default when the switch is not used.

So, to install the service, the syntax is:

-

 squid -i [-f file] [-n name]
@@ -173,10 +170,11 @@ specific to Windows services functionality and Squid is not designed for underst
 squid -O "-D -u 3130" -n squidsvc
 

- -

5.2 PSAPI.DLL (Process Status Helper) Considerations -

- +
+

+

+

+
PSAPI.DLL (Process Status Helper) Considerations

The process status helper functions make it easier for you to obtain information about processes and device drivers running on Microsoft® Windows NT®/Windows® 2000. These functions are available in PSAPI.DLL, which is distributed in the Microsoft® Platform @@ -191,23 +189,24 @@ downloaded from here: http://download.microsoft.com/download/platformsdk/Redist/4.0.1371.1/NT4/EN-US/psinst.EXE

On Windows 2000 and later it is available installing the Windows Support Tools, located on the Support\Tools folder of the installation Windows CD-ROM.

- -

5.3 Registry DNS lookup -

- +
+

+

+

+
Registry DNS lookup

On Windows platforms, if no value is specified in the dns_nameservers option on squid.conf or in the /etc/resolv.conf file, the list of DNS name servers are taken from the Windows registry, both static and dynamic DHCP configurations are supported.

- -

5.4 Compatibility Notes -

- +
+

+

+

+
Compatibility Notes

  • It's recommended to use '/' char in Squid paths instead of '\'
  • Paths with spaces (like 'C:\Programs Files\Squid) are NOT supported by Squid
  • -
  • Include wildcard patterns in squid.conf are NOT supported on Windows
  • When using ACL like 'acl aclname acltype "file"' the file must be in DOS text format (CR+LF) and the full Windows path must be specified, for example: @@ -230,31 +229,88 @@ redirect_program c:/winnt/system32/cmd.exe /C c:/squid/libexec/redir.cmd
  • Building with MinGW, when the configure option --enable-truncate is used, Squid cannot run on Windows NT, only Windows 2000 and later are supported

- -

5.5 Known Limitations -

- +
+

+

+

+
Known Limitations

    -
  • DISKD: still needs to be ported
  • -
  • WCCP: cannot work because user space GRE support on Windows is missing
  • -
  • Transparent Proxy: missing Windows non commercial interception driver
  • +
  • Squid features not operational:
    +
      +
    • DISKD: still needs to be ported
    • +
    • WCCP: cannot work because user space GRE support on Windows is missing
    • +
    • Transparent Proxy: missing Windows non commercial interception driver
    • +
    +
  • Some code sections can make blocking calls.
  • Some external helpers may not work.
  • File Descriptors number hard-limited to 2048 when building with MinGW.

+
+

+

+

+
Building Squid on Windows
+

A reasonably recent release of +Cygwin or +MinGW is needed.
+The usage of the Cygwin environment is very similar to other Unix/Linux environments, and -devel version of libraries must be installed.
+For the MinGW environment, the packages MSYS, MinGW and msysDTK must be installed. Some additional libraries and tools must be downloaded separately:

+OpenSSL: +Shining Light Productions Win32 OpenSSL
+libcrypt: +MinGW packages repository
+db-1.85: +TinyCOBOL download area
+uudecode: +Native Win32 ports of some GNU utilities

+When running configure, --disable-wccp and --disable-wccpv2 options should always specified to avoid compile errors.
+

    +
  • New configure options:
    +
      +
    • --enable-win32-service
    • +
    +
  • +
  • Updated configure options:
    +
      +
    • --enable-arp-acl
    • +
    • --enable-default-hostsfile
    • +
    +
  • +
  • Unsupported configure options:
    +
      +
    • --enable-coss-aio-ops: On Windows Posix AIO is not available
    • +
    • --with-large-files: No suitable build environment is available on both Cygwin and MinGW, but --enable-large-cache-files works fine
    • +
    +
  • +
  • Recommended configure minimal options for Windows:
    +
      +
    • --prefix=c:/squid --disable-wccp --disable-wccpv2 --enable-win32-service --enable-default-hostsfile=none
    • +
    +
  • +
+
+Before build Squid with SSL support, some operations are needed (in the following example OpenSSL is installed in C:\OpenSSL and MinGW in C:\MinGW): +
    +
  • Copy C:\OpenSSL\lib\MinGW content to C:\MinGW\lib
  • +
  • Copy C:\OpenSSL\include\openssl content to C:\MinGW\include\openssl
  • +
  • Rename C:\MinGW\lib\ssleay32.a to C:\MinGW\lib\libssleay32.a
  • +
+

-

5.6 Using cache manager on Windows -

- -

On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache. -Some specific configuration could be needed:

- -

IIS 6 (Windows 2003)

- -

On IIS 6.0 all CGI extensions are denied by default for security reason, so the following configuration is needed:

+
+

+

+
Using cache manager on Windows:
+

On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache.
+Some specific configuration could be needed:
+

    +
  • IIS 6 (Windows 2003):
    +
      +
    • On IIS 6.0 all CGI extensions are denied by default for security reason, so the following configuration is needed:
      • Create a cgi-bin Directory
      • Define the cgi-bin IIS Virtual Directory with read and CGI execute IIS @@ -266,12 +322,13 @@ the IIS system account and SYSTEM must be able to read and execute the file
      • Extension called "Squid Cachemgr", add the cachemgr.cgi file and set the extension status to Allowed
      -

      - -

      Apache:

      - -

      On Windows, cachemgr.cgi needs to create a temporary file, so Apache must be instructed -to pass the TMP and TEMP Windows environment variables to CGI applications: +

    • +
    +
  • +
  • Apache:
    +
      +
    • On Windows, cachemgr.cgi needs to create a temporary file, so Apache must be instructed +to pass the TMP and TEMP Windows environment variables to CGI applications:
       ScriptAlias /squid/cgi-bin/ "c:/squid/libexec/"
       <Location /squid/cgi-bin/cachemgr.cgi>
      @@ -280,11 +337,17 @@ ScriptAlias /squid/cgi-bin/ "c:/squid/libexec/"
           Allow from workstation.example.com
       </Location>
       
      +
    • +
    +
  • +
+

+

-

5.7 Changes to squid.conf +

5.1 Changes to squid.conf

There have been many changes to Squid's configuration file since Squid-2.6.

@@ -859,7 +922,7 @@ See the accf_http(9) man page.

-

5.8 Changes to ./configure Options +

5.2 Changes to ./configure Options

There have been some changes to Squid's build configuration since Squid-2.6.

diff --git a/doc/release-notes/release-3.0.sgml b/doc/release-notes/release-3.0.sgml index f3984027d4..de07cf484d 100644 --- a/doc/release-notes/release-3.0.sgml +++ b/doc/release-notes/release-3.0.sgml @@ -112,18 +112,16 @@ Some has been dropped as they are not needed. Some has not yet been forward-port

The requested object was cached but STALE. The IMS query returned the new content.

See for a definition of all log types. - Windows support - -

This Squid version can run on Windows as a system service using the Cygwin emulation environment, -or can be compiled in Windows native mode using the MinGW + MSYS development environment. Windows NT 4 SP4 and later are supported. - +

This Squid version can run on Windows as a system service using the Cygwin emulation environment, +or can be compiled in Windows native mode using the MinGW + MSYS development environment. Windows NT 4 SP4 and later are supported. On Windows 2000 and later the service is configured to use the Windows Service Recovery option restarting automatically after 60 seconds. + -Usage +Usage -

Some new command line options was added for the Windows service support: +Some new command line options were added for the Windows service support: The service installation is made with -i command line switch, it's possible to use -f switch at the same time for specify a different config-file settings for the Squid Service that will be @@ -134,7 +132,7 @@ A new -n switch specify the Windows Service Name, so multiple Squid instance are So, to install the service, the syntax is: -

squid -i [-f file] [-n name] +squid -i [-f file] [-n name] Service uninstallation is made with -r command line switch with the appropriate -n switch. @@ -155,10 +153,12 @@ specific to Windows services functionality and Squid is not designed for underst In the following example the command line of the "squidsvc" Squid service is set to "-D -u 3130": squid -O "-D -u 3130" -n squidsvc + -PSAPI.DLL (Process Status Helper) Considerations + +PSAPI.DLL (Process Status Helper) Considerations -

The process status helper functions make it easier for you to obtain information about +The process status helper functions make it easier for you to obtain information about processes and device drivers running on Microsoft® Windows NT®/Windows® 2000. These functions are available in PSAPI.DLL, which is distributed in the Microsoft® Platform Software Development Kit (SDK). The same information is generally available through the @@ -175,19 +175,21 @@ downloaded from here: On Windows 2000 and later it is available installing the Windows Support Tools, located on the Support\Tools folder of the installation Windows CD-ROM. + -Registry DNS lookup - -

On Windows platforms, if no value is specified in the +Registry DNS lookup +On Windows platforms, if no value is specified in the -Compatibility Notes -

+ +Compatibility Notes + It's recommended to use '/' char in Squid paths instead of '\' Paths with spaces (like 'C:\Programs Files\Squid) are NOT supported by Squid -Include wildcard patterns in squid.conf are NOT supported on Windows When using ACL like 'acl aclname acltype "file"' the file must be in DOS text format (CR+LF) and the full Windows path must be specified, for example: @@ -203,26 +205,72 @@ redirect_program c:/winnt/system32/cmd.exe /C c:/squid/libexec/redir.cmd "Start parameters" in the Windows 2000/XP/2003 Service applet cannot be used Building with MinGW, when the configure option --enable-truncate is used, Squid cannot run on Windows NT, only Windows 2000 and later are supported + -Known Limitations - -

-DISKD: still needs to be ported -WCCP: cannot work because user space GRE support on Windows is missing -Transparent Proxy: missing Windows non commercial interception driver + +Known Limitations + +Squid features not operational: + +DISKD: still needs to be ported +WCCP: cannot work because user space GRE support on Windows is missing +Transparent Proxy: missing Windows non commercial interception driver + Some code sections can make blocking calls. Some external helpers may not work. File Descriptors number hard-limited to 2048 when building with MinGW. + -Using cache manager on Windows + +Building Squid on Windows +A reasonably recent release of or is needed. +The usage of the Cygwin environment is very similar to other Unix/Linux environments, and -devel version of libraries must be installed. +For the MinGW environment, the packages MSYS, MinGW and msysDTK must be installed. Some additional libraries and tools must be downloaded separately: +OpenSSL: +libcrypt: +db-1.85: +uudecode: +When running configure, --disable-wccp and --disable-wccpv2 options should always specified to avoid compile errors. + +New configure options: + +--enable-win32-service + +Updated configure options: + +--enable-arp-acl +--enable-default-hostsfile + +Unsupported configure options: + +--enable-coss-aio-ops: On Windows Posix AIO is not available +--with-large-files: No suitable build environment is available on both Cygwin and MinGW, but --enable-large-cache-files works fine + +Recommended configure minimal options for Windows: + +--prefix=c:/squid --disable-wccp --disable-wccpv2 --enable-win32-service --enable-default-hostsfile=none + + + +Before build Squid with SSL support, some operations are needed (in the following example OpenSSL is installed in C:\OpenSSL and MinGW in C:\MinGW): + +Copy C:\OpenSSL\lib\MinGW content to C:\MinGW\lib +Copy C:\OpenSSL\include\openssl content to C:\MinGW\include\openssl +Rename C:\MinGW\lib\ssleay32.a to C:\MinGW\lib\libssleay32.a + -

On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache. -Some specific configuration could be needed: + -IIS 6 (Windows 2003) -

On IIS 6.0 all CGI extensions are denied by default for security reason, so the following configuration is needed: -

+ +Using cache manager on Windows: +On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache. +Some specific configuration could be needed: + +IIS 6 (Windows 2003): + +On IIS 6.0 all CGI extensions are denied by default for security reason, so the following configuration is needed: + Create a cgi-bin Directory Define the cgi-bin IIS Virtual Directory with read and CGI execute IIS permissions, ASP scripts are not needed. This automatically defines a @@ -233,10 +281,11 @@ the IIS system account and SYSTEM must be able to read and execute the file Extension called - -Apache: -

On Windows, cachemgr.cgi needs to create a temporary file, so Apache must be instructed - to pass the TMP and TEMP Windows environment variables to CGI applications: + +Apache: + +On Windows, cachemgr.cgi needs to create a temporary file, so Apache must be instructed + to pass the TMP and TEMP Windows environment variables to CGI applications: ScriptAlias /squid/cgi-bin/ "c:/squid/libexec/" <Location /squid/cgi-bin/cachemgr.cgi> @@ -245,6 +294,9 @@ ScriptAlias /squid/cgi-bin/ "c:/squid/libexec/" Allow from workstation.example.com </Location> + + + diff --git a/doc/release-notes/release-3.1.html b/doc/release-notes/release-3.1.html index f949578f06..f22f232153 100644 --- a/doc/release-notes/release-3.1.html +++ b/doc/release-notes/release-3.1.html @@ -131,21 +131,19 @@ Details at

5. Windows support

This Squid version can run on Windows as a system service using the Cygwin emulation environment, -or can be compiled in Windows native mode using the MinGW + MSYS development environment. Windows NT 4 SP4 and later are supported.

-

On Windows 2000 and later the service is configured to use the Windows Service Recovery option -restarting automatically after 60 seconds.

- -

5.1 Usage -

+or can be compiled in Windows native mode using the MinGW + MSYS development environment. Windows NT 4 SP4 and later are supported.
+On Windows 2000 and later the service is configured to use the Windows Service Recovery option +restarting automatically after 60 seconds. +
-

Some new command line options was added for the Windows service support:

+
Usage
+

Some new command line options were added for the Windows service support:

The service installation is made with -i command line switch, it's possible to use -f switch at the same time for specify a different config-file settings for the Squid Service that will be stored on the Windows Registry.

A new -n switch specify the Windows Service Name, so multiple Squid instance are allowed. "Squid" is the default when the switch is not used.

So, to install the service, the syntax is:

-

 squid -i [-f file] [-n name]
@@ -175,10 +173,11 @@ specific to Windows services functionality and Squid is not designed for underst
 squid -O "-D -u 3130" -n squidsvc
 

- -

5.2 PSAPI.DLL (Process Status Helper) Considerations -

- +
+

+

+

+
PSAPI.DLL (Process Status Helper) Considerations

The process status helper functions make it easier for you to obtain information about processes and device drivers running on Microsoft® Windows NT®/Windows® 2000. These functions are available in PSAPI.DLL, which is distributed in the Microsoft® Platform @@ -193,23 +192,24 @@ downloaded from here: http://download.microsoft.com/download/platformsdk/Redist/4.0.1371.1/NT4/EN-US/psinst.EXE

On Windows 2000 and later it is available installing the Windows Support Tools, located on the Support\Tools folder of the installation Windows CD-ROM.

- -

5.3 Registry DNS lookup -

- +
+

+

+

+
Registry DNS lookup

On Windows platforms, if no value is specified in the dns_nameservers option on squid.conf or in the /etc/resolv.conf file, the list of DNS name servers are taken from the Windows registry, both static and dynamic DHCP configurations are supported.

- -

5.4 Compatibility Notes -

- +
+

+

+

+
Compatibility Notes

  • It's recommended to use '/' char in Squid paths instead of '\'
  • Paths with spaces (like 'C:\Programs Files\Squid) are NOT supported by Squid
  • -
  • Include wildcard patterns in squid.conf are NOT supported on Windows
  • When using ACL like 'acl aclname acltype "file"' the file must be in DOS text format (CR+LF) and the full Windows path must be specified, for example: @@ -232,31 +232,88 @@ redirect_program c:/winnt/system32/cmd.exe /C c:/squid/libexec/redir.cmd
  • Building with MinGW, when the configure option --enable-truncate is used, Squid cannot run on Windows NT, only Windows 2000 and later are supported

- -

5.5 Known Limitations -

- +
+

+

+
Known Limitations
+

+

    +
  • Squid features not operational:
      -
    • DISKD: still needs to be ported
    • -
    • WCCP: cannot work because user space GRE support on Windows is missing
    • -
    • Transparent Proxy: missing Windows non commercial interception driver
    • +
    • DISKD: still needs to be ported
    • +
    • WCCP: cannot work because user space GRE support on Windows is missing
    • +
    • Transparent Proxy: missing Windows non commercial interception driver
    • +
    +
  • Some code sections can make blocking calls.
  • Some external helpers may not work.
  • File Descriptors number hard-limited to 2048 when building with MinGW.

+
+

+

+

+
Building Squid on Windows
+

A reasonably recent release of +Cygwin or +MinGW is needed.
+The usage of the Cygwin environment is very similar to other Unix/Linux environments, and -devel version of libraries must be installed.
+For the MinGW environment, the packages MSYS, MinGW and msysDTK must be installed. Some additional libraries and tools must be downloaded separately:

+OpenSSL: +Shining Light Productions Win32 OpenSSL
+libcrypt: +MinGW packages repository
+db-1.85: +TinyCOBOL download area
+uudecode: +Native Win32 ports of some GNU utilities

+When running configure, --disable-wccp and --disable-wccpv2 options should always specified to avoid compile errors.
+

    +
  • New configure options:
    +
      +
    • --enable-win32-service
    • +
    +
  • +
  • Updated configure options:
    +
      +
    • --enable-arp-acl
    • +
    • --enable-default-hostsfile
    • +
    +
  • +
  • Unsupported configure options:
    +
      +
    • --enable-coss-aio-ops: On Windows Posix AIO is not available
    • +
    • --with-large-files: No suitable build environment is available on both Cygwin and MinGW, but --enable-large-cache-files works fine
    • +
    +
  • +
  • Recommended configure minimal options for Windows:
    +
      +
    • --prefix=c:/squid --disable-wccp --disable-wccpv2 --enable-win32-service --enable-default-hostsfile=none
    • +
    +
  • +
+
+Before build Squid with SSL support, some operations are needed (in the following example OpenSSL is installed in C:\OpenSSL and MinGW in C:\MinGW): +
    +
  • Copy C:\OpenSSL\lib\MinGW content to C:\MinGW\lib
  • +
  • Copy C:\OpenSSL\include\openssl content to C:\MinGW\include\openssl
  • +
  • Rename C:\MinGW\lib\ssleay32.a to C:\MinGW\lib\libssleay32.a
  • +
+

-

5.6 Using cache manager on Windows -

- -

On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache. -Some specific configuration could be needed:

- -

IIS 6 (Windows 2003)

- -

On IIS 6.0 all CGI extensions are denied by default for security reason, so the following configuration is needed:

+
+

+

+
Using cache manager on Windows:
+

On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache.
+Some specific configuration could be needed:
+

    +
  • IIS 6 (Windows 2003):
    +
      +
    • On IIS 6.0 all CGI extensions are denied by default for security reason, so the following configuration is needed:
      • Create a cgi-bin Directory
      • Define the cgi-bin IIS Virtual Directory with read and CGI execute IIS @@ -268,12 +325,13 @@ the IIS system account and SYSTEM must be able to read and execute the file
      • Extension called "Squid Cachemgr", add the cachemgr.cgi file and set the extension status to Allowed
      -

      - -

      Apache:

      - -

      On Windows, cachemgr.cgi needs to create a temporary file, so Apache must be instructed -to pass the TMP and TEMP Windows environment variables to CGI applications: +

    • +
    +
  • +
  • Apache:
    +
      +
    • On Windows, cachemgr.cgi needs to create a temporary file, so Apache must be instructed +to pass the TMP and TEMP Windows environment variables to CGI applications:
       ScriptAlias /squid/cgi-bin/ "c:/squid/libexec/"
       <Location /squid/cgi-bin/cachemgr.cgi>
      @@ -282,11 +340,16 @@ ScriptAlias /squid/cgi-bin/ "c:/squid/libexec/"
           Allow from workstation.example.com
       </Location>
       
      +
    • +
    +
  • +
+

+

- -

5.7 Changes to squid.conf +

5.1 Changes to squid.conf

There have been changes to Squid's configuration file since Squid-3.0.

@@ -504,7 +567,7 @@ contained in the directory it points at. If absent error page localization will

-

5.8 Changes to ./configure Options +

5.2 Changes to ./configure Options

There have been some changes to Squid's build configuration since Squid-3.0.

diff --git a/doc/release-notes/release-3.1.sgml b/doc/release-notes/release-3.1.sgml index f795734190..a453f5fdaf 100644 --- a/doc/release-notes/release-3.1.sgml +++ b/doc/release-notes/release-3.1.sgml @@ -122,16 +122,15 @@ Updates can be downloaded from Windows support - -

This Squid version can run on Windows as a system service using the Cygwin emulation environment, -or can be compiled in Windows native mode using the MinGW + MSYS development environment. Windows NT 4 SP4 and later are supported. - +

This Squid version can run on Windows as a system service using the Cygwin emulation environment, +or can be compiled in Windows native mode using the MinGW + MSYS development environment. Windows NT 4 SP4 and later are supported. On Windows 2000 and later the service is configured to use the Windows Service Recovery option restarting automatically after 60 seconds. + -Usage +Usage -

Some new command line options was added for the Windows service support: +Some new command line options were added for the Windows service support: The service installation is made with -i command line switch, it's possible to use -f switch at the same time for specify a different config-file settings for the Squid Service that will be @@ -142,7 +141,7 @@ A new -n switch specify the Windows Service Name, so multiple Squid instance are So, to install the service, the syntax is: -

squid -i [-f file] [-n name] +squid -i [-f file] [-n name] Service uninstallation is made with -r command line switch with the appropriate -n switch. @@ -163,10 +162,12 @@ specific to Windows services functionality and Squid is not designed for underst In the following example the command line of the "squidsvc" Squid service is set to "-D -u 3130": squid -O "-D -u 3130" -n squidsvc + -PSAPI.DLL (Process Status Helper) Considerations + +PSAPI.DLL (Process Status Helper) Considerations -

The process status helper functions make it easier for you to obtain information about +The process status helper functions make it easier for you to obtain information about processes and device drivers running on Microsoft® Windows NT®/Windows® 2000. These functions are available in PSAPI.DLL, which is distributed in the Microsoft® Platform Software Development Kit (SDK). The same information is generally available through the @@ -183,19 +184,21 @@ downloaded from here: On Windows 2000 and later it is available installing the Windows Support Tools, located on the Support\Tools folder of the installation Windows CD-ROM. + -Registry DNS lookup - -

On Windows platforms, if no value is specified in the +Registry DNS lookup +On Windows platforms, if no value is specified in the -Compatibility Notes -

+ +Compatibility Notes + It's recommended to use '/' char in Squid paths instead of '\' Paths with spaces (like 'C:\Programs Files\Squid) are NOT supported by Squid -Include wildcard patterns in squid.conf are NOT supported on Windows When using ACL like 'acl aclname acltype "file"' the file must be in DOS text format (CR+LF) and the full Windows path must be specified, for example: @@ -211,26 +214,72 @@ redirect_program c:/winnt/system32/cmd.exe /C c:/squid/libexec/redir.cmd "Start parameters" in the Windows 2000/XP/2003 Service applet cannot be used Building with MinGW, when the configure option --enable-truncate is used, Squid cannot run on Windows NT, only Windows 2000 and later are supported + -Known Limitations - -

-DISKD: still needs to be ported -WCCP: cannot work because user space GRE support on Windows is missing -Transparent Proxy: missing Windows non commercial interception driver + +Known Limitations + +Squid features not operational: + +DISKD: still needs to be ported +WCCP: cannot work because user space GRE support on Windows is missing +Transparent Proxy: missing Windows non commercial interception driver + Some code sections can make blocking calls. Some external helpers may not work. File Descriptors number hard-limited to 2048 when building with MinGW. + -Using cache manager on Windows + +Building Squid on Windows +A reasonably recent release of or is needed. +The usage of the Cygwin environment is very similar to other Unix/Linux environments, and -devel version of libraries must be installed. +For the MinGW environment, the packages MSYS, MinGW and msysDTK must be installed. Some additional libraries and tools must be downloaded separately: +OpenSSL: +libcrypt: +db-1.85: +uudecode: +When running configure, --disable-wccp and --disable-wccpv2 options should always specified to avoid compile errors. + +New configure options: + +--enable-win32-service + +Updated configure options: + +--enable-arp-acl +--enable-default-hostsfile + +Unsupported configure options: + +--enable-coss-aio-ops: On Windows Posix AIO is not available +--with-large-files: No suitable build environment is available on both Cygwin and MinGW, but --enable-large-cache-files works fine + +Recommended configure minimal options for Windows: + +--prefix=c:/squid --disable-wccp --disable-wccpv2 --enable-win32-service --enable-default-hostsfile=none + + + +Before build Squid with SSL support, some operations are needed (in the following example OpenSSL is installed in C:\OpenSSL and MinGW in C:\MinGW): + +Copy C:\OpenSSL\lib\MinGW content to C:\MinGW\lib +Copy C:\OpenSSL\include\openssl content to C:\MinGW\include\openssl +Rename C:\MinGW\lib\ssleay32.a to C:\MinGW\lib\libssleay32.a + -

On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache. -Some specific configuration could be needed: + -IIS 6 (Windows 2003) -

On IIS 6.0 all CGI extensions are denied by default for security reason, so the following configuration is needed: -

+ +Using cache manager on Windows: +On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache. +Some specific configuration could be needed: + +IIS 6 (Windows 2003): + +On IIS 6.0 all CGI extensions are denied by default for security reason, so the following configuration is needed: + Create a cgi-bin Directory Define the cgi-bin IIS Virtual Directory with read and CGI execute IIS permissions, ASP scripts are not needed. This automatically defines a @@ -241,10 +290,11 @@ the IIS system account and SYSTEM must be able to read and execute the file Extension called - -Apache: -

On Windows, cachemgr.cgi needs to create a temporary file, so Apache must be instructed - to pass the TMP and TEMP Windows environment variables to CGI applications: + +Apache: + +On Windows, cachemgr.cgi needs to create a temporary file, so Apache must be instructed + to pass the TMP and TEMP Windows environment variables to CGI applications: ScriptAlias /squid/cgi-bin/ "c:/squid/libexec/" <Location /squid/cgi-bin/cachemgr.cgi> @@ -253,7 +303,9 @@ ScriptAlias /squid/cgi-bin/ "c:/squid/libexec/" Allow from workstation.example.com </Location> - + + + Changes to squid.conf