A little over two years ago, I signed up for a reseller account with HostingZoom and I’m very glad I did.  I don’t host very many sites, but the ones I do host pay for my own sites, as well as some non-profit sites that I host for free.  Not only this, but my friends are getting a better price for the same service than they normally would with their own shared account.  Confused?  Too good to be true?  I’ll explain step-by-step how to host websites using WebHost Manger (WHM) and cPanel software available from most webhosting companies that offer reseller plans. (Video tutorial included) This article assumes you already know what a little bit about web hosting.  For example:

  • You have set up a website once or twice before on a web server
  • You have used cPanel
  • You know what a domain name is, and how to buy one

If all of these statements are true, then there is no reason you can’t sell hosting packages to your friends, family and clients.  Follow the steps below, and view the video to get a solid idea of how this is done.

Find a Reseller Account

Probably the most difficult step is finding a decent company with a good reseller program.  Many webhosts offer reseller programs that simply offer you packages at a discount, and allow you to mark up each package you sell.  This is not correct.  A decent reseller program will be one flat rate per month for an unlimited amount of sites. There are dozens of web hosting companies that offer reseller plans.  When choosing a host, the most important part is to find an established company that has been in business for several years, and offers top notch support.  Do not underestimate the importance of support.  Only choose a company that offers the following support options:

  • Telephone Support – Hiring people to talk on the phone is expensive.  A company with phone support is serious.
  • 24/7 Helpdesk – If your site is on the fritz at 3am, you don’t want to wait to find out what the problem might be.
  • End user support – This is important.  End user support means that the hosting company will answer support questions for your customers! This is crucial.  If you set up a website for one of your friends, do you want them calling you at 9pm on a Friday night because they can’t remember their cPanel password? No, give them a support email address and they can open a ticket that will be handled by your hosting company.

Once you’ve found a good, reliable company after doing your homework and comparing costs and features, go ahead and sign up.  I’m not going to list decent prices here, because hosting packages are constantly getting less and less expensive, and deals change by the day.  You’ll need to do some legwork on your own to find the best price. For the purpose of this tutorial, I will be using examples from the company I currently use, HostingZoom.  They have a standard WHM/cPanel setup and many prices and packages to choose from.  Some other companies have customized control panels (such as fasthosts.com).  These may be easier, and offer more or less flexibility.  The only real way to judge is try it for yourself (hopefully with a demo or free trial).

Sign Up For a Reseller Account

For demonstration purposes, I’ll be using ResellerZoom as a reference for this tutorial, although any company that uses Webhost Manager and cPanel (WHM/cPanel) will likely be the same.  If you look at the ResellerZoom site, you will see 6 different plans.   Most companies will offer similar plans.  I avoid Windows because most software I use (WordPress and Drupal) run best on linux, and Windows is often more expensive.  Also, take note that the Budget Reseller plan does not include end-user support or billing software, so that plan is to be avoided.  I chose the Advanced Resller plan because it was cost effective, and at the time the Failover plan was not available.  I may switch to the Failover plan soon, however, to provide increased reliability to myself and my friends.

You’ll likely have to prepay for a few months to get the advertised rate.  I go in 3 month increments.  This gets me a good deal, but doesn’t lock me into a long contract, so if something should go wrong, I can switch companies without losing too much money.

Upon signing up, you will likely recieve an email detailing all the login information.  This will be similar to the information you received when signing up for a normal hosting account, with a few extra bits – namely, the login info for WHM.  There might also be some info regarding custom nameservers and ClientExec or WHMCS, but I’ll get to that in another post.

Log into WHM

Once your account is active, go to http://yoursite.com/whm (or whatever is detailed in your activation email).  You will be prompted for a login and password. You’ll be greeted by a screen similar to the one below.  Don’t worry, it looks daunting, but many of these features you don’t need to bother with.  We’ll start simple, and work our way up from there.

Create a package in WHM

