HowTo – Setting Up WordPress 3.0 Multisite Hosting On Plesk

wordpress-logoWith WordPress 3.0 we all now have access to the feature of multisite hosting that was available in WordPress MU multiuser version.

This HowTo will explain some of the steps required to setup multisite hosting for both subdomain and subdirectory hosting but with a grain of salt you should understand that this process is not as simple as is with cPanel hosting.

Getting Started

WordPress 3.x and higher has specific basic and advanced requirements to run.  Since Plesk is often installed on Windows based servers you may not have access to these feature and may need to decided if you can find a work around or if it would be better for you to change hosting enviroments.

You will need a DNS Server, Apache, PHP and mySql to complete the install. These basic requirements are necessary for single sites or multisite hosting. If you are using IIS and another database backend you may be able to complete your project but it is beyond the scope of this HowTo.

Download the WordPress 3x package to your computer and unzip it.

When you upload to your server the wordpress package MUST! be in the main root folder for the domain you are hosting. For instance if it is for your main site that would probably be /public_html/ BUT if you have more then one domain it may be in /public_html/otherdomain/ DO NOT put WordPress in its own directory under the primary directory as you may have for single sites.

You will need to setup the wp-config.php file that is in the root folder by following the general setup task of configuring the database info and secret keys.

Additionally you will need to add the following lines to enable WordPress Multisite Hosting.

For SubDirectory hosting (www.mysite.com/subsite)

[php]define(‘WP_ALLOW_MULTISITE’, true);[/php]

You will have the option to select subdomain or subdirectory hosting.

If you select SUBDOMAIN HOSTING you must first setup Wildcard Domain hosting for your account before your site will work correctly see below.

Select the option that you want then logout and login again as admin.

Fill in the options for your server and network and if you are hosting accounts for other then yourself you need to get notification when events occur so make the admin email one that you will check often.

You can now select install and WordPress will be configured for MultiSite Hosting.

Setting Up Wildcard Domains on Plesk

If you are on a shared account and do not have access to shell with the ability to make modifications to your Apache Conf files then you will have to get a server administrator to make the changes for you.

First create a new CNAME for your site using the Plesk Control Panel DNS Settings *.mysite.com

Now comes the tricky part you need to edit your Apache vhosts.conf file and enable wildcard hosting for your domain.

login to shell as root

cd to the directory with your apache vhosts.conf file
it may be located in /var/www/vhosts

open the file with your editor

> vi vhosts.conf

you now need to add a server alias

at the bottom of the file or in the appropriate area for your server add

ServerAlias *.mysite.com

you now need to apply your changes

type

locate websrvmng

then using the location returned type

/dir/subdir/blah/sbin/websrvmng –reconfigure-vhost –vhost-name=mysite.com

You will now need to add the additional setup controls to your wp-config.php file as you were instructed within WordPress when you chose between subdirectory and subdomain hosting.

Now login to wordpress and make sure everything works.

Finishing the Job

When you enable subdomain hosting all of the databases for your other sites will be inside your primary database but files will be hosted in your wp-content directory.

New sites will be allowed to use themes and plugins that you activate for others sites to use but they will not have access to upload or install options unless you make them administrator of the primary site.

Setting up Subdomain hosting on Plesk is not a simple task and could get you into trouble if you fail half way through the process.

Personally I would ask my hosting company to move my account to cPanel just for this reason but if you feel comfortable making the changes yourself the good part is you only have to do it once and then just add as many sites as you want from within WordPress.

The other option you have is subdirectory hosting and that should work fine as long as php and apache are configured correctly. SubDirectory hosting does not require Apache or DNS modification.

FINAL NOTE
WordPress security is important and you should fully understand what accounts you are creating before you get runing. Remember if you are allowing others to make their own sites there is no reason to allow them rights in the primary site.  Also if you are superadmin you can login and make changes to all your sites and there is no reason to generate accounts with admin rights on each subsite. READ UP ON USER RIGHTS BEFORE YOU DEPLOY!