George Moses' website

Personal Branding

Some interesting thoughts about personal branding. Nothing really new, but just to remember:

Read more: Keep It Real (Present Plus)

openSUSE 11.4 cron job not running

In a newly installed VPS running openSUSE 11.4 I noticed cronjobs didn't work. The openSUSE distro just switched in this release from Vixie Cron to Cronie. Unfortunately, the VPS was throwing errors like:

Jun 27 12:24:01 s99 /usr/sbin/cron[3356]: pam_warn(crond:session): function=[pam_sm_open_session] service=[crond] terminal=[cron] user=[root] ruser=[] rhost=[]
Jun 27 12:24:01 s99 /usr/sbin/cron[3356]: (root) PAM ERROR (Cannot make/remove an entry for the specified session)
Jun 27 12:24:01 s99 /usr/sbin/cron[3356]: (root) FAILED to open PAM security session (Cannot make/remove an entry for the specified session)

After digging for some time, I noticed that somehow the /etc/pam.d/cron configuration was missing one essential line:

session include common-session

After adding the above line to the config file, things were running smoothly again.

Merging SSL and non-SSL Plesk logs

Plesk keeps separate logfiles for SSL (https) web traffic and non-SSL (http) web traffic. This is no issue for the majority of websites who don't use a SSL certificate. For some, mostly webshops in my experience, this is a nuisance because web statistics is split along two different (AWstats) reports. These reports can't be simply added together because some users switch at some point in visiting the webshop from a non-SSL connection to a SSL connection. This usually happens during checkout. Adding the (unique) user count would lead to a double count of these visitors ordering in the webshop.

Fortunately, merging the logfiles is fairly easy, by manually adding some Apache configuration. Basically, all you have to do is define an extra logging for the SSL-version of the domain, pointing it to the logfile of the non-SSL version. This will add all the SSL-traffic to the non-SSL log, but also keeps the original SSL log and reports.

Example merging SSL and non-SSL Plesk logfiles

For this example I'm using a SUSE 11 setup with Plesk 9.5. The Apache configuration files for the domain are stored in the file: /srv/www/vhosts/example.com/conf/vhost_ssl.conf. Redhat Linux and the like use the directory /var/www/vhosts/example.com/conf/. If the file doesn't exists, you'll have to add it manually. In this file you'll have to add the following lines:

CustomLog /srv/www/vhosts/example.com/statistics/logs/access_log plesklog
ErrorLog /srv/www/vhosts/example.com/statistics/logs/error_log

When you have created the configuration file, you'll have to regenerate the Plesk Apache config with the following command:

/usr/local/psa/admin/bin/websrvmng -a

AWStats 7.0 release with Google charts

The free AWStats real-time logfile analyzer has been updated to 7.0 and now includes a plug-in to display its charts using Google charts. This is a great addition to the tradition simple bar charts AWStats has been using up until now.

In november 2009 I kicked off development of this plug-in and it's great to see people have picked it up and further developed it to make it kick ass. I really like the way the Google charts are implemented in AWStats: much cleaner bar charts, pie charts and a world chart for the origin of visitors. This should be default in every AWStats installation! Great stuff.

Is there any downside in using this plug-in? If you're concerned about sending any numbers from your statistics created by AWStats to Google, then don't use this plug-in. Also, currently the Google Charts API cannot be reached over https, so if you are accessing your statistics over SSL, be prepared to see some validation errors. Other from that I cannot see any downsides.

New AWStats features / improvements

Drupal Refresh module 1.0 release for D7

Just finished working on the 1.0 release of the Refresh module for Drupal 7. Conversion from Drupal 6 to Drupal 7 took more effort than from 5 to 6. Still, this release takes advantage of new exciting features of Drupal 7, like integration in the additional settings panes of the node editing form. Also the module uses the new hook_form_BASE_FORM_ID_alter() and hook_permission() APIs. The adding of the actual HTML meta refresh tag is done by the more structured approach of drupal_add_html_head(). One area which still has to be investigated is the new Drupal 7 PDO database layer, this is on the radar for the 1.1 release. As it is this little module works fine and shows some details of the API improvements of Drupal 7.

You can file any issues at the Refresh issue queue.

Any comments on the module? Let me know in the comments below.

About MO6.me

This is a personal blog of George Moses. George is a webdeveloper specialized in Drupal and co-founder, partner and CTO of Dynamic Presentations, an Internet Solutions Provider based in The Netherlands.
More about MO6.me.

MO6 in Dutch: MO6.nl

MO6 on the web

MO6.me is IPv6 ready IPv6 website

MO6