The first step is to create a package.  A hosting package specifies a disk quota, bandwidth quota and a few other specifics that will be set for your clients.  For small websites such as blogs and personal sites, a gigabyte or two of diskspace is usually more than enough.  This will store thousands of photos, hundreds of music files and a handful of video (although I highly suggest using a video hosting site such as YouTube or Vimeo rather than just uploading video files to a website, if possible). Setting bandwidth can be tricky, as you need to predict how much web traffic a site might be getting.  A small website with a few pages, or a personal blog with a few dozen visitors will use a very minimal amount of bandwidth.  Sites with more complex features, such as flash, music/video downloads, file downloads and other large items will use up bandwidth quickly.  Since this article is geared towards hosting sites for friends and family, we don’t need to worry about exceeding bandwidth very often.  Just in case though, try to encourage people to use sites like and to host images, and and to host video, and embed them rather than upload them to their sites.  Always find out what happens if your bandwidth is exceeded.  Some disreputable companies will cancel your account if you exceed the allotted bandwith, while most companies have simple overage charges (like the cell phone companies) if you go over. The rest of the settings, such as Max (FTP, Email, etc…) Accounts, and Max Domains can be set at unlimited (unless restricted by your hosting company).  If you have a friend that needs dozens of FTP accounts or sub-domains, he or she should probably get their own reseller account.  Turn on FrontPage extensions and CGI just in case they are needed, and set the cPanel theme to x3 (the latest greatest, in my opinion). Click the Add button, and you should get a nice message saying the package was added successfully.

Create accounts for friends/family

Now comes the fun part – setting up the individual hosting accounts.  Each of your friends/clients needs their own account.  Start by clicking the Create a New Account link under Account Functions.  Type in the domain name for the website.  The domain name does not need to be purchased, but must be registered elsewhere for the site to become fully active (there is way to access the site before the domain name is registered, and I’ll go over it soon).  Domains can be registered at GoDaddy or name.com for about $10. The username must be 8 letters, and also must be unique to the server that you are on.  If you get an error message, it means someone else on your server already has that username.  WHM will suggest a username based on your domain name. It’s best to stick with that one unless you need something else.  Then pick a nice, safe password (lots of letters, numbers, and valid symbols). Type the email address of your friend/client in the Email field.  This address will receive notifications generated by WHM and cPanel. In the Package section, choose the package that you just created.  This will specify how much space and bandwidth can be used, as well as how many ftp, mysql, domain, etc… accounts they can have.  If you need to tweak anything, click the Select Options Manually box. The Settings section should be changed automatically based on the package you created.  Under DNS Settings check the box that says Use the nameservers specified at the Domain’s Registrar.  This will ensure that GoDaddy or name.com.  Make note of the nameservers, such as ns1.hostingco.com, as this information will be needed by your friend later. Click the Create button, and you’ll be greeted with a big screen full of text…

Send the Details

After creating the account, you’ll be brought to a page full of text.  There will be a section enclosed in a box with the title, New Account Info.  Copy the information in this box and paste it into an email to send to your friend/client.   The rest of the stuff isn’t really that important. You’ll also want to note the cpanel login location, and FTP information.  cPanel can be reached at http://clientdomain.com/cpanel  where clientdomain.com is the domain name of your friend/client.  The FTP address is simply clientdomain.com at port 21.  For cPanel and FTP, the username and password are the specified in the account information.

Set the Nameservers

In order for the site to be online, you’ll need to change the nameserver entries where the domain was registered.  If you registered at GoDaddy you can view the tutorial here. At name.com the information is here.  Usually it just takes a few minutes for these settings to go into affect, but it can take up to 48 hours for the domain to propogate throughout the entire internet.

You’re All Set!

Once the domain has propogated, that’s it!  You friend, grandma, second cousin, office buddy, or whomever now has their own shared hosting account thanks to you!  You can arrange to bill them whenever you like, or just share the space out of the goodness of your heart.  Additional help for WHM is usually provided by your hosting company.  ResellerZoom provides a number of instructional videos, or you can try the official WHM manuals. In a future post, I’ll show you how to use ClientExec to automate account setup and billing, so your friends can sign up themselves and automatically recieve their account information and first invoice via email, without you touching a thing! Neat!