How to Install WordPress on DigitalOcean
DigitalOcean is one of the most popular server providers. It’s designed for developers and their pricing has always been transparent. You can connect servers hosted at any provider to SpinupWP, but it’s less complex to provision new servers with DigitalOcean. DigitalOcean is fully integrated with SpinupWP, meaning you can connect SpinupWP to your DigitalOcean account and spin up servers at DigitalOcean directly from the SpinupWP dashboard. No need to bounce back and forth between two dashboards copying and pasting bits of information.
If you haven’t already, you’ll need to sign up for SpinupWP and click Spin Up a New Server from the dashboard.
In this doc, we’ll cover:
- Adding DigitalOcean as a Server Provider
- Provisioning a Server
- Next Steps
Adding DigitalOcean as Your Server Provider
Let’s go ahead and connect to DigitalOcean. Before you start this process, you will need to sign up for a DigitalOcean account if you don’t already have one.
Select DigitalOcean from the list of available providers, and SpinupWP prompts you to authorize with your DigitalOcean account.
If you’re not already logged in to DigitalOcean, you will be asked to do so, and then you’ll be prompted to authorize SpinupWP to access your DigitalOcean account. If you have more than one team in your DigitalOcean account, you will need to choose which team servers you provision via SpinupWP should be created under.
Provisioning a Server
DigitalOcean Server Options
Now you choose the size of the server and what DigitalOcean region it should reside in. We recommend production servers have 2 GB or more of memory. Servers can always be upgraded to a larger size later from the DigitalOcean dashboard but the server will be offline while it resizes. For more help choosing a server size, check out the Server Size doc.
We can also select to have DigitalOcean perform full server backups at an extra cost. This is not to be confused with SpinupWP’s site backups feature which only backs up site files and database, rather than the entire server.
Next you need to enter a hostname for the server, so you can distinguish servers from each other. For example, if you are spinning up a new server for a client site, such as
xyzvanlines.com, then using the domain name is recommended. If you are spinning up a server for your agency to use for a bunch of client staging sites, you might want to use something like
On this screen you will also be able to configure the server timezone. The selected timezone will determine when server cron jobs run as well as the date format of some log files.
You will also have an opportunity to enter an optional post-provision script on this screen. This is a one-time script which will be run on the server once the provision process has completed. This is handy if you have any additional packages you know you will want to install on the server.
Lastly, you can choose to install MySQL on the server or connect an external database server.
Installing MySQL on the new server is very straightforward. The only option you need to think about is the database root password.
A random secure database root password is generated for you, but you can change it to something else if you prefer. You may want to note it down or store it in a password manager for future reference, but you can always reset it in SpinupWP later.
Using an External Database
Using an external database requires a little more configuration, but offers many benefits.
When using an external database you will need to select from a previously identified external database or provide the connection information for a new database. This Hostname, Port, Username, and Password information should be available to you within the interface of your database provider.
If you’d like to use a dedicated external database within your DigitalOcean account and haven’t yet provisioned one, this is a good time to do so. Follow our Setting up a DigitalOcean managed MySQL doc for step by step guidance.
The Name you provide for an external database helps you distinguish between different external databases within SpinupWP. Be sure to choose something meaningful.
Many hosted database providers require you to maintain a whitelist of allowed IP addresses. Be sure to add the IP of the new server we are provisioning to this list when it becomes available a few steps from now.
Run the Provision
Once you’re happy with the settings, click Provision Server and the server will start to be provisioned for you.
This process takes around 10 minutes, but you don’t need to stay on the screen and wait. We’ll email you when it’s complete and put a notification in the top bar in the app.
The IP address of your new server will be provided during this process. If you are using an external database, don’t forget to add it to any whitelists with the hosted database provider.
This can be done from your DigitalOcean dashboard by selecting Database from the left navigation menu, selecting the relevant database from the listing, and clicking into the secure this database cluster section. From here you can add or remove IP addresses to control access.
The server is provisioned with the latest stable server software (Nginx, PHP-FPM, Redis) for hosting WordPress sites. The following docs will help you understand more about how the server is set up and configured:
- Understanding System Users
- File Ownership and Permissions
- Server Paths & Locations
- Understanding PHP Pools
- The SpinupWP Cache Daemon
Once your server is all set up, we can move on to the next part: adding sites. You’ll have the option to migrate an existing site or add a new site. Follow our Getting Started Guide for next steps.