Submit a ticket My Tickets

Setup a Free Domain for Reseller in unHosting


Reseller free domains work like the free domain, but are specific to a particular reseller. They allow a reseller to maintain their own domain name branding while still using the unHosting server.


Reseller Setup Steps

  1. Setup your free domain to be managed by Amazon Web Service (AWS) Route53

    1. This can be the same AWS account you use to connect to unHosting, or a new dedicated account

  2. If using a different account from your unHosting AWS connection, create a new key and security information

  3. Provide the new credentials to Moodle US

  4. Purchase a wildcard certificate for the free domain (GoDaddy Wildcard certs are known to work, but any provider should work) 

    1. Note: The quality of the certificate can impact your domain security scores, higher quality certificates will provide higher scores

  5. Generate certificates

    1. GoDaddy Download type, Apache

  6. Securely provide Moodle US with certificates and AWS key and security

    1. Lastpass or placing via Secure Shell (SSH) onto one of your unHosting stacks are both good methods

Note: Let's Encrypt certificates are technically compatible, but only have validity for 3 months. We do not currently have automation for Let's Encrypt certificate renewals. We don't recommend using free domains at this time (additional fees would apply from Moodle US for manual certificate maintenance).


Free Domain Rules

  • There are multiple AWS profiles that are tied to userid.

  • In each profile you can have as many different domains as needed.

  • AWS profile name is unique for a user (one user can not have two profiles with the same name).

  • Domains are unique. Domains can be tied to only one profile.

  • Each profile has attribute encrypted. If set to 1 (true), it signals that AWS key and secret are encrypted using Laravel encryption facility.


unHosting Control Panel (UHCP) Internal Setup

The profiles and domains are managed through new Laravel Command uhcp:freedomain. 

Process is as follows: 

Note: Replace vessel for php or other appropriate executable for non-dev setups

  1. Enter the UHCP command line

  2. To add new profile execute:

    1. ./vessel art uhcp:freedomain add profile --awsprofile='route53' --awskey='foo' --awssecret='faa' --awsaccountid='1234' --userid=1

    2. Profile created through command line tool is always storing AWS key and secret encrypted for security reasons

  3. To add domain to that profile execute:

    1. ./vessel art uhcp:freedomain add domain --awsprofile='route53' --domain='' --userid=1 --zoneid='SOMEZONEID'

To list existing profiles for a user execute:

./vessel art uhcp:freedomain list profile --userid=1

Apart from defining profile and domain, it is also important to add a certificate for the domain. The process for that is outlined here.


To delete profile execute:

./vessel art uhcp:freedomain delete profile --awsprofile='route53' --userid=1

To delete domain execute:

./vessel art uhcp:freedomain delete domain --domain='' --userid=1

For other details: ./vessel art uhcp:freedomain --help

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.