Migration, billing and droplet questions

November 25, 2015 1.3k views
DNS WordPress
  1. I have 2 domains and a shared hosting accounts from a service provider. I would like to migrate them all to DO, may I know what's the step to do so?

  2. 1 droplet for 1 site?

  3. Will be charged more than what it is stated in the pricing page eg: $10/month if I select the popular plan? Considering the site will be live 24/7.


1 comment
    1. Looking at your tags, I see WordPress. So a simple LAMP (Linux, Apache, MySQL, PHP) configuration should be fine. DigitalOcean has a nice 1-click installation option when you create the droplet.

    2. You can use two domains / sites on one DO droplet. In Apache you can use Virtual Hosts. A very detailed tutorial can be found here. (Digital Ocean)

    3. You will only be charged more, if you exceed the maximum data transfer limit (which is 2TB for the $10/month droplet). The cost of the bandwidth is $0.02 per GB over the limit.

    by Justin Ellingwood
    The Apache web server is the most popular way to serve web content on the internet. Apache has the ability to serve multiple domains from a single server by using a mechanism called "virtual hosts". If a virtual host is configured correctly for each domain, the web server can correctly route traffic to the appropriate files based on the domain name requested. In this guide, we'll demonstrate how to configure Apache virtual hosts on an Ubuntu 14.04 VPS.
2 Answers


As vague as this is, the real answer is: it depends :-). DigitalOcean !== Shared Hosting, so to get the ball rolling, you'd first choose a Droplet size, your preferred Location and an Operating System.

A freshly deployed Droplet offers a bare OS, meaning there's no web server (i.e. Apache/NGINX) installed, nor any type of standard programming language that would be available on your shared hosting plan (i.e. PHP), nor a database server (i.e. MySQL). You would be responsible for installing and configuring these on your own (which can be done using a package manager or by compiling each from source -- both options are available).

DigitalOcean does offer some pre-configured images, which are available at the time of choosing the options for your Droplet, though the some knowledge of the CLI (Command Line Interface) / Bash / Shell is required to further optimize, secure, update and upgrade software on your server. Unlike in a shared hosting environment where the provider is handling software updates on the server for you and others (as well as security and optimization), you would now be required to handle this on your own.

A Droplet is essentially a VPS, or Virtual Private Server which is much like a virtualized dedicated server.


With that said, the first step would be to deploy a Droplet. You would then need to configure it to match the needs of your websites. I'd start with a 1GB Droplet if you're running any sort of database driven website (i.e. one that requires MySQL / MariaDB / Percona / Postgres / etc). Once the Droplet is live, you would then use the IP Address provided to SSH in (using PuTTy or another SSH utility) and begin :-).

From the CLI, you can pretty install anything you'd like. It's a blank canvas from the start, so you can choose Apache, NGINX, Caddy or any other web server that you'd like. You would then install PHP, NodeJS or the language of your choice followed by the database server of your choice (if needed).


Of course, the DigitalOcean Tutorial section of the community is available. As an example, the guide below will provide some insight as to how to go about setting up NGINX on Ubuntu (the guide easily applies to both Ubuntu 14.x & 15.x, so you don't have to choose 14.04).


You can type NGINX, MySQL, PHP-FPM etc in to the search box and you'll see numerous tutorials and guides. If you have any questions, that's what the open community is for :-).


As for the number of sites per Droplet, that really depends on traffic levels. There's not a specific limit on the number of sites you can host. You can create any number of sites, though the actual limit just depends on how resource intensive your current two sites are.

In regards to pricing, the monthly price is the maximum monthly cost per Droplet deployed. If you run a single 1GB Droplet for an entire month, the cost will be $10 flat. If you run it for 24 hours and then decide to destroy it, the cost will only be $0.36 :-). You're billed hourly up to the maximum monthly cost.

Droplets are billed by deployments. Whether it's online or offline, you're billed for it. Only by destroying (i.e. deleting) the Droplet will you not be charged.


If you have any other questions, feel free to let me know! Always happy to help!

