Dan Milward is one of the great people behind Instinct, developers of the well know WP e-commerce plugin, besides a fair few other things as you’ll see below! – James
Recently we setup a WordPress MU site called GetShopped.com. It is a website for built for people wanting to setup an online store and sell online.
Setting up an MU site meant that we had to learn and do all sorts of fancy things that we wouldn’t ordinarily have to do. For instance we had to build our own upgrade plugin to work in a similar fashion to the WordPress.Com upgrade system, we learned about hosting theme files on Amazon S3, and we had to learn about Virtual Hosts. If you are interested in any of these I might write about these later – failing that we’re paid guns and can be employed to build your MU site too.
We decided to use slicehost.com as our hosting provider because we heard good things about them from some friends that we trust. Even WordPress team members seem to be using SliceHost for various sites around the internet – to back that up I have put a link to to Dougal Gunter’s site at the bottom of this post. I believe Dougal works on directly on WordPress.
One of the things that immediately appealed to me was that SliceHost actively promote best practices for running large scale sites – they even had a range of well written tutorials on how to use nginx as an alternative WebServer to Apache. We haven’t done this yet but the fact that they advocate these practices filled me with confidence.
We ended up using the SliceHost Debian Etch install as opposed to the CentOS build because CentOS on slicehost.com had a pretty nasty memory leak that we could not fix no matter what we tried. We did things like upgrade PHP, we tried different versions of PHP, we tried different versions of Apache and MySQL but whatever we did to the server our site would eventually crawl to a halt and die.
So rather then waste our time trying to fix Apache we decided to go about it differently and install Debian which according to many a WordPress MU guru is faster and better – for us this was certainly true. And apparently WordPress.Com uses Debian so it made sense for us to follow suit.
It took us many hours (and a whole lot of pain) to come up with the following list of things to do but you’ll find it to be true enough and hopefully somewhat useful. I’m writing this because I want to make it easy as possible for others who want to setup a WordPress MU site. I give you the ultimate MU startup solution:
1. Setup your Debain slice at slicehost.com
2. Install the latest version of WordPress MU
3. Offload your themes to Amazon S3 to distribute server load (like wordpress.com)
4. Install a php accelerator (we use eAccelerator)
5. Explore using nginx as a webserver
6. Setup your Virtual Hosts
I’m not going to go into detail on each of these steps in this article because this is merely a quick look at what you might need to do in order to setup your own MU site. We will look at using WordPress HyperDB and a some of the BuddyPress Plugins but that is another story.
Using Amazon S3 to host your theme files is a very very good idea. It will mean your that your Slicehost account can stay smaller for longer. This is because S3 is doing a lot of the hard work by handling all your image files. This is what wordpress.com does and this is what we started to do on getshopped.com ever since we realised it meant we could save money and improve our users website experience at the same time.
With slicehost.com you can start small and increase your account size as you need to.
Would you like to share your WPMU story on WPMU.org? Register and let us know!