This is an update from an original post. Back then my web sites were hosted at GoDaddy. Now my web sites are at Namecheap.
I switched from a non-cPanel hosting plan in GoDaddy to a cPanel hosting plan in GoDaddy. I needed extra CPU processing power for my web site which is a photography non-Wordpress Imagevue web site. It uses mostly php and flash. I outgrew from the non-cPanel Economy plan. I also have two WordPress sites.
I did some shopping for hosting. I was primarily looking for an inexpensive plan and good reputable name. It came down to two hosting providers: GoDaddy and BlueHost. GoDaddy had a special going at a rate of $4.49 per month for the Deluxe plan. BlueHost had a special going for $3.99 per month for a 3 year term. I chose GoDaddy because as a customer I was already familiar with them. Plus I didn’t want to get locked in a 3 year term with BlueHost which I was not familiar with. The GoDaddy rate of $4.49 was good for any yearly term whether it was 1, 2, or 3 years. Also, I could cancel the plan GoDaddy Deluxe plan anytime and get an in-store credit. I think BlueHost had a 30-day money back guarantee and then after that you’re locked in for the term.
The GoDaddy special does offer a free domain with the Deluxe plan. I opted out because the free domain does not include free private registration. The private registration is extra.
If you want to switch to GoDaddy cPanel, you’ll need a few things. If you don’t already have one, get FileZilla. Also, if you use BitDefender Internet Security, consider going with another Internet Security Suite. There is one feature with cPanel that you might want to use but BitDefender will block it. I went with Kaspersky.
Even though I was switching plans within GoDaddy using the same domain, I had to manually migrate my files from one server to another. I had to download all the files from the old server to my computer, and then upload the files to the new server. Same domain, but just different plans. Going from non-cPanel to cPanel is a switch to a different plan, not an upgrade from an existing plan. If it was an upgrade, GoDaddy would have migrated the files to the new plan. But since it is a totally new plan, I had to migrate the files myself.
The download was quick. Then I switched the domain from the old plan to the new plan. By switching, all the files in the old server was deleted. The domain switch from my old plan to the new plan was pretty quick like 5 minutes. Then I uploaded the files to the new plan. I had about 1.5GB of files and the uploading took overnight.
About the upload, cPanel has a couple new features for uploading, sftp and web disk. There is plain FTP but if you’re concerned with security use sftp or web disk. With plain FTP, your password is exposed.
If you want to use web disk, don’t use BitDefender. I could not get web disk to connect with BitDefeneder firewall running. With the firewall disabled, I got the connection. There did not seem to be a setting to open specific ports in BitDefender. So I switched to Kaspersky. I already had an active Kaspersky license so I tried it. And web disk worked.
Sftp is a bit tricky. If you’re not familiar with sftp, you have to enter your IP address in cPanel in order to get the sftp connection. Otherwise, you’re not going to get the connection. To set you IP address, on your cPanel page, go to the Security category and click on SSH/Shell Access. You’ll be prompted for an IP address. To lookup your IP address, go to www.ipchicken.com.
If you have tons of data (I had 1.5 GB), use sftp instead of web disk. I read that sftp is faster then web disk.
How to Hide Your Sub-Domains from your Main Domain
If you have more than one domain and you’re new to cPanel, there is one detail that might be of interest. In cPanel, when you add the first domain, it is your main domain. When you add a second and subsequent domains, they are sub-domains to the main domain. As a result, if www.domain-one.com is your first and main domain and www.domain-two.com is your second and sub-domain, then you can access domain-two.com from domain-one.com by using www.domain-one.com/domain-two.com. Moreover, you can access domain-two.com by using the URL notation domain-two.domain-one.com.
If you want to keep the relationship between the main and sub-domains invisible to the Internet, you’re going to need to do a few things. First, you’re going to need to modify .htaccess for both the main domain and the sub-domain. Add the following code in the .htaccess files for both domains:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?main-domain.com$ [NC]
RewriteCond %{REQUEST_URI} ^/sub-domain.com(.*)$
RewriteRule ^(.*)$ – [L,R=404]
Replace main-domain.com and sub-domain.com with your main domain and sub-domain. Add the code in /home/username/public_html/.htaccess and /home/username/public_html/sub-domain.com/.htaccess. If one of your domains is a WordPress site, there might be tons of code in the .htacess file. Just add the code at the bottom of the .htaccess file.
By modifying .htacess, you’re preventing www.domain-one.com/domain-two.com from occurring. The server should return a 404 code.
Second, check your DNS records for the main domain. In cPanel, go to DNS Manager. In Godaddy, you should be in the Standard DNS dashboard. Select the edit zone link for your main domain. Look in the A (Host) category. Under host, if you don’t see your sub-domain, then your sub-domain cannot be reached using the sub-domain.main-domain.com notation. If you do see your sub-domain, then you can reach your sub-domain in the sub-domain.main-domain.com notation. If you don’t want your sub-domain to be reached by your main domain, delete the record. In GoDaddy, just select the record and click on the Delete button.
Third, turn off directory indexing from you main domain so that a directory listing cannot be made from your main domain. If a listing occurs, your sub-directories to your sub-domains can be exposed from you main domain. To turn off directory indexing, go to Index Manager in cPanel. Select /public_html/, then select No Indexing, and then click on Save. Also, check if there an index file like index.html, index.php, etc in the public_html directory. If there is an index file, that’s good. There is a strange server rule that if there is no index file the server returns the directory listing.
If you want to check if someone can get a directory listing, go to http://seositecheckup.com. Enter your main domain in the left box and select Directory Browsing Test in the right box and see if it can get a directory listing.
That is about it. All your sub-domains should be separate from the main domain from the view of the Internet.
How to port your WordPress site to GoDaddy cPanel
Before you port, backup your database first and then backup all your WordPress files to your host computer.
Create your addon or main domain on cPanel. A sub-directory should be created for the web site. Upload all the files to the sub-directory.
Then go to MySQL Database in the cPanel page. Create a new database for the web site by entering a name and press Create Database. Add a new user for the database. Under Add User to Database, associate the new user to the new database and press Add. In the next page, select all privileges.
Go back to cPanel and select phpMyAdmin. Select the Databases tab. Select the database that you just created. Now click on the Import tab. Click on the Browse button and select the database that you backed-up earlier. It is important that you select your created database first then select Import. If you import without selecting a database, you’ll get an error.
After the import is done, go back to cPanel and go to the File Manager. Go to the sub-domain sub-directory and edit the file wp-config.php. Change DB_NAME, DB_USER, and DB_PASSWORD to the database name, database username, and database user password respectively. Change DB_HOST to ‘localhost’.
That should be it. Your WordPress site should be up and running.
Don’t forget to modify the .htaccess file.
Migrating your email to cPanel
cPanel email is pretty good. cPanel supports IMAP which was add-on in the old email plans. I am not sure but GoDaddy says that the mailbox is limited to 500 MB, but when I set the file size limits of the mailbox I set it to unlimited. I’ll see if my mailbox maxes out at 500 MB or not.
Setting up the mailbox is pretty straightforward. The only glitch I had is switching from the old email plan to cPanel within GoDaddy. The MX records were not set to cPanel when I setup my cPanel mailbox, so I had to set them. If you domain is outside of GoDaddy, just point your nameservers to GoDaddy. GoDaddy sets up the DNS records correctly for non-GoDaddy domains.
cPanel supports email forwarding and the importation of emailing data. This is great if you lots of forwarding addresses. If you can, try to see if you can export the email data in your old plan. The exported data can be in CSV format. If you can, then you can probably import them in cPanel. If you are going to do this, there one thing that you should know. If you’re importing email addresses from one domain, importing is not a problem. But if your exported data contains forwarding addresses from more than one domain, you have break up your data by domain by using a spreadsheet. This is because cPanel can only import forwarding addresses one domain at a time. If you try to import data from many domains, you’ll need to specify which domain the addresses refers to and once you set it and import data, all the address will be refer to the specified domain. For instance, let’s say you have email-one@domain-one.com and email-two@domain-two.com. When you import, you’ll need to specify a domain that both addresses refers to. So if you chose domain-one.com, cPanel will create forwarding addresses for email-one@domain-one.com and email-two@domain-one.com. The address email-two@domain-two.com will not be imported.
Changing your DNS Records
If you had a non-cPanel hosting plan with GoDaddy and switched to a cPanel hosting plan with GoDaddy, you’re going to need the change your DNS records. GoDaddy does change your DNS records when you migrate to cPanel, but not all the records. I had to change my MX records from my old email plan to the cPanel hosting plan.
Here is the link to change your DNS records: http://support.godaddy.com/help/article/8852/configuring-dns-for-your-cpanel-shared-hosting-account?pc_split_value=1. There is one setting that I had a problem with. In the link, GoDaddy recommends creating a CNAME record for mail. I, instead, created an A record for mail. Having an MX record point to a CNAME is a violation of RFC2181. Having an MX record point to an A record, instead of a CNAME record, didn’t seem to have an adverse effect on cPanel.
If you have your domain registered somewhere else, all you have to do is just change your nameserver settings to point to the GoDaddy nameserver. When you create an AddOn or Parked Domain on cPanel, a DNS record for that domain is created in the DNS manager with a GoDaddy nameserver assigned to it. Just copy the nameserver settings to the nameserver setting for your non-GoDaddy-registered domain.
Email Authentication
In an earlier post, I described email authentication because GoDaddy supported it. Now, they don’t. Now that they don’t, there is not much to write about email authentication.
I am not sure why they dropped support for it, but both SPF and DKIM worked for me. When I first tried email authentication, SPF and DKIM didn’t really work. The SPF value was wrong. The DKIM only worked for the default domain. GoDaddy couldn’t help me with this problem. I eventually figured out what the SPF record was supposed to be and figured out where to find the public keys for the add-on domains.
The Time My Websites Went Down
On July 10th about 10 pm, my IMAP connection went down. On July 11th about 10 pm, my POP connection went down. Somewhere during that time, my websites went down. Not only my email and websites went down, but also my cPanel account. I contacted GoDaddy support.
According to GoDaddy support, the shared hosting server where my websites were located went down due to a hardware failure. On July 12th at 3 pm, my websites finally went up. My POP connection went up on July 13th at 6 am. My POP account was down for about 32 hours and my guess is that my websites were down for about 17 hours.
What was interesting was that none of the websites that publicly monitor GoDaddy’s uptime and downtime detected any downtime. GoDaddy’s system alerts page reported no issues.
GoDaddy did notify me when email was up. What they didn’t tell me was that my cPanel account and email moved to a new URL address. It took me awhile to figure out that fact. As a result, I had to update my email settings on Outlook, and set a new bookmark on my browser to get access to my cPanel account.
Is GoDaddy a good host?
Early on, I liked GoDaddy cPanel. It was much better than the old hosting interface. cPanel had a lot of bells and whistles. Unlimited disk space, unlimited domains, unlimited email address, and IMAP.
Now I am not so enthusiastic. The server when down for 17 hours. Then GoDaddy offered a plan that if you wanted more memory (I think) for your hosting package, then you can pay an additional $2/month for the memory. Now they dropped DKIM and I think SPF.
I drew the line with the DKIM, so I looked elsewhere. I am now with Namecheap. Namecheap is more expensive ($7.48/month vs. $4.99/month), but I was able to get hosting for $7/year.