Below is my guide for moving away from NetRegistry CPanel domain to a self-managed server and GSuite email.
I have had www.fearby.com since 1999 on three CPanel hosts (superwerbhost in the US, Jumba in Australia, Uber in Australia (NetRegistry have acquired Uber and performance at the time of writing is terrible)). I was never informed by Uber of the sale but my admin portal was moved from one host to another and each time performance degraded. I tried to speed up WordPress by optimizing images, installing cache plugins but nothing worked, pages were loading in around 24 seconds on https://www.webpagetest.org.
Buy a domain name from Namecheap here.
I had issues with a CPanel domain on the hosts (Uber/Netregistry) as they were migrating domains and the NetRegstry chat rep said I needed to phone Uber for support. No thanks, I’m going self-managed and saving a dollar.
I decided to take ownership of my slow domain and setup my own VM and direct web traffic to it and redirect email to GMail (I have done this before). I have setup Digital Ocean VM’s (Ubuntu and Centos), Vultr VM’s and AWS VM’s.
I have also had enough of Resource Limit Reached messages with CPanel and I can’t wait to…
- not have a slow WordPress.
- setup my own server (not a slow hosts server).
- spend $5 less (we currently pay $25 for a CPanel website with 20GB storage total)
- get a faster website (sub 24 seconds load time).
- larger email mailboxes (30GB each).
- Generate my own “SSL Labs A+ rated” certificate for $10 a year instead of $150 a year for an “SSL Labs C rated” SSL certificate from my existing hosts.
I have about 10 email accounts on my CPanel domain (using 14GB) and 2x WordPress sites. I want to backup my emails with (Outlook Export and Thunderbird Profile backup) and backup my domain file(s) a few times before I do anything. Once DNS is set in motion no server waits.
I will setup a Vultr web server in Sydney (following my guide here), buy an SSL certificate from Namecheap and move my WordPress sites.
- Reduce email accounts from 10x to 3x
- Backup emails (twice with ThunderBird and Outlook).
- Setup A Ubuntu V on Vultr.
- Signup for Google G Suite Trial.
- Transfer my domain to Namecheap.
- Link to domain DNS to Vultr
- Link to domain MX records to Google Email.
- Transfer website.
- Setup emails on google.
- Restore WordPress.
- Go live.
- Downgrade to personal G Suite before the trial expires
- Close down the old server.
Signing up for Google G Suite
I visited https://gsuite.google.com/ and started creating an account.
I created a link between G Suite and an existing GMail account.
Now I can create the admin account.
Tip: Don’t use any emails that are linked as secondary emails with any Google services (this won’t be allowed). It’s s a well-known issue that you cannot add users emails who are linked to Google services (even as backup emails for Gmail, detach the email before adding it). Read more here.
Final setup steps.
Now I can add email accounts to G Suite.
Adding email users to G Suite.
The next thing I had to do was upload a file to my domain to verify I own the domain (DNS verification is also an option).
I must say the setup and verify steps are quite easy to follow on G Suite.
Time to backup our existing CPanel site.
Backup Step 1 (hopefully I won’t need this)
I decided to grab a complete copy of my CPanel domain with domains, databases and email accounts. This took 24 hours.
Backup Step 2 (hopefully I won’t need this)
DNS Changes at Namecheap
I obtained my domain EPP code from my CPanel hosts and transferred the domain name to Namecheap.
Namecheap was even nice enough to set my DNS point to my existing domain so I did not have to rush a move before DNS propagation.
P.S The Namecheap Chat Staff and Namecheap Mobile App is awesome.
Having backed up everything I logged into Namecheap and set my DNS to “NameCheap BasicDNS” and then went “Advanced DNS” and set appropriate DNS records for my domain. This assumes you have setup a VM with IPV4 and IPV6 (follow my guide here).
- A Record @ IPV4_OF_MY_VULTR_SERVER
- A Record www IPV4_OF_MY_VULTR_SERVER
- A Record ftp IPV4_OF_MY_VULTR_SERVER
- AAAA Record @ IPV6_OF_MY_VULTR_SERVER
- AAAA Record www IPV6_OF_MY_VULTR_SERVER
- AAAA Record ftp IPV6_OF_MY_VULTR_SERVER
- C Name www fearby.com
The Google G Suite also asked me to add these following MX records to the DNS records.
- MX Record @ ASPMX.L.GOOGLE.COM. 1
MX Record @ ASPMX1.L.GOOGLE.COM. 5
MX Record @ ASPMX2.L.GOOGLE.COM. 5
MX Record @ ASPMX3.L.GOOGLE.COM. 10
MX Record @ ASPMX4.L.GOOGLE.COM. 10
Then it was a matter of telling Google DNS changes were made (once DNS has replicated across the US).
My advice is to set DNS changes before bed as it can take 12 hours.
Sites like https://www.whatsmydns.net/ are great for keeping track of DNS replication.
I logged into the CPanel and exported my WordPress Database (34MB SQL file).
I had to make the following PHP.ini changes to allow the larger file size restore uploads with the Adminer utility (default is 2mb). I could not get the server side adminer.sls.gz option to restore the database?
I had to make the following changes to nginx.conf (to prevent 404 errors on the database upload)
I also had to make these changes to NGINX (sites-available/default) to allow WordPress to work
I had a working MySQL (I followed my guide here).
Adminer is the best PHP MySQL management utility (beats PhpMyAdmin hands down).
Restart NGINX and PHP
I had an error on database import, a non-descript error in script line 1 (error hint here).
A simple search and replace in the SQL fixed it.
Once I had increased PHP uploads to 50M and Nginx I was able to upload my database backup with Adminer (just remember to import to the created database that matches. the wp-config.php. Also, ensure your WordPress content is in place too.
The only other problem I had was WordPress gave an “Error 500” so moved few plugins an all was good.
Importing Old Email
I was able to use the Google G Suite tools to import my old Mail (CPanel IMAP to Google IMAP).
I love root access on my own server now, goodbye CPanel “Usage Limit Exceeded” errors (I only had light traffic on my site).
My self-hosted WordPress is a lot snappier now, my server has plenty of space (and only costs $0.007c and hour for 1x CPU, 1GB ram, 25GB SSD storage and 1000GB data transfer quota). I use the htop command to view system processor and disk space usage.
I can now have more space for content and not be restricted by tight hosts disk quotas or slow shared servers. I use the pydf command to view dis space.
I use ncdu to view folder usage.
Type ncdu in the folder you want to browse under.
You can arrow up and down folder structures and view folder/file usage.
I am setting up a new multi year SS cert now, I will update this guide later. I had to read my SSL guide with Digital Ocean here.
I generated some certificate on my server
Sample output for a new certificate
openssl req -new -newkey rsa:4096 -nodes -keyout dummy.key -out dummy.csr Generating a 4096 bit RSA private key .................................................................................................++ ......++ writing new private key to 'dummy.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: AU State or Province Name (full name) [Some-State]: NSW Locality Name (eg, city) :Tamworth Organization Name (eg, company) [Internet Widgits Pty Ltd]: Dummy Org Organizational Unit Name (eg, section) : Dummy Org Dept Common Name (e.g. server FQDN or YOUR name) : DummyOrg Email Address : [email protected] Please enter the following 'extra' attributes to be sent with your certificate request A challenge password : password An optional company name : DummyCO root@servernamehere:~/sslcsrmaster4096# cat dummy.csr -----BEGIN CERTIFICATE REQUEST----- MIIFAjCCAuoCAQAwgYsxCzAJBgNVBAYTAkFVMQwwCgYDVQQIDANOU1cxETAPBgNV BAcMCFRhbXdvcnRoMRIwEAYDVQQKDAlEdW1teSBPcmcxFzAVBgNVBAsMDkR1bW15 IE9yZyBEZXB0MREwDwYDVQQDDAhEdW1teU9yZzEbMBkGCSqGSIb3DQEJARYMbWVA ZHVtbXkub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA6PUtWkRl +gL0Hx354YuJ5Sul2Xh+ljILSlFoHAxktKlE+OJDJAtUtVQpo3/F2rGTJWmmtef+ shortenedoutput swrUzpBv8hjGziPoVdd8qdAA2Gh/Y5LsehQgyXV1zGgjsi2GN4A= -----END CERTIFICATE REQUEST-----
I then uploaded the certificate to Namecheap for an SSL cert registration.
I selected DNS C Name record as a way to verify I own my domain.
I am now waiting for Namecheap to verify my domain
End of the Google G Suite Business Trial
Before the end of the 14-day trial, you will need to add billing details to keep the email working.
At this stage, you can downgrade from a $10/m business account per user to a $5/m per user account if you wish. The only loss would be storage and google app access.
Before your trial ends, add your payment details and downgrade from $10/user a month business prices to $5/iser a month individual if needed.
G Suite Troubleshooting
I was able to access new G Suite email account via gmail.com but not via Outlook 2015? I reset the password, followed the google troubleshooting guide and used the official incoming and outgoing settings but nothing worked.
Google phone support suggested I enable less secure connection settings as Google firewall may be blocking Outlook. I know the IMAP RFC is many years old but I doubt Microsoft are talking to G Suite in a lazy manner.
Now I can view my messages and I can see one email that said I was blocked by the firewall. Google phone support and faqs don’t say why Outlook 2015 SSL based IMAP was blocked?
Thanks to my wife who put up with my continual updates over the entire domain move. Voicing the progress helped me a lot.
Donate and make this blog better
Ask a question or recommend an article
[contact-form-7 id=”30″ title=”Ask a Question”]
V1.8 added ad link