How To Remove a Domain from our Email Hosting Service

Our email hosting service takes the pain out of setting up email within a VPS.  You get your own space, separate from your VPS to do simple tasks like setting up a domain to have email.  If you haven’t already explored the features of our Premium Business Email, we offer robust services like Microsoft Exchange that over up to 1TB worth of space!  Alternatively, if you are looking for something smaller, our Standard and Plus mail service may fit your needs with 25 GB worth of space. Check out how straightforward it is to delete a domain from our user-friendly control panel.

To remove a domain from your Premium Business Email hosting service, log in to your Liquid Web control panel.  If you have never logged into the Liquid Web control panel, you can follow our article to learn how!

Deleting a Domain from our Email Hosting

Note:
Performing this action deletes your data permanently. However, the email system retains your mailbox information on the servers for 14 days after permanent deletion. Should you need to recover your deleted mailboxes? Contact our support team to assist with recovery of deleted mailboxes.

1. Log into your Liquid Web control panel.  From the main overview screen, click on the Domains tab on the left-hand side. You will be taken to the Domains Dashboard window, now click on the Email tab.
Domains and Email Hosting Tab in manage.liquidweb.com

2. On the Email Domains Dashboard, find the domain that you want to delete and click on the three dots to the right hand side of the screen. Once you click the three dots, you will be prompted with a Remove Email Service button.
Mail Hosting: Removing Email Domain
3.After you click on the Remove Email Service button you will be presented with window that will ask you to verify that you do indeed wish to delete the email domain from our Premium Business Email service. For confirmation you will need to type in the email domain, once entered, the Delete all Mailboxes and Messages button will light red.
Email Hosting: Domain Name to Delete

There you have it! Effortlessly remove and add a domain within your control panel, it’ s everything you need to be an email admin, all located in one spot.  Check out our affordable options and find out why more people are switching to Premium Business Email.

 

How to Configure Apache 2 to Control Browser Caching

Today we are configuring browser caching control on common Apache 2 servers. Caching is a great tool to reduce server resource consumption, bandwidth utilization and provide a faster end-user experience to visitors. To get familiar with caching concepts, simply review our ‘What is Caching?’ tutorial.

Pre-Flight Check

This article covers all Apache 2 servers running the mod_expires and mod_headers Apache modules. This includes, but is not limited to, both traditional Dedicated servers and Cloud VPS servers running a number of different Linux distributions:

  • Core-managed CentOS 7* Servers
  • Core-managed CentOS 6* Servers
  • Fully-managed CentOS 7 cPanel Servers
  • Fully-managed CentOS 6 cPanel Servers
  • Fully-managed CentOS 7 Plesk Onyx 17 Linux Servers
Note:
Self-managed servers running a similar Linux distribution can take advantage of this article. However, instructions are not specifically provided for Self-managed configurations.

The article assumes familiarity with the following basic system administration concepts:

Verify Modules

Our servers generally include both the mod_expires and mod_headers modules needed for browser cache control. However, before we configure the directives, we must first ensure the modules are installed and Apache 2 is ready to accept the directives. Verification is simple. We will be using the apachectl -M command to list the installed Apache modules while piping the output through the grep module_name command to filter the results down to showing only modules with the provided module_name, likes so:

Verifying mod_headers (also known as Headers_module) by copying & pasting the following command.

apachectl -M | grep header

… will return:

headers_module (shared)

Verifying mod_expires (also known as expires module) by copying and pasting the following command.

apachectl -M | grep expires

… will return:

expires_module (shared)

These modules must be present in the output when running the command. If they do not show up in the output, it will simply be blank, which indicates the modules are not installed. If the modules are missing then we will need to install them before we can continue.

Configuration Directives

We can use the following example of a generic configuration that serves to reduce the strain on server resources by prolonging the cache duration of common static files. These types of files typically do not change between visits. So they do not need to be downloaded on every visit. Modern browsers are equipped to accept instructions from web servers that provide suggestions for how long content should be cached. This example works well for most sites. However, you may need to add/remove file types or adjust lifespan as needed for your particular content.

<IfModule mod_expires.c>
# Turn on the module.
ExpiresActive on
# Set the default expiry times.
ExpiresDefault "access plus 2 days"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType text/css "now plus 1 month"
ExpiresByType image/ico "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType text/html "access plus 600 seconds"
</IfModule>

