Reseller Hosting – Reseller Customisation Questions
How do I set my custom webmail URL?
By default, customers can access webmail using our white-labelled brand, stackmail.com. However, if you are a reseller hosting customer you might like to set your own branded webmail URL that your customer see your brand when they use webmail.
Choose the domain for your custom webmail URL:
First you need to choose one of your domain names to be used as your custom webmail URL.
First, head to Reseller Preferences > StackCP Settings. Locate the section called Webmail Domain and using the dropdown menu select the domain you'd like to use.
This may be your primary business URL, in which case you'd enter a subdomain where customers can go to access webmail, this may be something like webmail, or email.
If your domain is example.com and you choose email as your subdomain, the custom webmail URL for your customers would be email.example.com
Please tick the ‘Use HTTPS’ box that your webmail URL is encrypted. To use this you need to have an active SSL certificate. If you do not have SSL activated, here is how to activate your free SSL certificate.
Note: If you'd like to use a new or separate domain just for webmail i.e., my-branded-webmail.com, you can select your domain name and then just enter www as the subdomain.
Select Save to set your webmail URL.
Now your customers can use this custom URL to log in and use webmail.
Only your chosen URL will be seen by your customers when they log in. This is just one of the white-label options we offer our reseller hosting customers.
If you have customised the webmail URL you probably want also customise the webmail login page.
Block search engines from indexing your control panel
You can easily prevent search engines from indexing StackCP - your customers' control panel - login page through Reseller Customisation.
Head to Reseller Preferences > Your Band and locate the section entitled Control Panel URLs. Select the checkbox labelled Block search engines indexing control panel. We'll automatically create a robots.txt to ensure that search engines are discouraged from indexing your control panel URL.
How can I set a custom status page for my reseller brand?
Should anything occur on the hosting that could lead to potential issues, such as upcoming maintenance or an issue that could be causing service downtime, it’s important to ensure that your clients are kept informed.
We provide a status page called StackStatus (https://www.stackstatus.com/) which reports all ongoing incidents and scheduled maintenance. You can configure StackStatus to show on a custom subdomain to maintain consistency with your own brand.
To do this you can:
- Set a custom domain and subdomain to display the StackStatus page.
- Add custom CSS to brand the UI of the StackStatus page.
Setting Your Status Page Domain
- Head to StackCP Settings.
- Locate the Status Page Domain section.
- Choose your status page domain and a subdomain.
Please note, we'd highly recommend using a new domain name for your status page which you can route through an external DNS such as Cloudflare by pointing the nameservers to them. This ensures that your status page is redundant from 20i's own DNS. So if we experience internal issues, this ensures your status page will remain live.
As an example, you could choose something like example-status.com as the domain name, and then type www as the subdomain.
Adding DNS Records Manually
You need to ensure that you've added the correct CNAME so your custom status page works. This simply needs to be a CNAME from your custom status hostname to stackstatus.com.
Note: As an example, you could choose something like example-status.com as the domain name, and then type www as the subdomain.
Custom DNS at Cloudflare
Log in to your Cloudflare account and select DNS, then add the CNAME record as show below, or for your chosen hostname.
Custom DNS at 20i
Head to Manage Hosting > Options > Edit > DNS, then add the CNAME record as shown below, or for your chosen hostname.
You should then be able to head to your custom status hostname (i.e., www.example-status.com), which will then display your status page. You may need to wait a bit longer for DNS to propagate if you can't see this straight away.
You can then brand your status page!
Branding Your Custom Status Page
To add custom CSS to your status page, head to StackCP Appearance and locate the Status Page section. You'll see you have the options to make changes to the header, footer, and the CSS.
How to Create Custom Icons in StackCP
As a reseller, you might have external tools, web builders, or systems outside of the 20i platform that are integral to your workflow or your customers' operations.
To streamline access to these external resources, you can enhance your StackCP control panel by adding custom icons that link directly to those external services.
This allows you to provide easy access to third-party platforms, making the user experience more seamless and keeping everything important in one place.
Whether you want to link to external website builders, content management systems, or other tools, this guide will show you how to add these custom icons to your StackCP interface.
In this guide, we’ll show you how to add custom icons to StackCP by inserting a JavaScript code snippet into the Analytics Tracking Code section, located in StackCP Settings. While this section is typically used for Google Analytics tracking, you can also insert JavaScript code to customize your StackCP.
Step-by-Step Instructions:
Navigate to StackCP Settings:
- Log in to my.20i.com.
- Select Manage Reseller from the left-hand menu.
- Click StackCP Settings.
- Scroll down to the Analytics Tracking Code section.
Insert the Custom JavaScript Code:
Paste the following code into the Analytics Tracking Code section. This example will add a new custom icon to a specific section of StackCP.
<script>
const checkForElement = setInterval(function() {
// Find all elements with the specific heading class
document.querySelectorAll('h5.mb-0.float-left').forEach(function(heading) {
// Check if the heading text matches the desired section (e.g., 'Web Files', 'CDN', etc.)
if (heading.textContent.trim() === 'Your Section Name') {
// Stop checking once the element is found
clearInterval(checkForElement);
// Find the icon container within the corresponding section
const iconContainer = heading.closest('.card').querySelector('.icon-results');
// Create a new div element for the custom icon
const newIconDiv = document.createElement('div');
newIconDiv.className = 'col-4 col-sm-3 col-md-3 col-lg-3 col-xl-2 text-center col-icon';
// Create the link element for the custom icon
const newIconLink = document.createElement('a');
newIconLink.href = 'https://example.com'; // Replace with your custom link
newIconLink.target = '_blank'; // Open the link in a new tab
newIconLink.className = 'icon-grid-nav__link';
newIconLink.setAttribute('data-toggle', 'tooltip');
newIconLink.setAttribute('data-placement', 'top');
newIconLink.title = 'Your Tooltip Text'; // Set the tooltip text for the icon
// Create a container for the image element
const imageContainer = document.createElement('div');
imageContainer.className = 'image-container';
// Create the image element for the icon
const newIconImg = document.createElement('img');
newIconImg.src = '/path/to/your/icon.svg'; // Replace with the path to your custom icon image
newIconImg.alt = 'Your Tooltip Text';
newIconImg.className = 'img-fluid icon-grid-nav__icon';
// Append the image to the image container
imageContainer.appendChild(newIconImg);
// Create the text label for the icon
const iconText = document.createElement('span');
iconText.className = 'icon-grid-nav__text';
iconText.textContent = 'Your Link Text'; // Set the label text for the icon
// Append the image container and text label to the link
newIconLink.appendChild(imageContainer);
newIconLink.appendChild(iconText);
// Add the new icon link to the icon container in the section
iconContainer.appendChild(newIconDiv);
}
});
}, 1000); // Check every second until the section is found
</script>
Customizing the Code:
To tailor this code to your specific needs, you’ll need to modify the following:
Section Title: In the line if (heading.textContent.trim() === 'Your Section Name')
, you can change 'Your Section Name'
to match the StackCP section where you want the custom icon to appear. Valid section names include:
'CDN'
'Web Files'
'Web Tools'
'Email'
'Domain Names'
'Security'
'Logs & Stats'
'One-Click Installs'
Link URL: Inside newIconLink.href = 'https://example.com';
, replace https://example.com
with the URL you want the new icon to link to.
Tooltip Title: Modify 'Your Link'
in newIconLink.title = 'Your Link';
to display the appropriate tooltip text when users hover over the icon.
Image Path: Replace /path/to/your/icon.svg
with the file path to the custom icon you want to use. You can upload your icon to a website's filespace on a 20i hosting package, or use a link from an external resource.
Icon Label Text: Change 'Your Link'
in iconText.textContent = 'Your Link';
to update the label text beneath the icon.
Important Notes:
- This JavaScript code will run every second until it finds the correct StackCP section (e.g., "Web Files"). Once it finds the section, it will stop running and inject the custom icon.
- If you have multiple sections to customize, you can duplicate the code and adjust each section’s title, link, and icon as needed.
How do I brand and customise StackCP's login page?
If you're looking to customise your StackCP login page you can do this by editing the Custom CSS.
To do this you will need to:
- Log in to My20i.
- Locate StackCP Appearance under the Reseller Preferences section.
- Scroll to Custom Styling and you will see the input field for Custom CSS, Custom Header and Customer Footer.
To preview your brand, select Preview Your Brand.
How do I secure my brand URLs?
From Your Brand and StackCP Settings, you're able to set which URLs you'd like your customers to use to access their various services. For example, their control panel, webmail or file manager.
Whichever domain you choose - or if you choose all domains - you'll need to make sure it's assigned to a hosting package and that the free SSL has been applied.
If the domain doesn't have a hosting package assigned to it:
- Head to Add Hosting Package and create a package for the domain.
- Apply the free SSL.
We'll add the correct DNS automatically for you and your brand URLs will load securely.
:bulb: Take your branding further with Virtual Nameservers.
Unlike traditional custom nameservers, our virtual nameservers are hosted with Google's Cloud DNS infrastructure which means they're ultra-scalable and reliable.
DNS infrastructure is the backbone of a high-performance web hosting company, so we wanted to be able to allow our Resellers to offer the same using virtual nameservers. The benefit of virtual nameservers means you can brand and have your very own Google Cloud DNS nameservers and market it as such to your own customers, giving you a unique advantage over traditional custom nameservers. View Virtual Nameservers.
How do I receive a copy of the mail quota emails sent to my customers?
If you'd like to receive a copy (via Bcc) of the emails sent to your customers warning them that they're approaching their mailbox quota, you can opt into these by heading to Reseller Preferences > Reseller Customisations.
Locate the section entitled Customer Email Options and select the checkbox to Bcc your My20i account email address into those emails. Your 20i email address will be added as a Bcc address to emails sent to your StackCP Users about their mailbox usage. It will allow you to monitor and potentially upsell customers a mailbox upgrade.
Can I CC in an email address to StackCP User mail usage emails?
Emails can be sent out to your StackCP Users warning them when they get close to hitting their mailbox quota. You can CC in a sales or business email address so that if a customer wishes to upgrade it's easy for them to know who to contact.
You can set this up by heading to Reseller Preferences > Reseller Customisation. Locate the section entitled Customer Email Options and add the address you'd like to appear to be CC'd into the Mail Quota CC Email Address field, this will usually be something like a sales@ mailbox. Once saved, mail usage emails will contain the CC'd in email address for your customers convenience.
Getting Started with Virtual Nameservers
This guide will go through the process of setting up virtual nameservers. Before following these steps you'll need to ensure that you have purchased virtual nameservers. This can be done by logging into your 20i account, hovering over Manage Services on the left-hand side of the control panel and clicking Order Virtual Nameservers.
You will also need to register or transfer a domain name into your 20i account and ensure that it’s using our nameservers. It's not possible to use a domain name that is registered elsewhere as your virtual nameservers. This is required due to the changes made to the domain and DNS to allow the Virtual Nameservers to work correctly.
Once you have a domain and have purchased Virtual Nameservers, you can set these up by hovering over Manage Reseller on the lefthand side of the control panel and clicking Manage Virtual Nameservers. This will show a page like this:
On this page, you can select the domain you wish to use in the dropdown box and then click the Configure Virtual Nameservers button to set nameservers to use that domain.
Once the domain has been set the page will update to look like this:
Once these have been set then the required changes will be made on our side for these nameservers to begin working. You will be able to update the nameservers on any domains to use these new nameservers and DNS will still be managed as normal within your 20i account.