WP3.0: multi-site enabled!

WordPress 3.0 is set to be released this month, and I can’t tell you how very excited I am to get my hands on it. I do have the beta2 version, and I’ve been playing around with it. There are quite a few new stuff you can expect from WP3.0, but the most significant update (in my view) is its multi-site functionality. Read: WordPress and WordPress MU are now being merged.

For the benefit of those who are as yet unaware, WordPress μ (MU or “multi-user”) is a branch of WordPress that lets super administrators create a network of blogs in one installation. This is, in fact, what powers wordpress.com blogs.

I’ve finally gotten the multi-site (or multi-user) functionality of WordPress 3.0 beta2! And I’d like to share how I did it. You may choose not to use this functionality and use WordPress 3.0 as a single-site blog, but if you do want this awesome feature, do read on!

Here are the salient details of my WordPress environment:

CentOS server Apache version 2.2+
PHP version 5.2+ MySQL version 5.0+
PHP safe mode off Running suPHP

Before installing WordPress, you need to add this entry to your chosen domain name’s DNS table: *.domain.tld. 1400 in A {IP address}. Let’s assume your domain name is myblognet.ph, and the IP address that your web host has assigned you is 222.111.2.3. If you don’t have access to DNS, ask your host to do this part for you. The entry should look something like this:

*.myblognet.ph. 1400 in A 222.111.2.3

Then, you’ll need to change some stuff in your Apache configuration. Please be careful with this and triple-check your work at each step, to ensure you won’t accidentally mess things up. You’ll need to access the httpd.conf file (in my setup, this file is located in /usr/local/apache/conf/), and update the VirtualHost section containing the domain name you’re using for WP3.0. To wit (highlit lines):

<VirtualHost 222.111.2.3:80>
    ServerName myblognet.ph
    ServerAlias *.myblognet.ph
    ServerAlias www.*.myblognet.ph
    # more code here...
    # no need to edit them!
</VirtualHost>

You should then execute the following command (via SSH) so that the VirtualHost changes you made will take effect.

>> /usr/local/cpanel/bin/apache_conf_distiller --update

Your hosting environment may be different, so if you’re doing this on your own, please ask your host about the command above. Tip: use the locate command in SSH to find files and executables; e.g., locate httpd.conf.

Then, execute the following to restart your Web server.

>> /etc/init.d/httpd restart

Now, go ahead and install WordPress. Upon successful installation, add the following directive to your wp-config.php file. It would be a good idea to place this line (#83 below) just above the part that says /* That's all, ... */

define('WP_ALLOW_MULTISITE', true);

/* That's all, stop editing! Happy blogging. */

Login to your dashboard and click on Tools » Network. The next screen will guide you through some more setup instructions, particularly for your wp-config.php and .htaccess files. Make sure to choose the sub-domain functionality, to be able to give your users a sub-domained site, such as http://pokerclub.myblognet.ph.

Once that’s done, you will notice a new menu item above the home icon: the Super Admin. And voilá, you now have a working multi-site WordPress installation! Go ahead and test it by creating new sites.

If you have questions, please feel free to drop a line below.


2 Responses

Write a comment
  1. dear sir
    mine is
    *.myblognet.ir. 14400 in A xxx.xxx.xxx.xxx
    it means its nit 1400 and is 14400 and i cant change it.
    what can i do?
    when i try to go to 2nd.myblogname.ir , i see this error

    Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.
    Please contact the server administrator, webmaster@myblogname.ir and inform them of the time the error occurred, and anything you might have done that may have caused the error.
    More information about this error may be available in the server error log.
    Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

    Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635

    what can i do?

    کیزاد 24 July 2010 at 12:15 PM Permalink
    • Hello Kayzadir (did I get your name right?),

      If it's a 500 error, it has nothing to do with your DNS settings. The TTL value (14400, etc) does not really matter in WP's multi-site settings, by the way.

      Blogie 24 July 2010 at 1:15 PM Permalink

Write a Comment

Commenter Gravatar