Explanation of Each Directive

These are opening tags and will only process directives between these if the module, mod_expires, is installed on the server.

<IfModule mod_expires.c> ... </IfModule>

Download all files only if the cached has not been accessed in more than 2 days.

ExpiresDefault "access plus 2 days"
Download files only if the cached file has not been access in more than 1 month. This covers jpg, jpeg, gif, png, css, javascript, flash, ico and x-icon file types.

ExpiresDefault "access plus 2 days"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType text/css "now plus 1 month"
ExpiresByType image/ico "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"

Download files only if the cached copy hasn’t been accessed in 10 minutes.

ExpiresByType text/html "access plus 600 seconds"

You can find a more robust explanation of these directives and all that expires_module offers in the Apache mod_expires Online Docs.

Implementation

Now that we have an understanding of how these directives can be configured, we need to decide on our method of implementation. There are generally two method of implementation for these directives. We classify these as either Portable or Include Methods.

Portable Method

The Portable Method uses .htaccess files to manage which directories are affected by the mod_expires configuration we are settings. These are handled like any other .htaccess file changes.

  1. SSH/FTP to the server
  2. Locate the directory which needs browser caching enabled.
  3. Modify the .htaccess file in that directory or create one if there is not one already.
  4. Add the needed directives from the Configuration Directives section above.
  5. Save the changes to the file.
  6. Done.

There is a small bottleneck caveat associated with .htaccess files. This caveat is not specific to mod_expires and is an overall Apache caveat with .htaccess files in general. In order for .htaccess files to work, Apache must scan every directory leading up to a targeted file looking for and applying any .htaccess files it finds along the way. This can create an I/O bottleneck on some server configurations. We recommend using the Include Method on all Cloud VPS Servers to avoid this type of problem.

Include Method

In contrast to the Portable Method, the Include Method takes advantage of the Apache include system. Apache only reads include files at startup so this prevents the I/O Bottleneck discussed above in the Portable Method section.

There are generally two ways to use the Include Method: Globally or Per Website. Either method requires locating and modifying the correct include files on the server. The correct files to modify is dependent on both distribution and server management software. We will discuss the correct locations for both methods on the various Liquid Web CentOS servers we support and listed in the Pre-Flight Check section above.

Global Includes

Applying the mod_expires directives globally is straight forward. It will have the effect of enabling the desired directives over the entire server, affecting every site running through Apache.

Core-managed CentOS 6 & 7 Servers

1.  Create a file named expires.conf in /etc/httpd/conf.d/ by typing in the following command:

vim /etc/httpd/conf.d/expire.conf

2. Add the necessary directives to the file and save the changes.
File should look like the following:

<IfModule mod_expires.c>
# Turn on the module.
ExpiresActive on
# Set the default expiry times.
ExpiresDefault "access plus 2 days"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType text/css "now plus 1 month"
ExpiresByType image/ico "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType text/html "access plus 600 seconds"
</IfModule>

3.  To finish, reload Apache for the server to see the changes:

Service httpd reload

Fully-managed CentOS 6 & 7 cPanel Servers

1. Create file name pre_virtualhost_global.conf  in /usr/local/apache/conf/includes/ if it does not already exist.

vim /usr/local/apache/conf/includes/pre_virtualhost_global.conf

2.  Add the necessary directives to the bottom of the  file and save the changes.
Your file may contain additional directives in this file, but the bottom should look like this:

<IfModule mod_expires.c>
# Turn on the module.
ExpiresActive on
# Set the default expiry times.
ExpiresDefault "access plus 2 days"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType text/css "now plus 1 month"
ExpiresByType image/ico "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType text/html "access plus 600 seconds"
</IfModule>

3.  Restart Apache Service:

/scripts/restartsrv_apache

If Running EasyApache 4: Restart Apache PHP-FPM Service

/scripts/restartsrv_apache_php_fpm

Fully-managed CentOS 7 Plesk Onyx 17 Linux Servers

1. Create file name expires.conf in /etc/httpd/conf.d/

vim /etc/httpd/conf.d/expire.conf

2.Add the necessary directives to the file and save the changes.
The file should look like the following:

