APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed
RSS Feeds RSS Feeds











(OLDER) <- More Stuff -> (NEWER) (NEWEST)
Printer Friendly Version
->
-> Squid


Squid




(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"

exit 0
 

(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 done).

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 lines:

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 Amazon.com).

Be sure to run /etc/apache stop and /etc/apache start after making these changes. After all this, you're ready to tackle Squid itself.

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:

httpd_accel_with_proxy off
 

and change it to:

httpd_accel_with_proxy on
 

Start and stop squid:

/etc/squid stop
/etc/squid start
 

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 that

httpd_accel_with_proxy on
 

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 (http://localhost/squid/).

See also Squid Log Analyzer.




If this page was useful to you, please help others find it:  





Comments?




More Articles by - Find me on Google+



Click here to add your comments
- no registration needed!


Don't miss responses! Subscribe to Comments by RSS or by Email

Click here to add your comments


If you want a picture to show with your comment, go get a Gravatar

Kerio Connect Mailserver

Kerio Samepage

Kerio Control Firewall

Have you tried Searching this site?

Unix/Linux/Mac OS X support by phone, email or on-site: Support Rates

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more. We appreciate comments and article submissions.

Publishing your articles here

Jump to Comments



Many of the products and books I review are things I purchased for my own use. Some were given to me specifically for the purpose of reviewing them. I resell or can earn commissions from the sale of some of these items. Links within these pages may be affiliate links that pay me for referring you to them. That's mostly insignificant amounts of money; whenever it is not I have made my relationship plain. I also may own stock in companies mentioned here. If you have any question, please do feel free to contact me.

I am a Kerio reseller. Articles here related to Kerio products reflect my honest opinion, but I do have an obvious interest in selling those products also.

Specific links that take you to pages that allow you to purchase the item I reviewed are very likely to pay me a commission. Many of the books I review were given to me by the publishers specifically for the purpose of writing a review. These gifts and referral fees do not affect my opinions; I often give bad reviews anyway.

We use Google third-party advertising companies to serve ads when you visit our website. These companies may use information (not including your name, address, email address, or telephone number) about your visits to this and other websites in order to provide advertisements about goods and services of interest to you. If you would like more information about this practice and to know your choices about not having this information used by these companies, click here.

pavatar.jpg

This post tagged:

       - Networking
       - Reviews
       - Security
       - Squid
       - Web/HTML















My Troubleshooting E-Book will show you how to solve tough problems on Linux and Unix systems!


book graphic unix and linux troubleshooting guide



Buy Kerio from a dealer
who knows tech:
I sell and support

Kerio Connect Mail server, Control, Workspace and Operator licenses and subscription renewals



Click and enter your name and phone number to call me about Kerio® products right now (Flash required)