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:
This is almost the same file that exists in WordPress itself.

Hit “let’s go!” at the bottom of that page to go to:
Fill in the form there and go to:
where you’re asked to “run the install!”

That goes to
and clicking on “First Step” goes to
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!

Author: Donncha

Donncha Ó Caoimh is a software developer at Automattic and WordPress plugin developer. He posts photos at In Photos and can also be found on Google+ and Twitter.

30 thoughts on “WordPress Multiuser Snapshot”

  1. Hi, I am exceptionally interested in this project. I’m looking to deploy WordPress MU in an environment including something like several thousands online members. Do you think this is going to be feasible for WPMU to handle? What exactly are the limitations of WPMU as far as individual user accounts go? I’m looking to allow each member to have their own self-contained posts… as well as comments, et al. The entire WP experience. Is this what WPMU is all about or am I misreading the title of the project? I haven’t installed WPMU yet but I have been an active member of the WP community and am exceptionally interested in this endeavor. Please let me know if there is any implementation help or testing that is required. Thanks. Also, as a side note, are the changes in WP 1.5b being retrofitted into WPMU? I definitely need to learn more about this project!

  2. Jared – login to your blog and those SQL errors will go away. There’s another install file that’s run when those tables don’t exist (wrong way to do it but I didn’t want to modify the WordPress installer any more!)

    WordPress database error: [Table ‘axn0e8_mj.referer_visitLog’ doesn’t exist]
    select baseDomain,referingURL, visitTimes, visitTime from referer_visitLog WHERE blogID=’main’ and visitTime >= NOW() – INTERVAL 24 HOUR ORDER BY visitTime DESC

    WordPress database error: [Table ‘axn0e8_mj.referer_visitLog’ doesn’t exist]
    SELECT visitURL, count( * ) AS c, substring_index( substring_index( visitURL, ‘/’, 1 ), ‘/’, -1 ) as postID FROM referer_visitLog WHERE blogID = ‘main’ AND visitURL NOT LIKE ‘%/archives/%’ AND visitURL LIKE ‘%/’ GROUP BY blogID, visitURL ORDER BY c DESC LIMIT 0,30

  3. I’ve got my MySQL database and wp-config.php all set up and got through the first page of the install but get a ‘file not found’ error on the second, i.e. could not find:


    Our computing services people tell me that mod-rewrite is compiled into the Apache server but that ” … it will depend on the how the application uses it as to how we proceed, you will have to advise. If it uses a fairly static set of rules we will probably add them to the web server configuration file.”. What do I need to do to proceed with the install? What’s the reason for the error message?

    Many thanks

  4. Derek – sounds like Apache isn’t reading the mod_rewrite rules from the .htaccess file. I didn’t know that was possible but you might ask your administrator if .htaccess files are ignored or not. What they said to you would suggest that they are.

  5. After several attempts and with Donncha’s help I’ve now managed to successfully install WordPressMU and can run Donncha’s registration script without problems. Here’s some info for those also going down this road.

    It really seems to matter that all the admin/config balls are in line before starting the install. Donncha’s install is really efficient when everything’s set up but if there’s any gotchas! …

    The first gotcha! arose because the .htaccess file contains the mod-rewrite rules which drives the generation of the virtual urls. Our computing admin had turned off .htaccess so once I had that permitted for my WPMU directory things began to move forward.

    The second gotcha! was I had prepared a wp-config.php for my MySQL config (as the install page indicated I could) but the next install page then went on to state that such a file already existed and then stopped the install until I removed it, so that *it* could create it.

    The third gotcha! was the install gathered the database information and then produced a wp-config.php file with a mangled database name. Once I found out that this is what it was doing I just edited the produced wp-config.php manually and the install then proceeded smoothly.

    The fourth gotcha! was when I edited the .htaccess file with the path to wp-inst Donncha’s new RewriteRule. I inserted the full filesystem path but this generated multiple errors. I found that only the directory portion leading to my WPMU root was necessary, in my case /subdirectory/wpmu/ was necessary instead of /fullfilesystempath/sudirectory/wpmu.

    I think what Donncha has done is really fantastic and he is to be congratulated. I have immediately moved on, however, to questions like … OK now we could possibly give everyone a blog but people move on. How to I manage/delete the blogs so created?

  6. I keep getting this:

    Warning: main(wp-includes/class-smarty.php): failed to open stream: No such file or directory in /home/fallen/public_html/wpmu/wp-inst/wpmu-settings.php on line 27

    Fatal error: main(): Failed opening required ‘wp-includes/class-smarty.php’ (include_path=”) in /home/fallen/public_html/wpmu/wp-inst/wpmu-settings.php on line 27

  7. MOD_rewrite is on. mysql database is created.
    I got the Error message:
    Not Found
    The requested URL /wpmu/main/wp-admin/setup-config.php was not found on this server.
    I checked the directory and can’t find main directory under my wpmu directory.

  8. First let me say thankyou for all the work you do on this project.

    I have been able to install the wpmu and the registration software. It took a few attempts because I am not very experienced, but you can see what I have done at:


    I am working on a blog site for the game “World of Warcraft” and this is the start. You can try the registration script there to see how it works if you want, but don’t put anything important in the blog you make, because this is al temporary.

    I do have a question if someone could help.

    I am wondering how I could let a user sign in from the front page. As it is now, they have to remember their url and sign in from that.

  9. Donncha … With your advice I’ve managed to successfully install the 12 Jan 2005 snapshot. One of the ‘challenges’ I’m now facing is how to customize templates so that each blog author can have a different theme. I understand the basic procedure, i.e. add material to wp-content>sitetemplates and select from Manage>Themes, but I’ve got a pretty sophisticated set of php templates in my WP 1.2 standalone install which do things like build dynamic menus based on a post’s content etc and I can’t bend my mind round what’s required to implement this in WPMU.

    As best I can understand the WPMU template system is driven by the Smarty Templates engine which I’m not familiar with. Is there any documentation on how this has been implemented in WPMU that might help me get to grips with what’s required?
    Many thanks for the excellent work.

  10. The application created those directories and I can\’t delete them because I don\’t have permission. I have tried chmod and chown but to no avail. The installation process should be much like the WordPress. I am not sure why the directories need to be created on the fly? I am more than happy to offer my services in developing this application, please let me know. I\’d like to get it off the ground.

  11. Derek – Could you elaborate on this?
    “The fourth gotcha! was when I edited the .htaccess file with the path to wp-inst Donncha’s new RewriteRule. I inserted the full filesystem path but this generated multiple errors. I found that only the directory portion leading to my WPMU root was necessary, in my case /subdirectory/wpmu/ was necessary instead of /fullfilesystempath/sudirectory/wpmu.”

    What/which line did edit in htaccess.dist file? What’s “wp-inst Donncha’s new RewriteRule”? I am having that crazy mysql error during installation..

    Thanks alot!

  12. I’m trying to install wp-mu. When I load /wpmu/ I get a string of access right errors telling me to chmod more or less everything to 777.

    Is this normal? If it is, maybe it should be added to the instructions, so that people installing don’t get the feeling their install is ‘failing’ ?

    Maybe more comments when I get further into the installing process.

  13. Now, the smarty problems (I found out how to create a new blog): Warning: Smarty error: problem creating directory “/3c8a02013b85a765950a5a12239eb8be/%%200/%%2001463753” in /home/edublogs/wpmu/wp-inst/Smarty.class.php on line 1042

  14. Hey there. I just installed wpmu and I have had no errors whatsoever. It looks completely good so far and I’m on the edge of my seat awaiting the next release and hopefully multi-user blogs soon.



    I reduced wordpressmu’s last version and I had the following problems in the installation:

    1. installation, second step:
    WordPress database error: [You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ‘/wpmu_categories ( cat_ID int(4) NOT NULL auto_increment, c]
    CREATE TABLE wp_/wpmu_categories ( cat_ID int(4) NOT NULL auto_increment, cat_name varchar(55) NOT NULL default ”, category_nicename varchar(200) NOT NULL default ”, category_description text NOT NUL…

    That I repaired changing the line: $table_prefix = ‘wp_’.$wpblog.’_’; // example: ‘wp_’ or ‘b2’ or ‘mylogin_

    For the line: $table_prefix = ‘wp_’; // example: ‘wp_’ or ‘b2’ or ‘mylogin_’

    2.When visit my new blog:
    Warning: Smarty error: problem writing temporary file ‘/feab3f7d6d91316820c5a7de39669cec/%%200/%%2001463753/42142cbbaa7e8’ in /home/site/public_html/wpmu/Smarty.class.php on line 1042
    Warning: Smarty error: unable to read template resource: “index.html” in /home/site/public_html/wpmu/Smarty.class.php on line 1042

    That I can not repair but that such time be bound up with the following

    3. at the section UPLOAD, admin, indicates me:
    It doesn’t look like you can use the file upload feature at this time because the directory you have specified (/home/site/public_html/wpmu/./wp-content/blogs/wpmu/images) doesn’t appear to be writable by WordPress. Check the permissions on the directory and for typos.

    the fact that neither I know of what handles itself.



  16. Hello Donncha

    I have installed MU, but have problems getting it to work properly.
    My webhost admin state that mod_rewrite is activated, but still I have problems.
    I have had a look at the server configuration via phpinfo.php, and see that “Virtual Directory Support” is disabled. Can this be the reason I can not get .htaccess redirects to work properly?

  17. Hope this can be of help.

    I have now made a successful installation of MU.
    The first installation did not go well, and had to contact my webhost to inquire about the mod_rewrite and allowoverride all settings in server configuration.

    After they changed some “settings” I was able to get the installation working.

    Here are the changes needed:
    “mod_rewrite” must be enabled for your webspace.
    “allowoverride all” must be enabled for you webspace.
    And additionally your webhost must enable your installation script to detect the FULL SERVER PATH, which look something like /home/virtual/site93/fst/var/www/html/

    If the installation script only detect the last part of it, like /var/www/html/ then you may get problems.

    This may work for some, not for others. Just hope sharing my information can help someone with similar server environment

  18. I’m having the problem concerning this:
    ‘wp_’.$wpblog.’_’; // example: ‘wp_’ or ‘b2′ or ‘mylogin_
    For the line: $table_prefix = ‘wp_’; // example: ‘wp_’ or ‘b2′ or ‘mylogin_’

    I’ve changed it and still get the same problems.

  19. I’m considering WordPress MU as an engine for a weblogging site, and so far like what I see (LOVE WordPress for single users, eager to make this critter run). My main concern is one of security. Since WordPress MU seems to require working and sub-directories with CHMOD 777 access, I’m nervous about installing the system in such an exposed way. My bones tell me never to allow permissions beyond 755 (and even them, I’m skittish).

    Are there any plans or efforts to make the installation and function more secure? Should I work with my web host provider to follow the CHOWN path instead? Just wondering if others have resolved this issue as of yet.

  20. Andrew – a similar problem exists with WordPress. If a user of WordPress wants to edit their template files via the backend they must edit php files – those files have to be owned by the webserver, just like WPMU template files.
    In a WPMU install, the directories that are world writeable (or preferably owned by the webserver) only hold Smarty code/html or images, no PHP. Right now of course there’s no advantage as Smarty has to be running in secure mode and by default that’s not enabled.

  21. my solution is:
    update domain, path field on wp_site table are following: domain=”www.domain.com/subpath”, path=”/”.

    and everything works fine.

Leave a Reply