<IfModule mod_expires.c>
# Turn on the module.
ExpiresActive on
# Set the default expiry times.
ExpiresDefault "access plus 2 days"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType text/css "now plus 1 month"
ExpiresByType image/ico "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType text/html "access plus 600 seconds"
</IfModule>

3.  Restart Apache Service:

Service httpd restart

Per Website Includes

We can also use Apache includes on a per virtual host level to enable browser caching on an individual website basis. We’ll go over how to configure these on our CentOS systems below.

Note:
Each website has two virtual hosts, one for HTTP (port 80) connections and another for HTTPS (port 443) connections. Each virtual host is independent of one another. Adding a change to the HTTP virtual host will not automatically apply to the HTTPS virtual host and vice versa.
Core-managed CentOS 6 & 7 Servers

The exact method of site management on Core-managed servers is left up to the server owner. This can vary dramatically depending on the person. We will use the default SSL site configuration file as an example on how to configure the Per Website includes for browser caching. Once you locate the necessary site’s configuration file, follow these steps:

1. Locate and Open the configuration file for the site being modified. 

vim /etc/httpd/conf.d/ssl.conf

2.  Locate the Virtual Host line for the site within its config file.  A Virtual Host Stanza looks like the following example:

<VirtualHost _default_:443>

</VirtualHost

3. Apply the needed mod_expires directives between the virtual host lines.
The results should look similar to the following example:

<VirtualHost _default_:443>

   <IfModule mod_expires.c>
   # Turn on the module.
   ExpiresActive on
   # Set the default expiry times.
   ExpiresDefault "access plus 2 days"
   ExpiresByType image/jpg "access plus 1 month"
   ExpiresByType image/gif "access plus 1 month"
   ExpiresByType image/jpeg "access plus 1 month"
   ExpiresByType image/png "access plus 1 month"
   ExpiresByType text/javascript "access plus 1 month"
   ExpiresByType application/javascript "access plus 1 month"
   ExpiresByType application/x-shockwave-flash "access plus 1 month"
   ExpiresByType text/css "now plus 1 month"
   ExpiresByType image/ico "access plus 1 month"
   ExpiresByType image/x-icon "access plus 1 month"
   ExpiresByType text/html "access plus 600 seconds"
   </IfModule>

</VirtualHost>

4. Restart Apache Service

Service httpd restart

Fully-managed CentOS 6 & 7 cPanel Servers

cPanel provides a rich template system that can be used to modify Apache behavior as needed. There is a specific directory structure needed to ensure our modifications persist through updates, upgrades and restarts. This system works the same way on both EasyApache 3 as well as EasyApache 4 systems.

 

Each site can handle its own set of custom include files. These need to be located in the following locations:


HTTP Virtual Hosts:
/etc/apache2/conf.d/userdata/std/2_4/<USER>/<DOMAIN>/<INCLUDENAME>.conf


HTTPS Virtual Hosts:
/etc/apache2/conf.d/userdata/ssl/2_4/<USER>/<DOMAIN>/<INCLUDENAME>.conf

There are three variables in the path above that need to be reconciled:

  • <USER> replaced by the necessary accounts username.
  • <DOMAIN> replaced by the fully qualified domain.tld name of the site. (minus the www. prefix)
  • <INCLUDENAME> replace by the name of the include file. This should reflect the include’s purpose. E.G. expires.conf

1. These directories do not exists by default and will need to be created. Once you know the details this can be done easily with the mkdir -p command like so:

HTTP Virtual Host:

mkdir -p /etc/apache2/conf.d/userdata/std/2_4/myuser/example.com/

HTTPS Virtual Host:

mkdir -p /etc/apache2/conf.d/userdata/ssl/2_4/myuser/example.com/

2. After the directories are created, we can now create our include files, calling it expires.conf.
HTTP Virtual Host:

vim /etc/apache2/conf.d/userdata/std/2_4/myuser/example.com/expires.conf

HTTPS Virtual Host:
vim /etc/apache2/conf.d/userdata/ssl/2_4/myuser/example.com/expires.conf

3. Add the necessary mod_expires directives to both expires.conf files. They should look similar to this when complete:

