WordPress Multiuser Snapshot

I decided to release a new snapshot of WPMU today because of a problem posting comments. There’s also a few more changes, they’re listed below. Go download it and play!

  • The referer plugin now uses PEAR Cache. This should speed up pages significantly as MySQL won’t have to lock so many reads when the table is updated!
  • Kitten’s Spaminator has been upgraded to the latest version. This version has a very nice admin page to configure it without editing the plugin file itself.
  • A bug in comment posting stopped them getting through, fixed.
  • To speed things up, template compile checks have been turned off. If a template changes make sure you do it from the backend.
  • Misc bug fixes and WP upgrades.

Later I looked into the sql errors people were having during the install and thanks to Chuck I think I figured out what happened: If you’re getting SQL errors about table names with “wp-inst” in them make sure you’re not calling setup-config.php or install.php using the urls http://example.com/wp-inst/wp-admin/setup-config.php and http://example.com/wp-inst/wp-admin/install.php
The correct urls should be http://example.com/main/wp-admin/setup-config.php and http://example.com/main/wp-admin/install.php
The “main” part of the url is handled by mod_rewrite. Follow the links in the installer and you’ll be fine!
I’m going to update the installer so it knows to replace “wp-inst” with “main” when people call the installer incorrectly.

Here are the URLs you’ll be calling when you install WPMU, the first page is a WPMU page, but the rest is bog-standard WordPress installer stuff:

Here are the links I go to on my local machine:
http://localhost/ – creates directories, page starts with text, “Welcome to WordPress MU, the Multi User Weblog System built on WordPress.
You’re probably seeing this message because you’re installing WPMU!”

The link at the bottom of that page points at this page:
http://localhost/main/wp-admin/setup-config.php
This is almost the same file that exists in WordPress itself.

Hit “let’s go!” at the bottom of that page to go to:
http://localhost/main/wp-admin/setup-config.php?step=1
Fill in the form there and go to:
http://localhost/main/wp-admin/setup-config.php?step=2
where you’re asked to “run the install!”

That goes to
http://localhost/main/wp-admin/install.php
and clicking on “First Step” goes to
http://donncha.homelinux.net/main/wp-admin/install.php?step=1
to fill in weblog title and email address.

After submitting that form I get a login link and username/password to use when logging in at http://localhost/main/wp-login.php

I also fixed the table prefix bug too, but that’s not in this release. It’ll be in the next one!

Testing Gnome-blog and WordPress

This is a test post from Gnome-blog. Very simple interface, but I prefer the javascript/html bookmarklet myself!
Later… It works, sort of. I was able to post the above text but I couldn’t:

  • Pick the category to post to
  • The post title wasn’t set.
  • The Smarty cache wasn’t cleared so I presume xmlrpc.php doesn’t go through the usual wp-admin/ backend.

WordPress Multiuser Jan 9th Snapshot

Here’s a major update of WPMU. Go download it now!
New in this snapshot:

  • Use PEAR Function Cache if available. Several plugins have been rewritten so they’ll cache their output to save on databases processing.
  • Main WordPress loop has been cached in a better way. If a page is now cached all we need to do is get a few settings from the database.
  • The last release was plagued by the wp-login feature that redefined the site url if the blog was moved. As all wpmu URLs are virtual this was a big one!
  • Kitten’s Spaminator will now import keywords from the “main” blog to help detect spam in other blogs. (As there’s no registration page yet you’ll have to trust me that it works great!)
  • Previously when comments were posted, regardless of whether they were spam or not, the Smarty cache was cleared. This wrecked any performance gained by caching content so now the cache will be refreshed from the backend.
  • Because of too-vague mod_rewrite rules, posts with titles containing 4 digits failed.
  • Misc bug fixes and WP upgrades.

WPMU Update – Improved Caching

Hopefully you should see this site run a little faster, I’ve moved most database accesses to inside the cache loop.
For most users caching and processing of requests should be faster as the whole WordPress posts-loop is now cached, however there is a trade off. I can’t check if there are multiple or single posts on a page so every page, including the front page, is cached with your comment credentials and user login (if any). In other words, if I visit the front page and then you do, the front page won’t be cached for you, but if two anonymous users visit the second visitor will get a completely cached copy.
If you see any problems please leave a comment on this post, or email me at donncha @ linux.ie!

A bit later…I’m watching the logs and I’m glad I made that change. We’re being hit by 240 280 attempts at referer spamming from sex 4singles.com. After the first hit, all they get served is static html! 🙂

WPMU Update – mod_rewrite fix for digits in URLs

Here’s a small fix to fix a big mod_rewrite rules bug. URLs like this, http://blogs.linux.ie/xeer/2005/01/06/2004-indian-ocean-earthquake-wikipedia/, won’t load properly as mod_rewrite gets confused between the date of the post and the year in the title. Here’s a quick fix:
Open the .htaccess file in your root directory and replace each occurance of ^(.*) with ^([_0-9a-z-]+)
Thanks to Kae and Darragh for spotting that.
The latest CVS update broke post editing a bit, an extra field was added. Here’s how to update your blog if you’re using it:
cd wp-inst/wp-content/blogs; for i in *; do echo "ALTER TABLE wp_"$i"_posts ADD menu_order INT( 11 ) DEFAULT '0' NOT NULL" | mysql wpdb ;done

WordPress is Arstechnica "Web application of the year"

WordPress won an award!

WordPress is the most prominent rising star of weblog software, completely free and with a large and active community.

Several other notable categories, including the infamous “Thumbs Down” award going to ATI for their dreadful Linux driver support. gets an honourable mention in this category too. Looks like it’s not the place to go to for Linux solutions! Try the ILUG instead!

That Spam Problem

Every blog on this machine now has the the spam words from my blog appended to their own!
Blog authors here should hopefully see a major decrease in the number of spam comments and trackbacks they have to moderate as I’m fairly diligent in updating my word list!
More on spam trackbacks to come later including mangled links to some of my content that was robbed to create a spam weblog. Thanks guys – just the motivation I needed to update my spam fight! nah nah nah! 😛

Spam Spam Spam, Come on up and get your spam!

Here’s an updated list of recent spam to this list. It’s updated every few minutes so you can see a snippet of the spam that’s being deleted automatically here by Kitten’s Spaminator and diligent updating of keywords. Go wild!

I need to think about this a bit more. WPMU supports multiple blogs, run by multiple different people, all of whom can update their spam word lists. Wouldn’t it be useful to have a “I trust the following blogs” list so that spam words can be shared between blogs?

Slightly related, I started using PEAR Cache to cache frequently used database calls. Stuff like the “last posts” and other plugins now use that. It’s working very well and load on the server has gone down!

Oh, and when you’re updating to the latest CVS version of WordPress, a database table has changed. I ran the following to update my tables:
cd wp-inst/wp-content/blogs; for i in *; do echo "ALTER TABLE wp_"$i"_users CHANGE dateYMDhour user_registered DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL "| mysql wordpress_db; done