by Justin Ellingwood
Nginx is one of the most popular web servers in the world. It is extremely flexible and powerful and can be used to efficiently host sites and applications small or large sites and applications. In this guide we'll cover how to install and set this up on an Ubuntu 14.04 server.
  • @jtittle Thanks a lot of info and love in here :) Big thanks!

    1. Can the DO team/support help me to migrate my sites and domain?
    2. "Droplets are billed by deployments." - It will not charge me if I am updating my WP site right? For example modifying codes or updating posts. So, If I can host two WP sites on the 1GB droplet, I will only need to pay $10 max every month?
    3. So DigitalOcean doesn't host domain and I will keep using my existing provider for the domain? Which mean I still have to pay separately for domains and hosting?


    • @kailoon

      No problem! :-)

      1). DigialOcean is an un-managed provider, which would mean that you'd be on your own when it comes to server setup, configuration, optimization, security, and moving current websites over once you've setup the Droplet to your liking; at least in terms of being responsible for it. The community is here (including me!) and there are guides available through the Tutorials section that can and will help you to get started.

      2). You're billed for each Droplet deployed. You can host (for example) 10x websites on a single Droplet or 100x websites on a single Droplet; you'll only be billed up to a max of the monthly cost of the Droplet(s) you choose to deploy. Now, 100x websites on a 1GB Droplet is going to be overkill -- I'm just using it as an example :-). Once you've setup all that needs to be on the Droplet, you'd be free to update, modify and tweak 24/7 if you'd like to!

      3). DigitalOcean only provides hosting, so you would register / renew your domains with your current domain registrar. If that's your current web hosting provider, yes, you would continue to pay them for the renewal costs

      That said, DigitalOcean can cover you when it comes to DNS. They provide 3 DNS servers that you can use for your domains which would allow you to add, edit and remove DNS entries through the DigitalOcean control panel instead of having to move back and forth at your provider. It's a really nice and very simple DNS area which is very straight forward.

      Of course, you would only make changes to your DNS once you're really to "go live" on the Droplet.

      If you have any other questions, please feel free to let me know!

        1. Server security - what I need to do? Updating software, like WP?

        2. I am going to setup 2 WP sites and 1 Ghost site, well, pretty low traffics :) Is the $10 Droplet enough or all 3?

        I will just start fresh with the two WP sites and import the DB once it is setup. Is that OK?

        1. Roger that.

        I can still using FTP ( Transmit ) to upload files to the server right? Still not familiar with SSH :p

      • And what happen if my sites are down and I have no idea how to fix it?

Shared Hosting .vs. Virtual Private Servers (un-managed)

Shared Hosting

The web hosting provider handles installing, configuring, updating and securing common software needed by clients, such as Apache (or NGINX), MySQL (or MariaDB / Percona), PHP, Dovecot (for e-mail), Software Firewall and so forth. This is often automated by cPanel, a commercial control panel which most shared / reseller web hosting providers provide clients with as a way of easing some of the more complex tasks that would otherwise require interaction with the CLI (i.e. creating e-mail accounts and MySQL databases).

The web hosting provider in this case is essentially handling all backend tasks for all clients on the web server, thus, you're only focus is on developing your website(s). In a shared hosting environment, you have zero access to the internals of the operating system, are unable to customize anything that falls outside the scope of your account, and are most likely limited to SFTP for uploading files (this is the case with the vast majority of shared hosting providers).

You don't need a working knowledge of Apache or NGINX, nor MySQL beyond what is required by the application and/or scripts you run.

On the other hand....

Virtual Private Servers

DigitalOcean provides you with a bare operating system. Once your Droplet is online, you'd access the Droplet by connecting to the Public IP Address via SSH on Port 22. You'll be presented with a command prompt and from there, what the server is used for, how it is configured and what runs on it is entirely up to you.

Apache, NGINX, MariaDB, PHP (or PHP-FPM), Dovecot / Postfix (if you wish to serve e-mail) and any other software you need has to be installed, configured and maintained by you from the CLI. This can be done using the CLI and a package manager which sources pre-compiled packages from the operating systems upstream repository, though you'd still need to configure each piece of software to bring everything together as NGINX, by default, doesn't have a clue about PHP-FPM, nor does it care that it's installed until you tell NGINX to use it by configuring a server block for your domain that passes requests for PHP files through.

You can, of course, install a Control Panel to automate much of this (cPanel included - though it does come with a monthly cost which you'd pay to cPanel directly - DigitalOcean doesn't provide, install or support cPanel in terms of selling you a license, so going directly through cPanel would be the way to go).

There are other alternatives to cPanel, of course, and many are free, though as with any control panel, you're often limited to what they support and that's it (which throws any sort of customization out the window in most cases). You are also at the mercy of the project. If it's discontinued, you're stuck with what you have and in most cases, would be migrating your data again in such an event so that your server is sufficiently updated as patches and releases are made available for the software you use.