<IfModule mod_expires.c>
# Turn on the module.
ExpiresActive on
# Set the default expiry times.
ExpiresDefault "access plus 2 days"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType text/css "now plus 1 month"
ExpiresByType image/ico "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType text/html "access plus 600 seconds"
</IfModule>

4. Now we will need to have cPanel rebuild the Apache configuration to apply the new includes.

/usr/local/cpanel/scripts/rebuildhttpdconf

5. Restart Apache to update the running configuration:
/usr/local/cpanel/scripts/restartsrv_apache

6. If running EasyApache 4, Restart Apache PHP-FPM service as well:
/usr/local/cpanel/scripts/restartsrv_apache_php_fpm

There are additional methods for handling virtual hosts in cPanel. Applying includes to all hosts or all HTTPS hosts or even all hosts by one user. For a much more in-depth explanation of the cPanel Virtual Host Include system, visit the Official cPanel Online Docs.

Fully-managed CentOS 7 Plesk Onyx 17 Linux Servers

Plesk provides a robust include and template system for modification of virtual host entries on an individual virtual host basis. These are done in the following files:

Note:
We will need to replace example.com with your domain name (minus www. prefix).
/var/www/vhosts/system/example.com/conf/vhost_ssl.conf

The directory structure here should already exist. However, these vhost.conf and vhost_ssl.conf files do not exist by default and will need to created.

1. Create the needed include files:
HTTP Virtual Host:

touch /var/www/vhosts/system/example.com/conf/vhost.conf

HTTPS Virtual Host:
touch /var/www/vhosts/system/example.com/conf/vhost_ssl.conf

2. Modify both vhost.conf and vhost_ssl.conf applying the necessary mod_expires directives. When finish each file should look similar to the following:

<IfModule mod_expires.c>
# Turn on the module.
ExpiresActive on
# Set the default expiry times.
ExpiresDefault "access plus 2 days"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType text/css "now plus 1 month"
ExpiresByType image/ico "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType text/html "access plus 600 seconds"
</IfModule>

3. Have Plesk rebuild the configuration for the site in question
/usr/local/psa/admin/sbin/httpdmng --reconfigure-domain example.com

4. Restart Apache Service:
service httpd restart

The Plesk templates and includes systems is very robust and permits integration of many other common Apache directives. Visit the Plesk Onyx Online Documentation to learn more about leveraging its capabilities.

Editing MX Records

How to Edit MX Records in DNS

Perhaps you are moving from using your web server for e-mail to a new service that offers advanced features such as Liquid Web’s Premium Business Email Hosting, or maybe you want your e-mail address to better reflect the business you conduct with your inbox. Either way, when changing mail servers, you will find yourself editing MX records. Each time you send a message, these records help an e-mail server figure out how to get your message where it needs to go. Once the message is ready to leave the server you send it from, it looks up the record for the domain where your receiver checks their mail. By the end of this article, you will be able to edit your domain’s MX records in cPanel or Plesk.

Preparation

This step is necessary whenever editing DNS entries such as the MX record. Before starting, you’ll want to make sure that the server you are editing the MX records with is the “name server.” The name server is the server responsible for letting browsers (and e-mail servers) know where your domain “lives” on the internet by providing the list of DNS records associated with the domain. DNS records provide information about domains to computers that need to interact with them to provide you with services. The key thing to note here is that you can only effectively edit the MX record at the name server for your domain. To look up your name server, you can use easyWhois. Once you get to the site, simply enter your domain and hit enter. Once the list of details loads, look for the “Name Server” lines. Usually, there is a ‘ns’ part with a number after it. That part after that tells you the server, and this is where you will login to cPanel or Plesk. For a refresher on how to login to your cPanel or Plesk server, you can look here: Logging Into cPanel or Logging Into Plesk.

Editing Plesk MX Records

Part 1: Removing The Old Records

  1. Once logged into Plesk, click the “Websites & Domains” tab on the left hand side.
  2. Find the section for the domain that you want to change an MX record for.
  3. If you see a bar with an arrow that points downward and reads “Show More” click that button, then click “DNS Settings,” otherwise just click “DNS Settings” in the section for your domain.
  4. Look at the “Record Type” column in the list, and find any entries that read “MX” (with a number after it). Click the checkbox on the left hand side for each of these entries.
  5. Towards the top of the page select the “Remove” button.
  6. At the “Remove the selected DNS records?” dialogue box that appears, select “Yes.”

