Squid on FreeBSD
Pre-Built Binary Packages
Binaries for Alpha and Intel platforms, from the FreeBSD ports collection. http://www.freebsd.org/cgi/ports.cgi?query=^squid&stype=name
Maintainer: Thomas-Martin Seck
There are (as of June 2014) three different Squid packages to choose from:
pkg_add -r squid33
pkg_add -r squid32
pkg_add -r squid
Squid is developed on FreeBSD. The general build instructions should be all you need.
However, if you wish to integrate patching of Squid with patching of your other FreeBSD packages, it might be easiest to install Squid from the Ports collection. There are three ports, matching the three packages for the current Squid releases:
- squid33 - the Squid 3.3 tree.
cd /usr/ports/www/squid33 make install clean
- squid32 - the Squid 3.2 tree;
cd /usr/ports/www/squid32 make install clean
- squid - the Squid 2.7 tree;
cd /usr/ports/www/squid make install clean
Each port will prompt for configuration information for your Squid installation. The following list of options is from the Squid 3.1 port on FreeBSD 8.0:
[X] SQUID_KERB_AUTH Install Kerberos authentication helpers [ ] SQUID_LDAP_AUTH Install LDAP authentication helpers [X] SQUID_NIS_AUTH Install NIS/YP authentication helpers [ ] SQUID_SASL_AUTH Install SASL authentication helpers [X] SQUID_IPV6 Enable IPv6 support [ ] SQUID_DELAY_POOLS Enable delay pools [X] SQUID_SNMP Enable SNMP support [ ] SQUID_SSL Enable SSL support for reverse proxies [ ] SQUID_PINGER Install the icmp helper [ ] SQUID_DNS_HELPER Use the old 'dnsserver' helper [X] SQUID_HTCP Enable HTCP support [ ] SQUID_VIA_DB Enable forward/via database [ ] SQUID_CACHE_DIGESTS Enable cache digests [X] SQUID_WCCP Enable Web Cache Coordination Prot. v1 [ ] SQUID_WCCPV2 Enable Web Cache Coordination Prot. v2
The FreeBSD packages and ports install squid in the following locations:
- Binaries (squid, squidclient, the runaccel and runcache scripts etc):
- Configuration (squid.conf, mime.conf, error pages):
- Daemon Control Script:
There are many values that can be tuned and you should take a look at this link:
Using tuning above the needed or system matching values can cause things to not work.
ERROR: Could not send signal N to process NN: (3) No such process
FreeBSD contains additional security settings to prevent users sending fatal or other signals to other users applications.
Unfortunately this catches Squid in the middle. Since the administrative process of Squid normally runs as root and the child worker process runs as some other non-privileged user (by default: nobody). The root administrative process is unable to send signals such as shutdown or reconfigure to its own child.