Reseller Guide

From Site5Wiki

Jump to: navigation, search

Contents

What is Reselling?

Reselling is selling of a service that someone else technically provides, but you take the credit for. In most cases, include Site5, reselling is selling of resources such as disk space and bandwidth.

Reselling can be a good start in the hosting industry as you don't need to know how to administrate a server nor pay for an expensive server.

Getting Started

So, you've got a reseller account and want to jump in and get started sell hosting? No problem, the following should help with that. We'll talk about setting up your reseller accounts, setting up ClientExec, and receiving payments.

Where do I go to login to my reseller control panel? To access your reseller control panel (Web Host Manager referred to as WHM), go to: http://www.yourresellerdomain.com/whm or if your domain name has yet to propagate you access it via the IP address included in your welcome e-mail. http://IP.Address/whm


[Security tip] Image:Exclamation.png PLEASE NOTE - Having the same password as the username will get the account hacked 99.9% of time.

Other poor choices:
password, any type of number combination without a letter, any type of name, and anything that can be found in the dictionary.

Setting up Your Reseller Account

Finding Server Name and Generic Reseller Domain

Sometimes you'll wont know the server name and use the generic domain to use with testing sites before changing DNS, and using the shared SSL, and other such actions. To find both is a easy task in WHM. The following will describe how to find both in one step:

  1. Login to WHM.
  2. Go to "Server Information" and find "System Information"
  3. Under "System Information" you'll notice a domain. That domain is the complete hostname. The server is the subdomain (subdomain.domain.com) and the domain is the generic domain. it will appear like:
server-name.generic.com

Do you have a manual for our reseller panel?

Go to http://www.cpanel.net/docs/whm/index.html to view the documentation for Web Host Manager (WHM), which is your reseller control panel.

Packages and Features

Plans, or packages as some call them, make hosting accounts sing. Plans allow you to set what customers will use in resources and features. What makes a great plan? Good question, and when you find out, please let us know! Seriously though, a good plan is one that allows a good majority of your potential customers to do what they want.
Do you have a set market you want to host or are you planning to offer general hosting? If, for example, you'll be hosting artists, then they'll most likely want to put pictures on their sites and other such activities which may require large disk space and bandwidth allowances. What if they want a forum to talk about a hobby -- they'll need a MySQL database or two.

Creating A Feature List

Feature lists are just as important as resource allotments. You can restrict what features an account can use, and the more features an account has, the more valuable it is to your clients.

We'll start by creating an "all-in" feature list (the list gets every feature available).

  1. Login to WHM.
  2. Go to Packages --> Feature Manager.
  3. Type in a name for the feature list. Lets call this one "All".
  4. Now make sure all features listed are checked off.
  5. Repeat and un-check features that you want to take away and rename the plan as you wish.

Creating a Package -- with example

Lets make a package that would be good for a artist that wants to host examples of their work on the site.

  1. Login to WHM, Web Hosting Manager, as listed in your welcome email.
  2. Go to Packages --> Add Packages.
  3. In the "New Package Name" type in: Artists
  4. Type in "1" (without quotes) in the FTP accounts field. If you think they'll need more then one additional FTP account, you may adjust this as desired. Usually, one FTP account is all that is needed.
  5. In the email accounts field, enter a good number, lets say 10.
  6. In email lists put in 1. If you think they'll want more, put in more. They can always use an email list for a newsletter or announcement list.
  7. As they'll likely use a gallery program that needs MySQL databases, entering 1 or 2 in the mysql databases field would be ideal.
  8. Subdomain are a good way to expand on a site's content and make sub sites, if you will. In this example, we will enter 5 into the subdomains field.
  9. Many customers now use multiple domains for one reason or another, so it is a great idea to offer several parked and pointed domains. Parked domains are aliases to the parent -- it shows the content that the domain is parked on. An add-on domain is for a different site with different content (thought it is still hosted in the same account).
  10. Un-check Shell access. It's best to only grant shell access on a account-by-account basis.
  11. Leave The CGI checked.
  12. Do you think they'll need FrontPage extensions? If so, check that box; otherwise, it is recommended to leave this un-checked (a client can install FrontPage Extensions directly from their control panel if needed).
  13. Quota, the first main resource of a hosting account. Quota is the amount of disk space that an account can use. Since this an artist's package and they will be hosting examples of their work, we would give them a good amount of disk space. We'll enter 2048 (2 GB) for the quota in this example. Don't worry about going over your own reseller account quota as you can oversell that (with careful planning).
  14. Bandwidth is the next main resource in a hosting account. Many accounts may happen to use a lot of bandwidth, while some may not use any at all. Let's give this artist package 15 GB of bandwidth. Type in "15360" into the field.
  15. RVskins are the best skins available and they can be customized quite a bit. So, let's pick "rvblue" in the theme list.
  16. Now select the default feature list. If you want to use a specific feature list already created, select that instead.
  17. Click "Add".