Part 2: Adding Your New MX Records

  1. Towards the top of the page click the “Add Record” button.
  2. Next to “Record Type” click the dropdown box, and select “MX”.
  3. Ensure that the “Mail domain” section shows everything that comes after the “@” symbol for your e-mail address here. Most of the time this blank should be left empty. However, if your e-mail address is less common such as francis@research.example.com (instead of francis@example.com), you’ll want to make sure ‘research’ appears in the blank at the left. The domain (example.com part in this example) is listed automatically.
  4. At the “Mail Exchange Server” blank, enter the entire mail server you are changing your MX record to point to (Example: mail.example.com).
  5. At the next section, “Specify the priority of the mail exchange server”, click the dropdown box and select “5.” Most of the time that should be perfectly adequate, however if your new MX record has a number in the middle that does not match, you may change it from “5” to match the new record you wish to use.
  6. Click the “OK” button to proceed.
  7. You will now see a box at the top of the page that reads “The changes you made to DNS records are not saved yet. The changes are marked in the list of records. Click Update to apply the changes to the DNS zone. Click Revert to cancel the changes.”
    Click “Update.”
  8. Click the button marked “Apply DNS Template.”

You have now set up your new MX record(s) for your domain in Plesk.

Editing cPanel MX Records

  1. Once logged into cPanel for the domain you wish to set the MX record for, find the “Domains” section and click “Zone Editor.”
  2. Click “Manage.”
  3. Look at the “Type” column and find the entries with “MX” under that section.
  4. Select “Edit” next to the first MX entry.
  5. Under the “Record” section, set the priority to match the number given in the MX entry you wish to add, then place the server name at the right side of your entry in the “Destination” blank.
  6. If you have a second (or third, etc.) MX record line to add, click the arrow next to the “Add Record” button, and select “Add MX Record.” then repeat step 5.

If you want to set up or change MX records for multiple domains, you can use WHM. For a guide, check out step 2 of our Knowledge Base article “cPanel – How to Change a Domain’s MX Record”.

Additional Notes:

  • If you can spare 24-48 hours, it’s a great idea to reduce the TTL (Time To Live) for each MX record already in place BEFORE adjusting the other values for the MX record. These are given in seconds, and you’ll want to make sure they’re reasonably low (around 300 is a good value) to ensure that when you are ready to make your MX record changes they will spread throughout the internet without a long delay. After changing these TTL values, allow 24-48 hours before completing your final MX record changes.
  • Most of the time you will have the new mail server’s “hostname” (the server address in text form), however if you have only an IP address see this article for a procedure that will show you what to do before following the previous steps in this guide.
  • For a more detailed look at DNS records in general you can check out What is DNS.

Useful Links:

For instructions on how to look up an MX record and what it looks like, see Understanding MX Records.

This guide is not intended to be comprehensive, and if you need more detail about what we’ve gone over, this article is a great resource.

 

Free Website Migration Service

How To Request Free Website Migrations from Liquid Web

The Migration team at Liquid Web is dedicated to providing you with an efficient and as uneventful a migration as possible. Whether you are migrating from a current Liquid Web server (internal migration) or from another host (external migration) into Liquid Web, it is important that we work together to ensure an effective transfer of information.

If you would like to skip the overview and go straight to the request form, you can do that clicking on this link for Requesting A Migration. At the bottom of this article we guide you through making a migration request. To request a Windows server migration, please open a Support Ticket with the Windows Team indicating that you are requesting a migration.

Otherwise, check out some helpful terms to know before your migration begins. Still have questions about what to expect? We have a handy guide called What to Expect During a Site Migration.

Before Your Migration Begins

