Now there’s one more reason to bow before the might of WordPress 3… MultiSite/MultiUser support!
WordPress 3+ comes packed with the core of WordPress Multi-User (also known as WPMU) built in it. It allows you to run multiple blogs and have a ‘site of sites’ or a ‘network of sites’ within one installation, thus the name ‘MultiSite’ or WordPress MS. Creating, Maintaining and Removing sites, Managing user roles is very simple with the interface provided in your Administration area. However, the multi-site support is not enabled by default. There are a few easy steps you need to follow in order to enable multi-site support.
Here’s how you do it:
Open your ‘wp-config.php‘ file with the editor of your choice. (If you are running WordPress locally on a Windows machine, it should be in ‘C:\wamp\www\wordpress’)
Next, add the following lines to the ‘wp-config.php’ file:
This line will enable the option ‘Network’ under the ‘Tools’ menu in your administration area. Clicking on ‘Network’ will take you to the network creation/installation page. There are a few details to be entered on this page. The name of your network, admin email etc. If you are running it locally, then the first detail here would be ‘Sub-directory install’.
Clicking on ‘install’ will take you to the ‘Enabling the Network’ sub page.
This page displays all the instructions you need to follow in order to complete your network installation. I will summarize them here.
You will first have to back-up your ‘wp-config.php’ and your ‘.htaccess’ files. i. e. Duplicate those already present and rename them to something understandable (I renamed them as ‘wp-config-original.php’ and ‘.htacces_original’). One thing to know, if the installation is local, then there is a possibility that you won’t have an .htaccess file (none of my installations had them!). In such a case, don’t look for it, just make a new .htaccess file. We’ll get to the creation of the .htaccess file in a while.
Next step is to create a new folder named ‘blogs.dir’ inside your ‘wp-content’ folder (C:\wamp\www\wordpress\wp-content). This folder will hold the uploaded content/media for your sites.
You’ll see a lot of generated code on the ‘Enabling the Network’ page. It is based on your configuration. Mine is here:
define( ‘MULTISITE’, true );
define( ‘SUBDOMAIN_INSTALL’, false );
$base = ‘/wordpress/’;
define( ‘DOMAIN_CURRENT_SITE’, ‘localhost’ );
define( ‘PATH_CURRENT_SITE’, ‘/wordpress/’ );
define( ‘SITE_ID_CURRENT_SITE’, 1 );
define( ‘BLOG_ID_CURRENT_SITE’, 1 );
You have to copy this code and paste it in your new copy of ‘wp-config.php’ (not the one you duplicated and renamed!). It should be before the commented line that reads,
/* That’s all, stop editing! Happy blogging. */
Copy the mod_rewrite rules generated for your configuration and paste them in the .htaccess file which should be in your wordpress root folder.
Like I said, you should create a new .htaccess file if it isn’t already present. You can test it right-away. Just create a new file through your editor and put in some lines of gibberish and save it as .htaccess in your wordpress root folder (where your wp-config.php is located). Next, visit your site from a new tab in your browser. If your server successfully reads the .htaccess file we just created, you should get an ‘Internal server error’ or ‘Error 500′. Thats it. You have your .htaccess file. Paste the mod_rewrite rules and replace anything that was originally there in the .htaccess file. Save it and log out of your wp-admin.
Login again into your WordPress admin, and if everything went correct, you should see a ‘Super Admin’ section at the very top with the keys icon, even above ‘Dashboard’.
More about the Super Admin section in my next posts!