Congratulations, you have your first package! Now just repeat this process until you have a couple more packages. You don't want to make too many, but on the other hand you probably will need more than one.

Setting up Private Nameservers

With some of our reseller plans, you can use private nameservers. Setting up these private nameservers is, for the most part, an easy process. The following is a general how to set this up at your registrar.

  1. Locate your nameserver IPs from your welcome email. If you no longer have your welcome email or it does not list them, please contact us or do the following:
    1. Login to WHM
    2. Go to Edit DNS Zone --> Edit your main domain (the one you signed up with.)
    3. Find the entry "ns" (usually at the top).
    4. In the last field of the "ns" entry will be the ns1.yourdomain.tld for example. Remember what the value is.
    5. Find the "A" entry for the "ns" value (ns1)
    6. Copy the IP address (xxx.xxx.xxx.xxx).
  2. Now go to your registrar and find their "Register nameserver", "Host summary", or "Nameserver setup". This section is called differently depending on the registrar, however, their all requesting the same information: Nameserver and IP.
    1. GoDaddy Directions
    2. Enom Directions
  3. Save the nameserver and you're set. Wait up to 24 hours for the changes to complete before using them.
Notes 
You can have the actual domain (domain.tld) hosted else where as long as the nameserver is pointed at the nameservers here. The steps for doing that setup would be the same except that you'll need to add the nameservers to the domain's DNS zone at the other nameservers.

Accepting Payments

Reseller accounts are for making money, right? Right, so you will need to accept payment one way or another. There are a variety of ways to do this and we'll discuss this here.

Merchant accounts allow you to accept payments using a gateway and they deposit the funds directly to your account. There are many out there and the following is a short list with some information:

Authorize.net  
A gateway for merchant accounts that accepts all major credit cards (VISA, MasterCard, American Express, Discover). This is a very common gateway for hosts and most billing systems have modules to access their systems. All transactions are done directly in the billing system and aren't redirected out to a third party. SSL certificates are strongly recommended and some card associations require them
2Checkout 
Provides a gateway type interface, however, they require you to state that you are using them and they also direct customers to their forms.
WorldPay 
WorldPay is primarily more of an international provider of merchant accounts. They offer a variety of payment methods, however, their services tend to be a little more expensive then others. They also require a redirect to payment pages.
PayPal 
Allows customers to send money to you via their personal PayPal accounts. PayPal does direct to it's own form, but can be set to return to your site once the transaction is completed.

Selling Domains

So you want to sell domains, and you think only a big company can do it? Nah, it's easy -- and many billing systems are already designed to help manage domain registration services for you.

Domain Reseller accounts

There are a several companies that you can use to do domain reselling through. Here is a list and description of them as well as if they are supported within Clientexec:

eNom 
eNom is one of the most popular domain reseller providers in the industry. They provided generic pages for nearly everything and a simple domain management interface for your customers. Most billing systems support registration through your own billing system and some even offer domain management services such as changing WHOIS details and DNS settings. They also brand the WHOIS page to show your company name. The drawback is that eNom requires you to deposit at least $100.00 each time you want to add funds to your reseller account. Also, unless you are able to obtain a particular type of account from an existing eNom reseller, they'll charge you $195 to sign up as a reseller (at time of writing).
Directi / ResellerClub 
Directi is another domain reseller provider that is pre-configured in many billing systems.

(Both eNom and Directi integration is enabled in the default installation of ClientExec)

Regular domain accounts

You could, of course, use a regular account at any domain registrar and manage billing for customers by hand. Domain reseller accounts are easier to use and provide you with a better control over the domains you manage, and can usually be integrated easily into your existing billing system.

ClientExec

Most of our reseller accounts come with a ClientExec license. ClientExec allows you to manage client invoices, billing, and more.

Before installing ClientExec you must have a License assigned to your domain name. The issued license is domain specific and so domains or sub domains other than the primary domain name you used to sign up for your account will produce a license error. Please contact our Sales department to have a license issued to your domain before proceeding with the installation.

Important! -- Please keep in mind that to access your ClientExec, you need to use your primary domain name with or without the www. subdomain. Your IP address, a subdomain or alternative domain name hosted within your account will not work!