Before you start your migration, there are a few terms that we use that you will need to be familiar with:

  • Initial Sync – This is the first of three stages of a migration. In this stage, access levels are determined and tested, version matching occurs, and the initial seed of data for your websites being migrated is brought to the new server.
  • Hosts File – The hosts file is a computer file used by an operating system to map hostnames to IP addresses. This file is a plain text file and stored on your computer or workstation, it is the first stop when your browser looks up a domain name via DNS. You can edit the hosts file to re-route requests for a particular domain name to a different IP Address. This is the preferred method of testing your site on your new server. This allows you to view the site as if it were live on the new server at Liquid Web and verify that all pages are working as intended prior to going live with a DNS update.
  • Final Sync – The final sync is the last transfer of data in the migration process. This is completed after you confirm that all testing has come back without any major issues to fix before the site goes live. The final sync typically updates files, email, and databases that have been changed since the initial migration of data. This is done with the source server no longer serving requests and is most effective when a DNS update is performed in tandem.
  • DNS Update – A DNS update is part of the final sync of your migration which makes the target server (the new server at Liquid Web) live. The DNS update can be performed in conjunction with a final sync, or on its own if a final sync is not possible.
Note:
Your site is not live on the new server until the DNS update has occurred. It is normal to see some errors during testing and most will resolve once the DNS has been updated.
  • Authoritative Nameservers – a specific nameserver which holds the authoritative DNS records for a specific domain. Authoritative nameservers are defined for a specific domain at that domain’s registrar. A change to DNS at the authoritative nameserver will make its way around the internet through propagation. This is why it can sometimes take a little while for your DNS changes to take effect.
  • Nameserver – A nameserver is computer hardware or software that implements a network service for providing responses to DNS queries. Nameservers serve several types of information for a certain domain name, including A Records, MX Records, and CNAME records.
  • Nameserver Glue – Nameserver glue is a record which associates a named nameserver with an IP address on the internet, much like a A Record associates a domain name with an IP address. This record is stored at the domain registrar. During migrations, if nameserver authority is moving from one machine to another, the glue records at the registrar will need to be changed after the final sync and DNS update.

Requesting a Migration

Migrations begin by filling out our form through your Liquid Web account.
1. Once you log into your account, click on the Migration Center link at the top of the page.

2. You will be directed to the Migration Center home page. Click on Create a Migration Request to begin filling out the form.

Note:
If you want more information about migrations to Liquid Web, we have linked our Help Center Migration articles in the Migrations tab. Here you can read our articles What to Expect During a Site Migration and Testing Best Practices for Migrations.

3. Once the Request Migration form opens, you will be given the option to name your migration and add your source account. Click on the Add a Source Account button to add information about the hosting account you are migrating from.

4. Click on the Add a Source button to add server access information for the source account. This is where you would add SSH or panel login details for the server or cPanel account you are migrating.

5. You can add more than one source by clicking the link Add a Source Account at the bottom of the section.

6. Next, you will select your destination. You can choose the server from the drop-down menu.  If you do not currently have a server at Liquid Web, click on the Create a New Server link to be directed to a page for you to purchase and create a server.

7. Provide us with information on what software you’d like to have updated with the migration, or if you don’t need or want updates, you can leave this as it is.

8. We will need information from you on the domains on the incoming server and DNS settings. You can choose what domains you want tested and how you want the DNS handled.

9. The final step before submitting your request is to review the information you’ve provided. When you are ready, click the Submit button and a ticket will be sent to our Heroic Migration team.

We will contact you to schedule the migration and stay in contact with you through the entire process. Once the migration is complete, the last step is to test your site.

Please see our article Editing Your DNS Hosts File for information on how to securely test your site. If at any time you have questions or concerns, please feel free to contact our Heroic Support team by chat, phone or support ticket.

 

How to Use Disk Quotas in Dedicated Linux Servers for Plesk Servers

Using Disk Quotas on Plesk Servers

Plesk servers come in a variety of underlying operating systems like: Windows, CentOS and Ubuntu. These systems address disk quotas in different ways. However, they all use the same tools within the Plesk interface. Plesk servers can assign quotas on an individual domain basis or through the Service Plans & Subscriptions system. We will go over both of these methods below.

Continue reading “How to Use Disk Quotas in Dedicated Linux Servers for Plesk Servers”

What is mod_deflate?

How mod_deflate works

When a visitor accesses a website, a request is made to the web server for a specific kind of data. An example might be a home page of a site. Next, the web server locates that data and delivers it to the client who is requesting that data – basically back to the web browser.

In this example, the speed at which the home page loads can depend on a variety of factors. One of them could be how long it takes to find and deliver the data for that page. This is just one example.

Some of that data – such as javascript files, css files, and php files – can actually be compressed into smaller sizes before they are delivered back to the visiting client or browser at the smaller size. The visitor can now have a more optimized browsing experience.

