Squid Returned to Packages *** PLEASE TEST ***
-
Well, I had too little time yesterday to properly test it. I was not even considering it done.
Also, that restart sequence is allready gone and replaced with a squid -k reconfigure. That works so much better.
If squid is dead for some other (unlikely) reason the monitor script will restart it.I removed the habit to kill and start the proxy_monitor script in a few places. It seems silly.
Also it appears to start 2 of those on boot.The port thing I already adjusted after the earlier post.
Still debugging. It's started, it's listening on port 80, it has a rdr and pass rule to port 80.
But nothing is going through.2006/12/19 20:35:50| Accepting transparently proxied HTTP connections at 192.168.12.253, port 80, FD 9.
2006/12/19 20:35:50| WCCP Disabled.root 933 0.0 1.1 4516 2724 ?? Is 8:35PM 0:00.01 /usr/local/sbin/squid -D
proxy 935 0.0 3.1 8628 7260 ?? S 8:35PM 0:02.11 (squid) -D (squid)Setup Squid transparent proxy redirect
rdr on ural0 proto tcp from any to !(ural0) port 80 -> (ural0) port 80
Setup squid pass rules for transparent proxy
pass in quick on ural0 proto tcp from any to !(ural0) port 80 flags S/SA keep state
Slightly baffled why nothing is showing up in the logs.
-
The cache or log dir isn't set, I have set a default value for it, but you need to change the scripts, go to the gui, see if the cache dir and log dir are set right (this because the you just have replaced the files and don't installed it as a fresh package) and then hit save…
Yes they are set /var/squid/log and /var/squid/cache. Although the script doesn't seem to make the directories. From looking at the log I'm assuming
Dec 20 00:23:10 php: : / does not exist. Creating.
was it trying to create the directory, but what create /? Somethings not right there.
I just created the directories by hand and reboot the box. Still doesn't work. Says it cannot open HTTP port like it did before and then squid exits due to frequent failures.
-
Let me commit a newer squid.inc from my box into CVS
-
@ Databeesje: Indeed the -k option is better, but I didn't know if there were some problems with it in early editions, so I kept it like the way it was.
I must say the -k shutdown option takes some time to actually stop, sometimes up till a minute, I don't know what happens if you start it when the old one is still running.Strange that the data is not going thru the proxy..
I used this page http://www.ericgiguere.com/tools/http-header-viewer.html to see if my proxy is running, and on my box it worked great.. with the proxy turned on you could see the header is changing.@rsw686: the script does create the dirs and even doe a -z to rebuild the cache
I seems the that the dir isn't passed thru correctly… -
Let me commit a newer squid.inc from my box into CVS
I like your -k reconfigure haven't tought about that!
I saw you left out the abbility to change dirs (I think it's step 2 if you want to add that feature to list in the first place)
I'm going to change my version with the -k reconigure aswell…
-
I have added a shutdown time of 3 seconds a number of commits back. By default it waits 30 seconds. Which is silly.
Since squid binds and unbinds configurations seamlessly it seems appropriate. And bringing down the squid for a config change is not common. I use the reconfigure option as much as I can at work. Because it is non disruptive.
Furthermore I think we squid use squid check to see if the config is OK and squid is running.
Could be something wrong on my box though. Not sure. it's a bit of a testbox.
-
Well, I can't test right now, running a new install ::)
The config was screwed so I resetted to factory default, and after that I wouldn't let me installe the squid package again…and I think I have 3 versions of squid installed on that box now, so it will be time..
-
In terms of the throttling not working as I expected, I believe that squid.inc line 544 should be changed from
delay_parameters 1 $overall/$threshold $perhost/$threshold
to
delay_parameters 1 $overall/$overall $perhost/$perhost
$threshold is 10MB, we don't even have 10MB on our link, we have 1MB, so the guys will never get throttled with the current squid.inc
From http://www.visolve.com/squid/squid24s1/glossary.php#Classes:
Each of these parameters is specified as restore / maximum - restore being the bytes per second restored to the bucket, and maximum being the amount of bytes that can be in the bucket at any time. It is important to remember that they are in bytes per second, not bits. To specify that a parameter is unlimited, use a -1.
If we wish to limit any parameter in bits per second, divide this amount by 8, and use the value for both the restore and the maximum. For example, to restrict the entire proxy to 64kbps, use:
delay_parameters 1 8000/8000
-
I don't mind changing that, but are you certain that actually works. I have zero experience with squid delay buckets.
-
Yes, I'm running it like that on a Smoothwall at the moment, and it does work.
-
@nicki
I haven't looked at throteling yet, but I'll change it… thanks..I have also an update for the latest CVS
In the restart script I would change
log_error("Reloading Squid for configuration sync");
mwexec("/usr/local/sbin/squid -k reconfigure");in to:
if (!is_service_running('squid')) {
log_error("Starting Squid");
mwexec_bg("/usr/local/sbin/squid -D");
mwexec_bg("/usr/local/etc/rc.d/proxy_monitor.sh");
} else {
log_error("Reloading Squid for configuration sync");
mwexec("/usr/local/sbin/squid -k reconfigure");
}because when you install squid fresh, it won't start.
So the first time you configure squid, it will start aswell...Btw, after my clean install it runs perfect.
I replaced the 3 files with my own version because I like to change my cache dir...
But I think it can be back in the list -
Newer squid.inc with fixes.
Cache location added to XML -
Newer squid.inc with fixes.
Cache location added to XMLGood job!!!! Looks to be working fine. The service starts without errors. I can't really test it further without reconfiguring my box to use the vmware pfSense so I'll let others do that.
-
Uhm, I'm sorry to say, but the cache dir won't work.. there is something else there have to be changed with processing the conf file..
I've added my version (I cahnged the restart with the -k reconfigure as you did, but added a service check… start when it doesn't run and reconfigure when it runs)
And the log dir is also configurable (for if you want to process the log)
Update: I have added the acl rules update as databeestje has made...
But I'm not sure what you ment with that update? you still can't run squid and the gui on the same port.
It won't allow you to do, because there is a check, but if you would force it on the same port it won't work either... -
the port 80 check is broken. I'm fixing that now. The service check is in.
The cache location allready made it in. You have log location changes too?
-
the port 80 check is broken. I'm fixing that now. The service check is in.
The cache location allready made it in. You have log location changes too?
I don't know what's wrong with it, but thanks for fixing it.
Yeah the logdir works the same as the cache dir…
But in your version in:
function squid_resync_cachethere is
$cachedir = SQUID_CACHEDIR;
that's wrong because that's still the fixed cache dir...
it should be
$cachedir =($settings['harddisk_cache_location'] ? $settings['harddisk_cache_location'] : '/var/squid/cache');same as with
$logdir_cache = SQUID_LOGDIR . '/cache.log';
$logdir_access = ($settings['log_enabled'] == 'on' ? SQUID_LOGDIR . '/access.log' : '/dev/null');that should be
$logdir = ($settings['log_dir'] ? $settings['log_dir'] : '/var/squid/log');$logdir_cache = $logdir . '/cache.log';
$logdir_access = ($settings['log_enabled'] == 'on' ? $logdir . '/access.log' : '/dev/null');I tought that's all, but I'm not 100% sure, otherwise check my included file in my previous post…
-
port 80 check fixed, added log dir option to xml.
-
Thanks to all those who contributed so far, my installation now at least starts up fine, and everything looks good!
Will test the throttling later today, got to get some sleep first.
-
I have made it available for the public again, and the 1st succes is in. I'm off to bed.
I think the log directory and cache directory creation is ok now and it should also populate the cache directory after changing.
Authentication really needs testing.
-
well just 1 small bug left. i dunno if this is a bug or intentional but the squid package cant work in transparent mode if the webgui is on the port 80 so have to change the port of the webgui. if this is intentional i think it's better to have a better notice to ask user to change the webgui port. anyways great job on the package it's working well now