Language Selection

English French German Italian Portuguese Spanish

New Content/Layout OK?

95% (21 votes)
5% (1 vote)
Total votes: 22

Varnish Proxy

Silly me, a poll would not work on the new server. I forgot that with the Varnish cache proxy at the front almost all visitors arrive from the same IP address (the proxy), which means that Drupal would allocate just one vote to all (except registered and presently logged in users). With Drupal upgrade we can perhaps find polling software that overcomes this.


You must use mod_rpaf to fix this problem that Varnish introduces.
See eg
mod_rpaf for EL6 64bit here:


Thank, we will look into it. Currently, a lot of stuff other than the poll (e.g. views being counted) are not compatible with Varnish and it makes it look as though not many people visit and can participate in the site.

For sheer stats you could use

For sheer stats you could use an external (i.e. not cached by varnish) service, such as Google Analytics or run your own Piwik.


Google Analytics is spyware, but Piwik would be a possibility (Stallman recently told me that it's good). Can it be installed on a cache proxy? I'd have to gain access to it first. Either way, this would not facilitate per-post page request count. Susan had it set up with a module, but it's no longer working correctly. In turn, rating/sorting posts by popularity is no longer possible, and that's the real downside (the front page can no longer list popular items for today).

The problem is not just that IP addresses are not unique. Some requests are never seen by the CMS and Apache.

For the non-unique addresses

For the non-unique addresses look at mod_rpaf, it was made for this situations.
Is this drupal6 or 7? With 6 varnish integration sucks from what I've seen.

See also

Agreed on Google Analytics. You can just install Piwik on the same host and tell Varnish either not to cache it or you can just set its virtualhost on a port other than 80 so it bypasses Varnish completely.


Thanks for the pointers.

Yes, it's Drupal 6 and there are other issues that I am beginning to see, such as lack of updates from the RSS feeds around the page (I am currently investigating this, maybe it's related to a cron job or module config although I very much doubt the latter as I haven't changed configs).

Non-unique addresses could be bypassed as an issue even by writing random IP addresses, but that would enable easy poll rigging. I guess it's not essential for operation of the site, but it's a nice-to-have...

From "This module provides integration between your Drupal site and the Varnish HTTP Accelerator, an advanced and very fast reverse-proxy system. Basically, Varnish handles serving static files and anonymous page-views for your site much faster and at higher volumes than Apache, in the neighborhood of 3000 requests per second."

I have had such issues with Varnish on top of WordPress and MediaWiki (pages served improperly from cache) and it all makes me wonder if removing Varnish altogether is the best way to proceed.

As for Piwik, I have never tried it before, so I will look into it.

I would keep Varnish on for

I would keep Varnish on for static files (css, js, jpeg etc) and to clean up HTTP traffic (Varnish will not forward incomplete or malformed HTTP requests to the backend, it should also be the front line against synfloods etc).

Here's a sample of what I use (test it first, I'm just beginning with Varnish myself)