This is where mod_deflate comes in.

Continue reading “What is mod_deflate?”

Setting up packages in WHM to use in WHMCS

Using Packages in WHM

Any new reseller’s first move when integrating WHMCS is to ensure that the products they are provisioning have the correct resources and limitations for their cPanel packages.

This article will walk you through the steps of setting up packages in WHM so you can use WHMCS.

Creating a package in WHM

  1. Log in to your server’s WHM as the root user (be sure this is the connected server to WHMCS that you intend to sell shared hosting on)
  2. Navigate to Add a Package
  3. Select Package Name – This will be used to identify within WHMCS
  4. Create Resource Limitations
    • Disk Quota (MB)
    • Monthly Bandwidth (MB)
    • Max FTP Accounts
    • Max Email Accounts
    • Max Email Lists
    • Max Databases
    • Max Sub Domains
    • Max Parked Domains
    • Max Addon Domains
    • Maximum Hourly Email by Domain Relayed
    • Maximum percentage of failed or deferred messaged a domain may send per hour

  5. Settings

    This is where you can specify if you want the package to have a dedicated IP, offer shell access (SSH), cPanel access (CGI), or Digest Authentication.
    Typically you can leave the Settings as default, but if you need to make changes, this is where you can do it.

WHMCS

Once you create a package in WHM, you will need to create a product in WHMCS and tie the two together in order to resell cPanel accounts with automated provisioning.

1.  Log in to your WHMCS as an Admin User

2. Navigate to Setup -> Products/Services -> Products/Services

3. As a new installation, you will first need to click “Create a New Group”

  • Set your Product Group Name (for example, Shared Hosting)
  • Set the Product Group Headline (this is customer facing, so something specific to the group of products)
  • Set the Product Group Tagline
  • Select your available Payment Gateways
  • Select the Order Form Template, if you don’t want the System Default
  • You have the option of making a product group hidden, the functionality of hidden products/groups will be covered in another article.
  • Save Changes

