Question

Please help : SetUp NS records

Please help, I am a newbie to networking. I am planning to move my domain from go-daddy shared hosting server to digital ocean without any downtime. So my plan is the following

  1. Change Name servers at domain registrar ( Godaddy ) to digital ocean name servers.
  2. Add NS record that points godaddy name servers in digital ocean. Since name server changes at domain registrar will take less than 24 hours to propagate, i need to point every connections to godaddy shared hosting during this period.
  3. Once this period is over, i will remove the NS record at digital ocean ( that points to godaddy name servers ) and add an A record to assign to the right droplet.

So my questions are below.

A.) Does my above plan work ?. That is the following scenarios A1. ) when a request comes to my domain and it finds out go-daddy name servers and points to godaddy hosting and works fine. A2. ) When a request comes to my domain and finds out digital ocean name servers and it goes and ask digital ocean, since we have added NS records in digital ocean, digital ocean re-route to godaddy NS servers and my old site will load.

B. ) How long does it take to update NS records that is added in digitalocean.

C. ) How long does it take to update A records that is added in digitalocean.

D) Also I already have an SSL certificate installed in Godaddy ( purchased From godaddy control panel ). I want to install letsencrypt SSL in digital ocean. I have found the following documentations ( LAMP 14.04 ). D.1 ) https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-04-lts D.2 ) https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-14-04

I am planning to host only one domain in one droplet, So do i need to create virutal hosts to install SSL as mentioned in D.1.

Please bear my poor language and thanks in advance.

Regards Noble

Subscribe
Share

Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

This comment has been deleted

Risky.

You will do the following: Update NS records in GoDaddy, set GoDaddy NS records in DigitalOcean. Once GoDaddy DNS propagation finishes, you will set NS records in DigitalOcean DNS management back to DO.

That will work until DNS propagation finishes on GoDaddy side, but once it does, GoDaddy will point to DigitalOcean, but DigitalOcean will point to GoDaddy and so on. So request will never reach your site (in other words - you will have downtime, site will not load).

Thing you need to look at is NS record TTL - Time To Live. That’s time for how much DNS servers will keep old NS records. I think, default on DigitalOcean is 1800 seconds, and you was not able to change it. Now DO is setting up new DNS management system where default is 86400 seconds (24 hours) but you are able to change it.

If you add GoDaddy records with low TTL. I don’t know is there any minimum, but you can check it with Support.

Anyways problem is still that once DNS propagation happens on GoDaddy, site will be down from period you notice it (get email from GoDaddy), to period you change it in DO Panel and DNS propagation happens again.

Much better solution would be to set up DigitalOcean records as it should be (with DO NS records, A record to Droplet) and change NS in GoDaddy panel. Until propagation happens, when you visit site by domain you’ll get it from GoDaddy Hosting. Once it happens, you’ll get site from DigitalOcean.

Tutorials (documentation) you linked is great! It will definitely help you set up SSL with Let’sEncrypt on your site. But you need to follow LAMP tutorial too, so you have web server. Maybe I would recommend to go with Ubuntu 16.04, if you don’t depend on 14.04. Ubuntu 16.04 is newer and it’ll be much longer supported then Ubuntu 14.04. To make web site work, you will have to follow following tutorial: How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu 16.04. How To Secure Apache with Let’s Encrypt on Ubuntu 16.04. How To Set Up Apache Virtual Hosts on Ubuntu 16.04. As you have only one domain, only one VirtualHost is enough.

If you have any further questions, don’t hesitate to ask anything. =)