I’ll save you the background lecture. Let’s get straight to it. With the 3.0 release, WordPress is now capable of creating and managing multiple blogs/sites with only one install. You don’t need separate databases or plugins to make it work. However, this multi-site feature is not enabled by default because it’s not for everyone. If you do need multisite capability or want to experiment with it, here’s how to enable it:
(Unfortunately, the additional steps for absolute beginners in this article are for Windows users only. Also, this tutorial assumes you have an existing installation of WordPress. Users installing WordPress for the first time, skip Step 1; do Step 2 before you install WordPress.)
Before you even start with Step 1, back up your site and database. For the beginners, it’s simply creating a backup of your site in case anything goes wrong. Your web host control panel should be able to guide you through creating a site backup.
Install WordPress 3.0 or upgrade to it.
Open up the wp-config.php file and add the following code:
How to get the wp-config.php file:
If you don’t have a copy of this file on your computer, download Firefox and FireFTP add-on. Search for a tutorial online on how to use FTP. Login through FTP to your server, find the wp-config.php file, and download it to your computer. Open up this file on your computer and add the line of code above to this file.
How to edit the wp-config.php file:
If there’s no default application indicated for opening this file, right click on it and select to open with the Notepad application.
Where to place the line of code:
Place the code above this line in the file:
//** MySQL settings - You can get this info from your webhost ** //
Save wp-config.php file and upload it to your server through FTP. If you upload it to the right location, FireFTP will ask you to overwrite the file on server. Agree to overwrite.
Login into WordPress administration dashboard. Check to see whether the Multisite (Network) feature is enabled.
Clicking on the Network link under Tools will give you a page similar to this:
(If you didn’t get something like that, but instead received a message telling you to deactivate your plugins before installing the network then go deactivate your plugins, but take notes of each plugin settings first because not all plugins will give you the old settings once they’re re-activated.)
On that page, if you’re getting this message:
Because your install is not new, the sites in your WordPress network must use sub-domains. The main site in a sub-directory install will need to use a modified permalink structure, potentially breaking existing links.
It means your blog has been installed for at least 30 days, at least according to this article.
And, it means for all other sites on your server created through this one WordPress install must have a site.yoursite.com (sub domain) address. It cannot be yoursite.com/site (a sub directory address). WordPress Multisite feature is forcing you to use sub domains because you have an existing site older than 30 days. And because of that, it’s trying to avoid duplicate address problems.
For example, your existing blog or site already has a page at yoursite.com/fashion. If you enable the multisite feature and create a new site called fashion while using sub-directories instead of sub-domains (site.yoursite.com), you would have a new site and an existing page on the original blog pointing to yoursite.com/fashion. Two pages using the same address is definitely a problem.
So why not just agree to using sub-domains? Why worry in the first place right? Well, what makes this difficult for users with existing WordPress blogs/sites is that not all web hosts allow you to use Wildcard DNS, which is a web hosting feature allowing your site to create sub-domains on the fly through WordPress.
So in short, the Multisite feature forces WordPress blogs/sites older than 30 days to use sub-domains if they want the multisite feature, but if the web host doesn’t have Wildcard DNS on, then you can’t use sub-domains. For how to get WildCard DNS working, read the WordPress codex on creating a network.
If you can’t use sub-domains because your web host doesn’t allow Wildcard DNS, but would still like to use multisite by forcing WordPress to use sub-directories then read How to Force Multisite to Use Subdirectories.
Step 1 through 4 was for enabling the multisite feature. The next step is following WordPress’s instructions to enable the actual network. The previous page, on which WordPress asked you for email and name of network, if you’ve pressed the Install button, the next page should be something similar to this screenshot:
It doesn’t have to be exactly like the screenshot above. Instructions are different for each blog/site install conditions.
Follow the instructions on that page to finish enabling the network. Creating the blogs.dir directory is easy, right click in FireFTP and select to Create Directory. You already know how to edit and update the wp-config.php file. As for the .htaccess file, you might not be able to see it in the first place on the FireFTP screen. If you don’t see it, in FireFTP, go to Tools > Options and select Show Hidden Files.
Then proceed to download the .htaccess file, edit it, and upload it back onto the server to update it.
After you’ve followed all of the WordPress instructions, click on the login link to re-login.
Managing Multiple Sites
At this point, you’ve done everything needed to enabled the multisite feature and the actual site network. If done correctly, WordPress gives you a new group of links to manage your sites. Those links will sit under a new group labeled Super Admin.
Here’s an example of adding a new site to the network:
Go through the new Super Admin pages and try creating a new site to see what settings are configurable.