4. Now select “Create a New Product”

  • Select the product type, for this example we will be selecting “Hosting Account” as it will be for the shared product you created the package for
  • Choose your newly created Product Group
  • Set the Product Name and hit continue (note: the product name does NOT have to match the package name, but it can make tracking easier in the long run)
  • Details Tab

    • Enter the Product Description – Here you can enter the description that the customer will see, for example, if it is a shared hosting package with 5GB of disk, 100GB of bandwidth, etc. you can list the features of this product)
    • Welcome Email – This will give you a drop down of pre-existing email templates, for more on customizing WHMCS email templates, please see that article.
    • Require Domain – This means the client must have a domain for the package (You can offer domain registration for new clients, but this box just ensures that they enter a fully qualified domain name to proceed).
    • Stock Control – Set this if you only want to sell X number of this product
    • Apply Tax – If taxes apply, select this box
    • Featured – This will show the product more prominently in certain order form templates.
    • Hidden – See the benefits of hidden groups/products.
    • Retired – Often used in editing old products).
    • Pricing Tab –
    • Payment Type – Is this a free product (trial), one time bill, or recurring billing.
    • Allow Multiple Quantities – This allows the customer to order more than 1 of this package.
    • Recurring Cycles Limit – 0 is unlimited which will be the case for most hosting, change this if you want to limit how many cycles they can keep the product.
    • Auto Terminate/Fixed Term – 0 is disabled, this can be used to auto terminate accounts after a certain date, I’d suggest avoiding this as it could potentially delete/destroy user data, better to have a fixed limit and contact the customer prior to termination as it could potentially save a client.
    • Termination Email – This would need to be configured only if you use the previous option.
    • The next three options are around billing date modifications
      • Prorata Billing: Select this if you want to have universal billing dates.
      • Prorata Date: This would be the day of the month that all billing would exist for this product.
      • Charge Next Month: This will be the “cutoff” date for when the following month will be included in the original invoice.
  • Module Settings – This assumes you have a server already created, if you do not see the documentation on connecting your first server.

    • Module Name: Select cPanel from the drop down
    • Server Group: If you have a specific group for this product, select it here.
    • WHM Package Name: Select the correct package name to match the product.

  • Custom Fields

    • These fields allow for you to collect additional information from your client, such as “How did you hear about us?” or “Are you interested in our newsletter?”
    • You can add any number of additional custom fields and you can make them public facing, or internal.
    • Some modules and addons will require a custom field to be set up and filled out to successfully run.
  • Configurable Options

    • This will remain blank unless you have something that will generate the configurable options. For example, the Liquid Web Plugin. (https://github.com/liquidweb/LiquidWeb-WHMCS-Plugin) can generate configurable options based around what is available via our API.
  • Upgrades

    • Package Upgrades: This box will show other products within WHMCS and you can select which you would like the customer to be able to upgrade to/from. For example, if you have a Bronze Shared Plan at 5GB of disk space and you would like to offer an upgrade path to the Silver Shared Plan at 10GB of disk space, you’d select it here.
    • Configurable Options: Selectable if you have configurable options generated and set up for the product list.
    • Upgrade Email: You can set an email in Email Templates if you would like them to receive something during the process.
  • Free Domain

    • Free Domain: You can select if you would like it to only be free for registration/transfer (one time), or if you would like it to remain free as long as they maintain the product.
    • Free Domain Payment Terms: You can select if you only want to offer free domain registrations for specific payment terms. For example, Annual payment terms for hosting are a fairly common requirement to receive the free domain in this case since the domain registration is annual.
  • Other

    • Custom Affiliate Payout:
      • Default – Uses the default set up in the system.
      • Percentage – Pays a percentage of their referral.
      • Fixed Amount – you set the amount they would earn for each product
      • No Commission – they can track referrals but no commission is paid, this is helpful for if you have a program with incentives for referrals aside from money.
    • Affiliate Pay Amount: Enter the amount you would like the affiliate to get paid for referring this product.
    • Subdomain Options: Allowing specific subdomains to be used if you want to specify.
    • Associated Downloads: You can set download files that are only available to clients who have this specific product.
    • Overages Billing: If you want to allow for a client to use more than the allocated amount and charge them for it you set it here. Just to clarify though, the package we set up in WHM previously will determine the true “hard limits” if you set up overage billing with soft limits, the client will still see the full “hard limit” in cPanel, there is no way to “hide” that.
  • Links

    • Direct Shopping Cart Link: This is a direct link you can provide customers (or code into your site) that will link directly to the “checkout” page with the product in the cart.
    • Direct Shopping Cart Link Specifying Template: If you’re running a specific promotion in which you want to utilize a specific shopping cart template, you can use that here
    • Direct Shopping Cart Link Including Domain: If you were to send a direct “quote link” and you want to pre-fill the domain for the client you’re sending it to, you can use this:
      • Replace the “sld=whmcs” with “sld=clientdomain”
      • Replace the “tld=.com” with “tld=clientstld”
      • If the client is using .com, you can leave this the same. If they are using .net you would enter “tld=.net”
    • Product Group Cart Link: This can link to the full group, if you had multiple products in the same group type.
  • Hit Save Changes and your product setup is now complete! You can begin selling that shared product right away.

You can repeat this process by setting up a different package in WHM and then in the “Module Settings” section, you would select that package instead. Just be sure that you adjust the pricing and any options that you need for each product.

If you need to purchase a WHMCS or have further questions, please contact our support team via chat! Happy to help.

How to Use Disk Quotas in Dedicated Linux Servers

The role of disk space management using Disk Quotas

Disk Space Management is an often underestimated necessity of a systems administrators job duties. When managing disk space it is important to track and maintain adequate free space. This ensures proper system functionality and data integrity. Unlike your personal devices, when a server runs out of free space, it can have grave consequences. Running out of free space can lead to data and/or revenue loss for you, your clients and/or your user base.

Continue reading “How to Use Disk Quotas in Dedicated Linux Servers”

What is DNSSEC?

Domain Name System Security Extensions or DNSSEC signs DNS Record Sets (RRsets) at each DNS zone level. This allows one to verify the DNS record they are receiving has not been altered.

For example, manage.liquidweb.com has these zone levels:

  • Root (.)
  • com, org, net
  • liquidweb
  • Manage

DNS Record Set (RRsets) is a group of records with the same record type, for example all DNS A records are one RRset.

Continue reading “What is DNSSEC?”