director default dns {
.list = {
.port = "8080";
.connect_timeout = 5s;
.first_byte_timeout = 600s;
.between_bytes_timeout = 600s;
.max_connections = 10000;
sub vcl_recv {
if (req.url ~ "\.(png|gif|jpg|swf|css|js)$") {
sub vcl_fetch {
if (req.url ~ "\.(png|gif|jpg|swf|css|js)$") {
unset beresp.http.set-cookie;
if (req.restarts == 0) {
if (req.http.x-forwarded-for) {
set req.http.X-Forwarded-For =
req.http.X-Forwarded-For + ", " + client.ip;
} else {
set req.http.X-Forwarded-For = client.ip;

Then install mod_rpaf and make sure your Apache is listening on port 8080 and add this to /etc/httpd/conf.d/rpaf.conf:
LoadModule rpaf_module modules/

RPAFenable On
RPAFsethostname On
RPAFheader X-Forwarded-For

PS: looks like drupal is messing with my comments, here's a text version


Thanks, I will look at it and into it in the weekend.

RSS feeds

The Piwik demo looks impressive, I have just given them a word of endorsement.

I am still trying to resolve some other issues we've identified.

I think I found the source of the issue above (RSS feeds). It seems like any external site access is denied by default, which helps explain why RSS feeds cannot be retrieved by the Drupal part of the site:

[root@tuxmachines ~]# wget
--2014-02-05 04:34:37--
Connecting to||:80... failed: Connection refused.
[root@tuxmachines ~]# wget
--2014-02-05 04:34:54--
Connecting to||:80... failed: Connection refused.

Looks like a firewall issue

Looks like a firewall issue at the first glance.


Nux wrote:

Looks like a firewall issue at the first glance.

Yes, it was a simply issue to tackle. It works now.

Pageview count and polls

I'll have a look and see if configuration can solve not just the polling issue but also pageview count. The site of this module is down and it seems like it may require configuration on the cache server too.

More in Tux Machines

Android Leftovers

Elementary OS Juno Beta 2 Released

Elementary OS June beta 2 is now available to download. This second beta build of the Ubuntu-based Linux distribution touts a number of changes over the elementary OS june beta released back in July. Due to the shifting sands on which Juno is built the elementary team advise those planning on testing the release to do so by making a fresh install rather than doing an upgrade from beta 1 or (worse) an older version of elementary OS. Read more

today's howtos

Linux - The beginning of the end

You should never swear at people under you - I use the word under in the hierarchical sense. Colleagues? Well, probably not, although you should never hold back on your opinion. Those above you in the food chain? It's fair game. You risk it to biscuit it. I say, Linus shouldn't have used the language he did in about 55-65% of the cases. In those 55-65% of the cases, he swore at people when he should have focused on swearing at the technical solution. The thing is, people can make bad products but that does not make them bad people. It is important to distinguish this. People often forget this. And yes, sometimes, there is genuine malice. My experience shows that malice usually comes with a smile and lots of sloganeering. The typical corporate setup is an excellent breeding ground for the aspiring ladder climber. Speaking of Linus, it is also vital to remember that the choice of language does not always define people, especially when there are cultural differences - it's their actions. In the remainder of the cases where "bad" language was used (if we judge it based on the approved corporate lingo vocab), the exchange was completely impersonal - or personal from the start on all sides - in which case, it's a different game. The problem is, it's the whole package. You don't selective get to pick a person's attributes. Genius comes with its flaws. If Linus was an extroverted stage speaker who liked to gushy-mushy chitchat and phrase work problems in empty statements full of "inspiring" and "quotable" one-liners, he probably wouldn't be the developer that he is, and we wouldn't have Linux. So was he wrong in some of those cases? Yes. Should he have apologized? Yes, privately, because it's a private matter. Definitely not the way it was done. Not a corporate-approved kangaroo court. The outcome of this story is disturbing. A public, humiliating apology is just as bad. It's part of the wider corporate show, where you say how sorry you are on screen (the actual remorse is irrelevant). Linus might actually be sorry, and he might actually be seeking to improve his communication style - empathy won't be part of that equation, I guarantee that. But this case - and a few similar ones - set a precedence. People will realize, if someone like Linus gets snubbed for voicing his opinion - and that's what it is after all, an opinion, regardless of the choice of words and expletives - how will they be judged if they do something similar. But not just judged. Placed in the (social) media spotlight and asked to dance to a tune of fake humility in order to satisfy the public thirst for theatrics. You are not expected to just feel remorse. You need to do a whole stage grovel. And once the seed of doubt creeps in, people start normalizing. It's a paradox that it's the liberal, democratic societies that are putting so much strain on the freedom of communication and speech. People forget the harsh lessons of the past and the bloody struggles their nations went through to ensure people could freely express themselves. Now, we're seeing a partial reversal. But it's happening. The basket of "not allowed" words is getting bigger by the day. This affects how people talk, how they frame their issues, how they express themselves. This directly affects their work. There is less and less distinction between professional disagreement and personal slight. In fact, people deliberately blur the lines so they can present their business ineptitude as some sort of Dreyfuss witchhunt against their glorious selves. As an ordinary person slaving in an office so you can pay your bills and raise your mediocre children, you may actually not want to say something that may be construed as "offensive" even though it could be a legitimate complaint, related to your actual work. This leads to self-censored, mind-numbing normalization. People just swallow their pride, suppress their problems, focus on the paycheck, and just play the life-draining corporate game. Or they have an early stroke. Read more Also: Google Keeps Pushing ChromeOS and Android Closer Together