How to Enable Multisite in WordPress

This video screencast is a quick tutorial for how to set up WordPress 3.0 in multisite mode. The WordPress codex has written instructions if you want to use those as well.

YouTube Preview Image

Update the wp-config.php file

You will need to add this line of code to your wp-config.php to make the multisite function accessible:

define('WP_ALLOW_MULTISITE', true);

Links

WordPress codex documentation for using multisite:

http://codex.wordpress.org/Create_A_Network

How to map top level domains in multisite:

http://verysimple.com/2010/07/09/install-wordpress-3-with-multiple-tlds/

http://ottopress.com/2010/wordpress-3-0-multisite-domain-mapping-tutorial/

About Devin

I'm a WordPress developer based in Austin, Texas. Follow my projects on GitHub, or more general WordPress ramblings as @devinsays on twitter.

111 thoughts on “How to Enable Multisite in WordPress

  1. Devin, Thanks for the screencast. I’ve been thinking about how I can integrate Multi-site functionality into my own site and this walk-through is very helpful!

    • Devin wrote:

      You should be using this svn address: http://core.svn.wordpress.org/trunk/

      Once you download the latest version, it’ll say this in the footer area of the dashboard: “You are using a development version (3.0-alpha). Cool! Please stay updated.”

      If anyone else is interested in getting the latest trunk version, you should read this post about subversion in the WordPress codex.

  2. Seagoing wrote:

    Hi, Thanks for vid-tut on network options in latest WP 3 Alpha
    I’ve recently (today) installed this, and updated it using Dashboard -> Updates but under tools i have DO NOT have the Network option to which you refer.

    Is there something to enable, during install perhaps, for this option to show?

    Regards

  3. Danny G Smith wrote:

    Strange, I ran a co on that site, and have the alpha code, but I still don’t get Tools -> Network. I wonder if they are in the process of factoring the code, and something has gone wrong? I wouldn’t discount the possibility that I did something wrong.

  4. Danny G Smith wrote:

    Thanks, guys, I will give that a go.

  5. Seagoing wrote:

    Many thanks for pointing out how to enable Multisites on WP 3 Alpha by adding…

    define(‘WP_ALLOW_MULTISITE’, true);

    …to the file wp-config.php

    HOWEVER, having included the above line in my wp-config.php file I still do NOT get a Tools -> Network option! Does this have to be included AT INSTALL time?

  6. Seagoing wrote:

    OK – as a followup, the correct define statement that should go into wp-config.php to enable mutisites is…

    define(‘WP_ENABLE_MULTISITE’, true);

    Hope that helps

  7. Dan wrote:

    Actually according to the trac link above it is:

    define(‘WP_ALLOW_MULTISITE’, true);

    Also be careful when copying the code from here. I did it and it messed up the single quotes.

    WP_ALLOW_MULTISITE works :-) .

  8. RKM wrote:

    Great overview, thanks for taking the time to include screenshots, etc!

    Strange, the alpha/beta forums say to use: define(‘WP_ENABLE_MULTISITE’, true);

    I guess this is wrong; want to make sure people are aware of the difference.

    On a separate note, is there an option in v3.0 to allow domain-mapping? For example, rather than using *sub-domains* or *sub-directories* using domains as we did with domain-mapper? For example: http://www.site1.com and http://www.site2.com goes to site1.myblog.com and site2.myblog.com?

    Thanks again for the great info!

  9. RKM wrote:

    @Devin- Thank you for the link. I was hoping this would now be native to v3 — but at least we have a definitive answer.

    I’m off to try a fresh v3 install w/Domain Mapping .51 now. Will report back.

  10. RKM wrote:

    @Devin –
    Setup v3.0-alpha, added Domain Mapping Plugin (as well as Login Lockdown) and they both work great. v3.0-alpha is much more intuitive than MU, IMHO.

    Here’s a quick tutorial on WP3 Domain Mapping (very similar to 2.x Domain Mapping, but some locations/etc have changed — and sunrise variable definition is not a commented part of the default wp-config for v3):

    add domain_mapping.php to \wp-content\plugins
    add sunrise.php to \wp-content

    add the following line to wp-config.php (or uncomment if it exists)
    define( ‘SUNRISE’, ‘on’ );

    go to Plugins > Network Activate
    go to Super Admin > Domain Mapping > set IP

    Setup domain mapping for a specific site:
    Super Admin > Sites > (choose site) > Backend
    (verify you’re now under the dashboard of that specific site)
    Tools > Domain Mapping > (set domain to use, choose Primary)

    • Devin wrote:

      @RKM Thanks for the reporting back. If you (or anyone) ever wants to do a guest post with screenshots, let me know. I’d be happy to give you your own page.

  11. Andrea_R wrote:

    Hit me up if you have any questions. ;) I’m working on a draft page for the codex too.

  12. paul wrote:

    Hi Andrea

    I tried enabling multisites on a new install and I’m getting errors:Fatal error: Call to undefined function get_blog_details() in /home/webtemp1/public_html/infosurdo.com.br/sapeca/wp-includes/user.php on line 98

    WP is in a subfolder

  13. mugger wrote:

    Oops. Just found it under TOOLS>OPTIONS>NETWORK.

  14. Is it just beta version. I don’t find anywhere can download WordPress 3.0

    • Devin wrote:

      That’s right. If you want to test the latest development version, install the WordPress Beta Tester plug-in, set it to “Bleeding Edge Nightlies” and upgrade.

  15. Rilwis wrote:

    Nice screencast. This feature will make WP a bit like WP MU :). I don’t think it’s useful for personal blog, but maybe in some case of multi-author, it’s good to be used.

  16. Pingback: Upgrading from Wordpress SU to MU — holme.se

  17. Anthony wrote:

    How come when I follow those steps it still doesnt show for me?

    • Devin wrote:

      It looks like there have been some changes to trunk since I published this screencast. I’m planning to do an updated video sometime later in the week when it looks like everything is more locked down.

      Until then, the best reference is probably Andrea’s rough draft codex article: Create a Network or a search of the forums.

  18. Olaf wrote:

    Hi Devin,

    great video.

    This is just for your information, bluehost does allow wildcard subdomains or at least I have been able to create these. When you are in your cpanel and go to create a subdomain, if you add the * as the subdomain, it should create wildcard subdomains for you. Now I don’t know if this is something that was enabled on their part, by error or if they are now allowing it, as they still state that they don’t allow it in their knowledgebase. Also I don’t know if you need to have a dedicated ip for this to work, but it does work.

  19. Olaf,
    Interesting idea. I tested it out on my Bluehost account (with dedicated IP) and I can verify that this works. I also called Bluehost support and asked what the deal with this was. The support representative was unable to set up a subdomain using only the star character, strange??? The main reason I called support was to see to if the solution that you outlined was something that they supported, or a neat little unsupported work-around. I was instructed that this is not a practice that should be relied upon due to the fact that it is not officially supported and may change in the future. The representative than informed me that MU should work if all subdomains are created manually, which may be cumbersome to some uses, but fortunately will work fine for me.

  20. Tobias Fox wrote:

    Dreamhost doesn’t allow wildcard dns either. It’s a pity =(

  21. RKM wrote:

    For all of you who have issues with using wildcard hostname resolution, you can find very inexpensive VPS servers on networks just as good (or better) than what you’re using, for nearly the same price.

    The provider will setup everything you need, *including* a dashboard if you don’t want to get your hands dirty in Linux. On the other hand, if you are comfortable with the Linux side, it’s a simple entry in the httpd.conf file, which is on by default, that will support unlimited hosts, unlimited domains, etc.

    A VPS is so much more liberating than limiting yourself to your hosting providers rules/configuration.

  22. od3n wrote:

    hello devin,

    what software you use for the screencast?

    • Devin wrote:

      Camtasia for the Mac. It’s a bit expensive, but it works really nice.

  23. Pingback: 8 useful code snippets to get started with WordPress 3.0

  24. Pingback: 8 useful code snippets for WordPress 3.0 | 610 Design

  25. Chris wrote:

    Hey Devin,

    VERY helpful video – thanks a lot for posting it. I’ve managed to get my existing site migrated 100% successfully from WP to WPMU but it seems that this isn’t necessary anymore with WP 3.0 coming out soon-ish.

    Is WP being merged into WPMU or is it the other way around? Any advantages to using WPMU over WP 3.0?

    Thanks again!

    • Devin wrote:

      WPMU is being merged into the actual WordPress codebase. When 3.0 is released, WPMU will prompt you to upgrade automatically, and when you do that it’ll simply be WordPress 3.0 running in multisite mode. No other changes will be required.

  26. Chris wrote:

    Great, thanks for confirming that Devin – much appreciated. :)

  27. Will we be able to log into one admin and post to multiple sites from there? Alternately, can we create multiple sites from one install but give each site its own login?

    • Devin wrote:

      @Miriam Yes, the “Super Admin” can post to any site in the Network. You can also set up separate users and admins for the individual sites you create.

  28. Chris wrote:

    @Miriam: From what I’ve heard WPMU is being rolled into the code for WP 3.0 – if that’s the case then yes, you’ll be able to create multiple sites from a 1 install and have individual logins for each site (it’s what I’ve done for my site).

    http://domain.com/wp-admin and http://domain.com/subsite/wp-admin are the only ways I’ve been able to edit the content though (i.e. wp-admin for each WordPress “install”).

  29. Leon Poole wrote:

    Awesome post thanks – we’re testing this out at the moment too.

    @Miriam Schwab – I’m wondering the same thing. Would be awesome to manage multiple websites from the one install but still give access for users on individual sites the ability to log in and add/edit content etc… any news if this is possible?

  30. Chris, do you mean that you can’t edit the content for subsites from the main login? That’s what I’m hoping will be possible: managing content for all subsites (and the main site) from one control panel.

  31. Thanks Devin! That is such exciting news since it opens up so many possibilities. I can’t wait to try it out.

  32. Chris wrote:

    @Miriam: Yes, you can (as confirmed by Devin, too). I have a user account called ‘admin’ that I use for changing stuff on the main site but a user called ‘chris’ that I use for creating the content … there’s no technical reason for doing it that way other than having the articles as having ‘chris’ as the author. Regardless, the ‘admin’ user can post content on any of the sites.

    In the WPMU control panel you can modify the list of users that are ‘Site Admins’ so that you could have a user called miriam that can do the same stuff that admin can.

  33. Mark Johnson wrote:

    Devin, just installed beta2 of WordPress 3.0 and used your instructions to enable Network, However, there is a section (Server Address) on the Create a Network of WordPress Sites page that has me stalled:

    We recommend you change your siteurl to “mysite.com” before enabling the network feature. It will still be possible to visit your site using the www prefix with an address like “www.mysite.com” but any links will not have the www prefix.

    Where do I change siteurl? In Settings? (it won’t let me, reverts it to http://www.mysite.com) In the wp-config.php file? FYI, I’m using subdirectories, not subdomains; have mod_rewrite activated via .htaccess on my 1&1 server. I’m also migrating from Movable Type to WordPress for the first time, so not up to speed yet on all WP procedures.

    • Devin wrote:

      Yes, normally you change this by going to “Settings > General” and update.
      You can also force it through the wp-config by adding:

      define(‘WP_HOME’,'http://mysite.com’);
      define(‘WP_SITEURL’,'http://mysite.com’);

      (check the apostrophes if you copy / paste that)

      I’d post this question in the WordPress forums to see if you can get a quicker response.

  34. Mark Johnson wrote:

    Thanks Devin, wp-config worked. Think I had a grammatical error earlier that got me off track.

  35. Pingback: Más trucos para WordPress 3.0: navegación, imágenes de fondo y WordPress multiusuario | TodoWordPress

  36. Kolchy wrote:

    Will we be able to use full domains instead of sub-domains? Cheers!

    • Devin wrote:

      I wouldn’t recommended it for a shared hosting situation (e.g. if you’re paying less than $10/mo), but if you use the Domain Mapping Plug-in it should be possible.

  37. Toby Adams wrote:

    Hi Devin,

    Just used your guide to upgrade my site, thanks very much!

  38. Emil wrote:

    Thanks for this tut Devin – was extremely helpful

  39. Hans wrote:

    Hi, I´m trying to get the multisite in 3.0 to function but it wont. In fact it was working earlier for me with beta 1.
    Now after installing RC I just dont seem to get it right. Been trying several installations, but no!

    Problem is that everything works fine including “add a new site”. But when I’m trying to reach that site either from backend or on front, it just goes ” error 404 – Object not found!

    Please what am I doing wrong here.

    • Devin wrote:

      I’m not sure exactly what the problem is, but I would double-check that your .htaccess file is correct. Look at a fresh version from the latest build to make sure it matches. Also, try resetting your permalinks.

  40. Hans wrote:

    Ok, this is resolved now.
    What we did was two things in httpd.conf (not sure wich one actually solved it)

    1. Changed

    Options FollowSymlinks
    AllowOverride Fileinfo Options
    Order deny,allow
    Deny from all

    to

    Options FollowSymlinks
    AllowOverride All
    Order deny,allow
    Deny from all

    2 Changed
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be “All”, “None”, or any combination of the keywords:
    # Options FileInfo AuthConfig Limit
    #
    # AllowOverride None to
    AllowOverride All

    Thanks Andrea for getting us on the right track!

  41. Alex Tam wrote:

    It’s helpful. Thanks Devin!

  42. Pingback: Más trucos para WordPress 3.0: navegación, imágenes de fondo y WordPress multiusuario | Un Desmadre !

  43. Pingback: Wordpress 3.0 Roundup | Themergency

  44. Shaun Butler wrote:

    This is a really exciting development!

    However I was wondering about different URLs…
    For example – my main URL is shaunbutler.co.uk, and I create a new wordpress site for a client – In wordpress 3.0, am I correct in thinking the URL has to be in the format of client.shaunbutler.co.uk or shaunbutler.co.uk/client?
    If this is the case, how could it be used to create a site with its own base URL, like clientsite.com ?

  45. WordPress 3.0 works perfectly, but I am still missing the way to save different sets of plugins and only having to turn on or off the set, I am missing the ability to quick select the categories, just start typing the name of the category and this is filter for easier selection, I am missing a better image resizing or editing, anyway, I love wordpress.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>