How you'd go about configuring everything really depends on what you need. If you just need to be able to run a WordPress site and don't need e-mail (which honestly is better off being hosted off your server - zoho.com offers free and reliable e-mail hosting and you can use your domains), then you could get by with simply installing NGINX, PHP-FPM and MySQL, configuring them properly, creating your server blocks + databases, and then uploading your content + testing to make sure all is working.

About Security

Security, with a VPS, goes beyond your WordPress installation. Security would expand beyond WordPress and scale down in to the operating system. For instance, you'd want to lock down the root user as the root can do anything it wants (see below for a very nasty example).


Example: The root User Can Do Anything

rm -rf * /

The above command, when executed as root, can be interpreted as "Delete anything you find at path /, recursively and with force" where / is the base directory of your server (i.e. where all files for the OS, Software and your content exists). Recursively means that it will traverse through all directories removing all files & all sub-directories, without prompting to ask if it's okay (it assumes it is thanks to the -f).


SSH Keys instead of passwords should be used for all accounts, thus preventing potential "password guessing" / brute forcing and compromise. You'd want to install a Firewall and lock down the server to only allow public access to a limited port selection via your Public IP and then do the same for your Private IP. You'd then ideally use your Private IP for all server-level communication (i.e. requests made by PHP-FPM to MySQL for a connection). You'd also want to lock down your directories by creating a new user & group for each domain name that you host and then assign that user & group to your directories and files, thus (on a basic level) preventing one account from affecting the other.

Of course, the above is just a very brief overview. Much more could and should be done though this post is already about a page or so long ;-).

Is 1GB Enough for 3 Websites?

It may or may not be. It depends on traffic levels and activity. If they are relatively small sites and you've been able to successfully host them with your current shared hosting provider without any complaints from them, 1GB should be more than sufficient.

Can I Only Use Transmit and FTP?

No. SSH and accessing the CLI, or Command Line Interface, is a requirement. You can, of course, use Transmit to upload files for your site, or any files for that matter, though you will need to configure all software on the server first and foremost, otherwise there won't be anything on the server to actually serve incoming requests for your content :-).

  • Too much to consume :P but again, big thanks! :)

    The security part worries me a little :P coz I am not sure if I will be doing it correctly...

    • @kailoon - No problem! I'd rather you have the information upfront. DigitalOcean is one of the best places to learn about Linux, common software & packages, the CLI and just about anything else to do with web development without spending too much. You can always deploy a 512MB Droplet or a 1GB Droplet, tinker around and if something goes wrong, destroy it and start over (so long as there's no live data on the Droplet ;-) ).

      Working from the CLI is the only way to learn the CLI and reading the docs and doing is the only way to learn how to configure software and secure your server. If you're really wanting to take control and step away from the limitations of shared hosting, a Droplet or VPS is definitely one way to do that :-).


      As for the size of the previous post, I prefer to go more in-depth with things like this. I've worked on servers for 15 years now and I've lost count of how many deploy a VPS while automatically assuming it's going to remain secure (without doing anything) only to see their website hacked a few weeks or months down the road. And when it happens, they often blame the provider when it's not their fault.

      Running a web server is much like driving a car. In order to keep the web server in a fully functional state, it needs to be updated and secured just as a car needs it's own level of preventative maintenance (oil changes, new tires, belts, etc) to continue to roll down the road :-).

    • @kailoon

      If you're up for tinkering a bit without having to dive in head first with the CLI, I'd deploy a 1GB CentOS Droplet and take a look at CentMinMod.

      CentMinMod is an auto-installer and the guy behind was one of the server admins for the original Jelsoft team, the guys who made the vBulletin forum software (before they sold it). If you're not familiar with it, it was one of the top forum software scripts on the market before they starting getting some competition (i.e. XenForo).

      CentMinMod is a small bash script you download to your server and run. It provides a very basic black & white text menu, but it's very straight forward. If you visit the link above, look on the far right of the home page and you'll see a screenshot of what the menu looks like and the options that it provides.

      In short, via that menu, you can install NGINX, MariaDB (MySQL fork), PHP-FPM and various other softwares without having to know how to do what I've been discussing. It's not a control panel, but it will auto-install and ease the vast majority of what needs to be done to go live.

      The only thing it doesn't do (right now) is anything with security, so that area would still need to be covered, but the script will handle the other 50% of what you need :-).

Have another answer? Share your knowledge.