Install ClientExec

Installing ClientExec is pretty straightforward.

  1. Download the latest ClientExec files from our website.
  2. Upload the zip to your main account's public_html or to the directory that houses the domain that we on file as your reseller domain.
  3. Go to the file manager in CPanel and find the zip file.
  4. Click the zip file's icon.
  5. Select decompress in the right frame.
  6. Change the name of the directory to something you want, like "billing" or "clients".
  7. Now, go to http://Your_Domain.tld/clients/install.php
    1. Select New install in the first option.
    2. Enter your database information on the next screen.
      1. If you don't have the database information yet, go in to CPanel and create the database, and a user for that MySQL database.
      2. You'll want to use "localhost" for the server name.
    3. Go to the next screen and put in your email and password.
  8. You'll be prompted for the license. You can find it at the help center. Make sure to copy and paste as it exactly appears.
    1. If Clientexec says the license is invalid, make sure the license matches exactly. If the license is below the "-----BEGIN CLIENTEXEC LICENSE-----" line, move it to the same line or if it's on the same line move it down.
    2. If your domain is not pointing at one of our servers, it may give the license is invalid error.
  9. You are done! If you have issues or want to use a different domain, please contact us.

Setting Up ClientExec

In this section we'll discuss setting up ClientExec to talk to the server for account creation/modification/deletion, fraud detection, and other activities.

Configure Server Connections

