Language Selection

English French German Italian Portuguese Spanish

New Content/Layout OK?

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

Xfce4-Panel Adds Dark Mode Preference

Landing this week in xfce4-panel was this commit providing a dark mode preference for Xfce4, similar to the growing trend with other desktops/UIs for those wanting a "dark mode" interface. Enabling this option will request the GTK dark theme variant of capable themes. For a long time now GTK has exposed a property (gtk-application-prefer-dark-theme) for preferring dark themes while now is being tapped by xfce4-panel. Read more

Cascade Lake vs. Rome With MrBayes, dav1d 0.5, OSPray, SVT-VP9, OIDn + Other Benchmarks

While swapping around CPUs for the AMD EPYC vs. Intel Xeon Cascade Lake testing of Facebook's RocksDB enterprise workload testing, I also took the opportunity for running some other recently updated test profiles on these EPYC/Xeon parts under test. These newest results shouldn't be particularly surprising but are primarily just benchmark results for some updated versions of existing tests. With recently a number of updated test profiles on against the upstream programs under test, here are simply those latest performance numbers when running on the dual Intel Xeon Platinum 8280 and the AMD EPYC 7601 Naples and EPYC 7502 / 7642 / 7742 Rome processors all in 2P configurations. The setups were the same as from the RocksDB testing with running the newly-minted Ubuntu 19.10. Read more

conf.kde 2020

  • Is Coming Back In 2020 2020 will be held in Maharaja Agrasen Institute of Technology, located in Rohini, Delhi, India. MAIT was established by the Maharaja Agrasen Technical Education Society and promoted by well-known industrialists, businessmen, professionals and philanthropists. The aim of MAIT is to promote quality education in the field of Technology. MAIT endeavors to provide industry-relevant education and training through its well-crafted and practical training programs for the students in different semesters of their courses. The campus is composed of 10 blocks with a learning resource center. MAIT has been ranked as the 10th best private engineering institute in India by the Dataquest T-School Survey. MAIT always supports Free and Open Source communities and tech-related activities.

  • is live!

    At least twice I have been to India. Atil Chitnis closed FOSS.IN in 2008, and I wrote about that only briefly, and in 2011 there was in Bangalore which I wrote about some more. During one of those conferences I fell asleep on the ground in the hall at the KDE booth.

Linux Candy: Ternimal – animated lifeform in the terminal

Who loves eye candy? Don’t be shy — you can raise both hands!! Linux Candy is a new series of articles covering interesting eye candy software. We’re only going to feature open-source software in this series. I’m not going to harp on about the tired proverb “All work and no play makes Jack a dull boy”. But there’s a certain element of truth here. If you spend all day coding neural networks, mastering a new programming language, sit in meetings feeling bored witless, you’ll need some relief at the end of the day. And what better way by making your desktop environment a bit more memorable, zany, and idiosyncratic. For this article in the Linux Candy series, we’re looking at Ternimal. That’s not a typo. It’s called Ternimal. Think of the name as a hybrid of terminal and animal. Ternimal simulates a lifeform in the terminal using Unicode block symbols. It’s a script written in Rust. It has no dependencies and consumes very few resources. Read more