Feb
2
First of all I need to thank Daniel for turning me onto this tool. I’m administrator on more lists than I’d prefer and this has been a godsend!
If you happen to be one that missed his post recently on the planet, or if you’re just finding this via Google, Listadmin is a tool to help you bulk moderate mailman lists. If you are the admin or moderator on more than one mailman list do yourself a favor and keep reading. If you have no idea what I’m talking about, well, thanks for the visit anyway.
Installation
Installing Listadmin is just as simple as installing anything else really. Use the following command (or click the link using apturl):
sudo aptitude install listadmin
Configuration
Before we can begin moderating our lists we’ll need to tell Listadmin which lists to moderate. This is done by creating a file in your home directory ~/.listadmin.ini
With your favorite editor create the file and follow the below example, replacing with your own information:
default skip
# this example uses the same password
# for the users, process and admin lists
adminurl http://{domain}/mailman/admindb/{list}
password mypassword
users@lists.example.org
process@lists.example.org
admin@lists.example.org
# this example uses different passwords
# for the supporters and staff lists
adminurl https://{domain}/mailman/admindb/{list}
password "myotherpassword"
supporters@lists.example.com
password "mythirdpassword"
staff@lists.example.com
As you can see the configuration is pretty simple. The address to the list, the password needed and the lists you want to moderate.
If the lists use the same password you can list them under a single password block.
If the lists use different passwords you can list the by individual password and address.
Once you’ve replaced the details with your own information there is one more step before we run the utility. Considering this file holds sensitive passwords you’ll want to limit access to the file.
chmod g-r,o-r .listadmin.ini
Go ahead now and launch the tool and moderate your lists:
listadmin
I’ve been using this now for only two days or so but I’m so thankful I found it. Instead of manually moderating a large number of lists I simply run this tool once a day, clean out the garbage and get back to real work.
I post tutorials very regularly on this site. You may want to consider subscribing to the RSS feed. Or if you'd prefer these tips sent to your inbox you can use Email Subscriptions.
Jan
16
Configuring AWStats on Ubuntu Server
Filed Under Server | 7 Comments
Last nite I sat down and configured AWStats on my Ubuntu 7.10 server. I had previously been using statcounter, a free stat service, but I had noticed that it was one of the causes of slowdown on my page loads. Having to access an external site and javascript wasn’t helping. I also run the server so I have full access to the server logs, why not just use those directly.
So far I am really happy with AWStats. It appears to be running properly and pulling in a lot more data than statcounter ever did. It actually is showing me that I had much more traffic than I thought. I had mentioned 5,000 the other day, which I have long since surpassed based on AWStats output.
I’d like to share the steps I took for installing and configuring AWStats on my Ubuntu Server.
Installation
Ubuntu has the AWStats package available in the repositories, which we can install with:
sudo aptitude install awstats
This will install the basic files, but there is still a bit of configuring to do, so we’ll dive into that next.
Auto Configuration
From the tutorials that I found elsewhere in my searching there is a awstats_configure.pl file that will try to configure it for you. I did not use this personally, but if you’d like to try it you can run:
sudo perl /usr/share/doc/awstats/examples/awstats_configure.pl
The rest of this tutorial will discuss manual configuration, but if anyone can offer feedback concerning the configure script I’m sure many would be interested.
Manual Configuration
I configured my system manually, which I will outline below. The only requirements here are that you have access to the apache2 logs, or that you have custom log locations for each of your virtual domains (if used). For more information on custom log locations for virtual domains see my previous post, Configuring Virtual Hosting on Ubuntu with Apache2.
The first step is creating an awstats.conf file for your domain. This can be done by moving or copying the /etc/awstats.conf, and giving it a more unique name:
sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.domain.tld.conf
I created a unique file, using the syntax awstats + domain.tld + conf for each of the domains hosted on my server. Each of these also has their own unique log file as well.
We’ll then edit our new /etc/awstats with custom values for that domain. The main points you’ll want to look for within this file:
- LogFile=”/path/to/your/domain/access.log”
- LogFormat=1 (this will give you more detailed stats)
- SiteDomain=”domain.tld”
- HostAliases=”www.domain.tld localhost 127.0.0.1″
Once you’ve made these changes you’ll want to build your initial statistics, which will be generated from the current logs on your machine. We can do this using:
sudo /usr/lib/cgi-bin/awstats.pl -config=domain.tld -update
What this will do is scan the /etc/awstats folder for anything of the pattern awstats + domain.tld + conf, reading that config to generate its output. You should see some output here, and depending on the size of your logs it’ll take anywhere from a few seconds to a few minutes or hours. Each time it is run after that will be minimal, as it only updates the information, but the initial generation can take some time.
Configure Apache to Display AWStats
At this point our statistics should be generated (if not, go back and double check you haven’t missed anything!), but we need a way to see them. We’ll need to configure Apache2 to show us these stats. The way I did this was by using an Include in my apache2.conf, instead of cluttering up the default config file. This is generally my preferred method.
Apache2.conf already has a line near the botton Include /etc/apache2/conf.d/, which will read anything in there as additional data. What I did was create a new file in the /etc/apache2/conf.d/ directory called awstats, and filled it with the following content:
Alias /awstatsclasses "/usr/share/awstats/lib/"
Alias /awstats-icon/ "/usr/share/awstats/icon/"
Alias /awstatscss "/usr/share/doc/awstats/examples/css"
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
ScriptAlias /awstats/ /usr/lib/cgi-bin/
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
This is basically creating some access aliases, and defining the cgi-bin paths, etc. Once this is saved you should be able to restart Apache2 and we’ll should be able to access our stats. Restart Apache2 using:
sudo /etc/init.d/apache2 restart
You should now be able to access your statistics using:
http://domain.tld/awstats/awstats.pl
Assuming you didn’t get any errors during your stats generation, and Apache2 didn’t complain when you restarted the service, you should see statistics at this point.
Continually Updating Your Stats
The last thing you’ll probably want to do is update your statistics via cron. This will allow you to have your site statistics updated on a regular basis, not requiring intervention on your part. What I have done is added a line to my /etc/crontab file telling AWStats to update every ten minutes. I have seen minimal system load even when updating a dozen sites on that interval. To update every ten minutes we’ll add the following line:
*/10 * * * * root /usr/lib/cgi-bin/awstats.pl -config=domain.tld -update >/dev/null
Repeat this line, updating the domain.tld value for any site you want continually updated.
Securing Statistics
If you’d like to make your statistics private you might be interested in one of my previous posts, Limiting Access To Websites & Directories with .htaccess.