(This is a very old post dealing with Squid on SCO Unix. I recommend using a Linux server for Squid.)
Squid is a caching proxy server. (See also : Proxy Server). You'll need to have
previously set up a PPP connection (see Quick PPP setup) or other connection
to your ISP from the machine that will be running Proxy Server.
Squid is available from Skunkware 98 and installs using
"custom", the standard SCO software manager. Skunkware's contents
are not alphabetical, so it can be a little hard to find what you
want, but once you've located it, the install itself is easy.
However, from that point on, Squid is a little more difficult to
configure than Proxy Server.
Squid is now an official "supported product", which means
that it is available from the Downloads section of SCO's web site
(goto www.sco.com and
choose "Downloads") and will probably start showing up on the CD's
on future releases.
Squid has a home page: http://www.squid-cache.org/. There you'll find that
the version of Squid supplied with Skunkware is out of date, so
once you have it working, you may want to immediately upgrade.
Don't consider this wasted time, however: you are better off
starting from the mostly configured Skunkware version, learning a
bit about it, and then upgrading. Otherwise, you are jumping into a
medium tough project without any knowledge at all.
It starts with Apache. The documentation strongly suggests that
you should install Apache. That's OK, and I'm sure that in most
situations you'd rather be running Apache anyway- it seems to be
faster than the Netscape servers, and there's probably more
documentation and assistance out there for Apache than for
Netscape. As Apache also installs through Custom, that's easy
enough to do. If you choose NOT to do this, you are going to have a
LOT more work to configure Squid, so let's play along with the
preferred path. Install it using "custom" or "scoadmin software".
That should go smoothly.
However, the Apache install doesn't automatically shut off the
Netscape servers, so you'll have to do that by removing those
servers through custom or by editing /etc/rc2.d/S90fasttrack
(adding an "exit 0" at the beginning of that script will do it) and
preventing any Netscape servers from starting by commenting out the
startup from /etc/rc2.d/S90atlas:
# Start up configured Netscape Communications servers only
#/bin/su root -c "/usr/internet/lib/ns_admin/webservers start ns_httpd"
(added # in front of /bin/su)
Then you'll need to create the link from /etc/rc2.d/S91apache to
/etc/apache (it's obvious someone intended to do this: the rc2.d
path is hard coded right in the script; it just didn't get
ln /etc/apache /etc/rc2.d/S91apache
If you have content in the Netscape server directories, you'll
have to move or copy it over to the Apache hierarchy:
/usr/lib/apache/share/htdocs. If you have cgi-bin scripts, they'll
go in /usr/lib/apache/share/cgi-bin, and you'll have to turn on cgi
handling in /usr/lib/apache/etc/srm.conf by uncommenting these
ScriptAlias /cgi-bin/ /usr/local/lib/apache/share/cgi-bin/
AddHandler cgi-script .cgi
(For the best book on configuring Apache, I recommend
Apache: the Definitive Guide (2d Edition) from
Be sure to run /etc/apache stop and /etc/apache start after
making these changes. After all this, you're ready to tackle Squid
Note that local access from this machine WILL NOT work
until Squid is configured. In this configuration, Apache is
listening on port 8080, not 80. Normally, your local browser would
expect to get files through port 80, but nothing will be listening
there until you get Squid working.
If you have a on demand or manual PPP connection, you will want
to edit /etc/squid to add a -D to the startup:
echo "Starting Squid Internet Object Cache"
$SQUID -D &
The "-D" disables DNS checks at startup, which is absolutely
necessary if you have a manual ppp startup and may be necessary
otherwise. If Squid can't access the internet with DNS checking
turned on, it will fail to start, and since it doesn't emit any
messages about that other than to its log file, you wouldn't even
know it. In some situations you might want this behavior, but most
of us won't. Of course, if your internet connection is always up
and available, you don't need to be concerned with this.
At this point, your local (this machine) access will work, but
you aren't ready to proxy yet. For that, you need to edit
/usr/local/squid/etc/squid.conf. Find the line that says:
and change it to:
Start and stop squid:
Configuring the Windows machines is simple (they already have to
have tcp/ip connectivity, of course). For Internet Explorer, you
can simply choose View-Options-Connection, and then click on
"Connect through a Proxy Server". Then click the "Settings" button
next to that and tell it to use the SCO box (typing in the IP
address is fine) for all protocols, giving it the port 80 (note,
not 8080, just 80). For Netscape Communicator, it's under
Preferences; click the arrow beside "Advanced" so that its
drop-down sub-menus appear, and choose proxies.
The use of "80" may seem confusing, but that's the way Squid and
Apache work together. Apache is using 8080, Squid uses 80. That's
completely the opposite of the way Netscape Proxy Server works, and
it means that Squid will also be caching pages for accesses from
the sco server itself.
At this point, everything should be working. If not, double
check your work. If local (on the sco box) access isn't working,
check that Squid actually is running by looking at
/usr/local/squid/logs/cache.log. Make sure that the Netscape
servers are not starting. If proxied users are getting the Apache
"Success" page instead of what they asked for, check that they are
accessing through port 80. If they are getting "Denied", check
is in squid.conf
After this is working, it's time to look at the on-line docs.
Assuming you've got Apache working, they are in
http://localhost/squid/. There's more that you can do with regard
to restricting access, etc.
Be particularly wary of the documentation. It isn't wrong,
but it can be misleading for this partially preconfigured setup
from Skunkware. I suggest getting things working following this
guide before even looking at the supplied docs
See also Squid Log
More Articles by Tony Lawrence
Find me on Google+
© 2011-05-06 Tony Lawrence