Let's first start by setting up the server connection as further steps will require this information.

  1. Login to ClientExec.
  2. Go to Admin --> Servers
  3. Click Add New Server.
  4. Enter the server name (just the name and not the domain will do.) You can find the name in WHM --> Server Information --> System Information. It'll be the subdomain in the domain you see.
  5. Enter the hostname in host name field. This will be the complete subdoamin and domain as shown in WHM --> Server Information --> System Information.
  6. Enter the shared IP as given to you in the welcome email
  7. Complete the server stats and viewable by customer sections if you wish.
  8. Input the first nameserver (once you save this step, you'll be able to enter the second nameserver).
  9. Select CPanel as the plugin.
  10. Put in your WHM username in the username field
  11. Put in the number of domains/accounts you want this server to handle.
  12. Put in the access hash key.
    1. The access hash key can be found in WHM --> Cluster/Remote Access --> Setup Remote Access Key.
  13. Select the actions you want ClientExec to perform. We recommend choosing all of them at first.
  14. Now click Add New Server.
  15. Now you'll want to add the second nameserver by following the process for entering the first nameserver.
  16. You are done. Repeat for any other reseller accounts you have with us, even if they are on the same server.

Setting Up Packages and plans for Ordering

So, now you have the server connection setup and you already did the plan setup on the server. Great, lets get some orders now.

  1. Login to Clientexec
  2. Go to Admin --> Package types
  3. Change the default name if you wish and set the domain options to yes if you want to sell domains with this package.
    Packages 
    Packages types are a group of plans/packages, shared hosting, reseller, dedicated, etc. You can do multiple packages for different services you want to offer.
  4. Select the domain options you want to have, such as registration, transfer, and self manage (meaning they can use any registrar they want.) Having all three is best.
  5. Put a description in that says what this package is for.
  6. Put in a default ClientExec Welcome Emails
  7. Create the packages (or plans) for this package type by clicking the "Add new package" button at the bottom of the page.
  8. Now, put in the price for the base package -- remember 0.00 is considered free
  9. Put in a package description next -- it's best to be detailed but yet not to have a lot of content also HTML is acceptable, so perhaps use a list of features.
  10. Select the server or servers you want this package to be assigned to -- if you do multiple servers ClientExec will create the accounts in a round-robin.
  11. Input the plan name as shown in WHM -- NOTE: The name needs to be exactly what is shown in WHM, right down to the case and reseller username (reseller_packageName)
    1. Don't use the reseller account checkbox
  12. Save by clicking "Update this package"

ClientExec Welcome Emails

  1. Welcome emails are important and you want to put as much starter information as possible. The following is an example of the important information. Items surrended by "[" and "]" are dynamic items that are filled in by Clientexec at the time the email is sent.
================
          IMPORTANT DO NOT LOSE THIS EMAIL
================
 Dear [CLIENTNAME],

Thank you for choosing [COMPANYNAME] for your hosting needs.  The following information 
will provide you with specifics on your account.  It's important to save this email so 
that you can refer to it in the future.

--------------------
Hosting Account Information (CPanel)
--------------------
[ACCOUNTINFORMATION]

Login to the hosting account at: https://[SERVERHOSTNAME]:2083/

--------------------
Billing Account / Client Area
--------------------
Login:  [CLIENTEMAIL]
Password:  [DOMAINPASSWORD]
URL:  [CLIENTAPPLICATIONURL]

--------------------
[[FTP]] Information
--------------------
FTP Host: ftp.[DOMAINNAME] or [SERVERHOSTNAME]
FTP User: [DOMAINUSERNAME]
FTP Password: [DOMAINPASSWORD] -- Change the password within your control panel for security.

You'll want to upload all your web files to the "public_html" directory.

--------------------
[[DNS]] Information
--------------------
If you didn't register or transfer your domain with us, please change the DNS settings 
are your register to the following:

[NAMESERVERSANDIPS]

([[IP]]s are required by some registrars, however, please use the domain style otherwise.)

Please allow up to 72 hours for complete DNS propagations. 

Until DNS propagates completely, you can use http://[SERVERHOSTNAME]/~[DOMAINUSERNAME]/ 
to view your site. 

--------------------
Mail Settings
--------------------
Incoming mail ([[POP3]]/[[IMAP]]): mail.[DOMAINNAME]
Outgoing mail ([[SMTP]]): mail.[DOMAINNAME]
 
 ------
  [[Ports]]
 ------
POP3: 110 (Standard Port)
POP3 With SSL: 995
IMAP: 143 (Standard Port)
IMAP With SSL: 993
SMTP: 25 (Standard Port)  (Supports [[SSL]]/[[TLS]])
Alernate SMTP: 2525 (Supports SSL/TLS)

--------------------
Script Settings
--------------------
[[MySQL]] should use "[[localhost]]" for the database server/host.

Web root: /home/[DOMAINUSERNAME]/public_html/
[[CGI]] Path: /home/[DOMAINUSERNAME]/public_html/cgi-bin/
[[Perl]]: /usr/bin/perl
[[Sendmail]]: /usr/sbin/sendmail
   Please ensure to have your scripts [[Category:Security|secure]] so that spammers can not abuse them.

--------------------
Support and Billing
--------------------
Support Center:  [CLIENTAPPLICATIONURL] or via email at [SUPPORTEMAIL]
Billing: [CLIENTAPPLICATIONURL]

Once again, thank you for choosing [COMPANYNAME] and please let us know if you need 
any help by emailing us at [SUPPORTEMAIL].

With Regards,
    [COMPANYNAME]

Adding Special Packages

So, you want to sell a special package or perhaps extra domains? It's a little tricky, but it can be done. This section will detail how to do it.

Adding New Package Type

  1. Login to your clientexec install
  2. Go to Package Types
  3. Click "create package type"
  4. Type in "Special" (for example) as the package name and "Special" as the friendly name
  5. Put in a description. For example, "This type is for ..."
  6. Put in a welcome email.
  7. Save the new package type by click the "Add New Package Type" button

Adding New Package

  1. Now create a new package for the this special item. If this is for domains, just set the prices to 0.00 as the TLD prices should charge.
  2. You're done with the billing side and will have to complete any other actions.

Related: Setting Up Packages and plans for Ordering

Add-ons

You can assign each package (or plan if you will) an add-on. Lets say you want to sell more bandwidth or another resource without actually changing the plan. Clientexec can bill and change the resource for you.

  1. Login to Clientexec
  2. Go to Admin --> Package Types --> The package type you want to work with --> The package you want to work with
  3. Find "Package Add-ons" and click "Add New"
  4. Type in a description, for this example lets use "Disk Space"
  5. Put in "10" for the plugin value. That will be 10 MB for this example.
  6. Keep adding more rows for more and more space values
  7. Repeat for any other add-ons you want to do.

Setup Payment Methods

Now that you have your payment method set, you'll need to configure ClientExec to use it. The following will discuss how to setup Authorize.net's, PayPal, and 2Checkout's modules.

Authorize.net

  1. Login to Authorize.net's systems.
  2. Go to Account --> Settings --> API Login ID and Transaction Key
  3. Create a new transaction key (a password of sorts) and copy and save for later use.
  4. Copy and save the API login user.
  5. Go to Account --> Settings --> MD5-Hash
  6. Input your MD5 hash here.
    1. Don't have a MD5 hash? No problem, use this php code:
      <?php
          md5
      ("the brown cat jumped over the lazy dog");
      ?>
    2. Copy the above and save to a file called md5.php and upload to your web space. Visit the file in your browser like you would any other web page and copy the text that is shown and save for later use.
  7. Login to ClientExec.
  8. Go to Admin --> Plugins --> 3rd party billing.
  9. Scroll down to Authorize.Net and enable it by Checking the Yes radio button.
  10. Input your API username that you copied earlier to the "Authorize.Net Username" field.
  11. Input your API Transaction key that you copied earlier to the "Authorize.Net Transaction Key" field.
  12. Input your MD5 hash to "MD5 Hash Value" field.
Though the MD5 isn't required, it's highly recommended to use.
  1. Keep Demo Mode enabled.
  2. Enable the card types that you're able and want to process. Typically, you can process all four major types.
  3. Change the sign-up name to anything you want or keep it as Credit Card.
  4. Click "Update Settings" at the bottom of that page.
  5. Congrats! Now, you can take payments!
Make sure to disable Demo mode once you're ready

PayPal

  1. Login to ClientExec.
  2. Go to Admin --> Plugins --> 3rd Party Billing
  3. Find Paypal's module and Check the "Yes" radio button
  4. Input your Paypal username in the "User ID" field
  5. Change the "Signup Name" name to "Paypal" if you're using other methods.
  6. Leave Sandbox off
  7. Sometimes customers forget about payments, so if you want to force them to use a subscription, enable "Force customers to use PayPal subscriptions". They'll have the choice to use them otherwise.
  8. Copy the "Callback URL" and save for later use.
  9. Save using the "Update Settings" button at the bottom of the page

Please take a look at this link before you proceed below

The section below might be for Premier or Business Paypal account holders. This option is not there for Personal Paypal accounts.

  1. Login to PayPal.
  2. Go to Profile --> Instant Payment Notification Preferences
  3. Click "Edit" button
  4. Check the checkbox that describes the feature
  5. Input the "Callback URL" that you saved earlier
  6. Save
  7. Done. Good work!

2Checkout - TBD

Setup eNom (Domain registration/transfer/edit) module

In this section we'll learn how to setup the common registrar modules for ClientExec.

  1. Login to ClientExec
  2. Go to Admin --> Plugins --> Registrars
  3. Check the "Yes" radio button to enable the module
  4. Check the "No" radio button for the test mode
  5. Input your username and password for eNom
  6. Save via the "Update Settings" button at the bottom of the page.
  7. Make sure the packages you want to offer domains in have "Show Domain Options" set to "Yes"

Setup TLD Prices

  1. Go to Admin --> tld extensions to set the domain TLDs you want to sell
  2. Enter the TLD (com, biz, net, etc) in the first field without the period
  3. Set the period the TLD should have by default. For some TLDs, a couple years is required for registration and you need to check with eNom on which this is required for.
  4. Set the prices you want to sell at
  5. Save by clicking the "Add New TLD" button.
  6. Repeat.

Control Panel URLs

There are a couple URLs that you'll use for the control panels.

SSL Protected Login

 ;Reseller Access : https://server.GenericResellerDomain.com/whm/
 ;Customer Access : https://server.GenericResellerDomain.com/cpanel/

Alternate SSL Logins

 ;Reseller Access : https://server.GenericResellerDomain.com:2087/
 ;Customer Access : https://server.GenericResellerDomain.com:2083/

Regular (None Secure) Logins

 ;Reseller Access : http://server.GenericResellerDomain.com/whm/
 ;Customer Access : http://server.GenericResellerDomain.com/cpanel/

Alternate (None Secure) Logins

 ;Reseller Access : http://server.GenericResellerDomain.com:2086/
 ;Customer Access : http://server.GenericResellerDomain.com:2082/

Notes

You can use any domain in place of "server.GenericResellerDomain.com", however, using SSL and another domain will cause a SSL error.
To locate the actual "server.GenericResellerDomain.com" login to WHM using your domain or shared IP in its place, and go to Server Information --> System Information. It will be the subdomain and domain. The subdomain is the server name.

SSH Access

Enable an account's SSH access

  1. Login to WHM
  2. Click "Modify an Account"
  3. Find the account you want to enable SSH on and click "Modify" button
  4. Check the "Shell Access" radio button and click "Save"

Disable an account's SSH access

  1. Login to WHM
  2. Click "Modify an Account"
  3. Find the account you want to enable SSH on and click "Modify" button
  4. Un-check the "Shell Access" radio button and click "Save"

Setup SSH keys

The process of setting up SSH keys is the same for all accounts. Please refer the "Setup SSH access with SSH keys -- No passwords for login" section of this wiki:

Image:Tag_red.png SSH

Personal tools