How to Install WordPress on DigitalOcean Using ServerPilot

Serverpilot Review

How to install WordPress on a cloud server like a Pro and cut seconds off Page Load time in the process.

My shared WordPress hosting has really been a problem lately so I’ve decided to replace it with a dedicated virtual private server (VPS).

This is part 1 of a 3 part series of posts I’ve written to share my experience choosing a VPS for VMinstall.com. Let’s go…

Shared Hosting Alternative

Or, get Simple or Blazing Fast hosting WordPress!

ServerPilot Review:

Before we dive in let’s review who should use this guide:

  • Are you a small business owner who wants a low-cost website platform that is also easy to manage?
  • Are you tired of playing the hosting discount price game where ‘ONLY’ new or introductory purchases get a discount?
  • Are you tired of paying for shared hosting that slows down when your neighbor’s website gets busy?
  • Is shared hosting causing your page load speed to become a factor and you’re getting out-ranking on Google by less relevant web pages?
  • Or maybe you’re planning to do a mobile responsive theme upgrade want your site to be snappy on the speed test?
  • Or are you wanting to learn how to administer Linux, Apache, MySQL, and Php?
  • Finally, are you as intrigued by the cloud as me and want to get your hands dirty?

If this list gets your blood rushing, I’d say the cloud is probably in your future!

[skip all the talk and jump to the good stuff]

Let me put on my project manager hat and define a scope for this proof of concept.

By the end of this POC, I want to complete the following tasks:

  1. Compare cloud service providers for a ‘low cost alternative to shared hosting.
  2. Compare the ease of use of getting WordPress up and running in the cloud.
  3. Compare tools for managing Linux, Apache, MySQL, and Php (LAMP).
  4. Choose a POC winner that meets my expectations.
  5. Setup a demo site that I can use for more testing.

That’s my scope…and I estimated it all to take about 8 hours for the POC. But then creating new WordPress sites in the cloud will take about 5 minutes…

Comparing Cloud Options for Beginners

The first item on my list of to-do’s is researching cloud providers that offer a plan for small websites.

After some searching, I’ve narrowed my options for a cloud service provider down to AWS, Google, and DigitalOcean.

Let’s assume for time sake the complexity to do the setup will be about the same on all 3 cloud providers. That said when we compare their prices a big difference quickly jumps out…

Here’s the pricing breakdown:

  • Both Google and AWS would vary in cost between $19 – 29 US dollars per month for a small VM (1 CPU, 512 Memory, no SSD).
  • Digital Ocean would be a flat $5 US dollars for a small VM (1 CPU, 512 Memory, 20 GB SSD).

I thought DigitalOcean sounded too good to be true so I did my due diligence and read a few reviews by other tech bloggers who have also made the transition from shared hosting to the cloud for their WordPress sites.

The recommendation that got my attention was from an interview with Gael Brenton of AuthoryHacker on ContentChampion.

Here’s part of what Gael had to say…

…it’s like VPS with a SSD’s etc so it’s pretty fast!

Gael’s making a good living trusting his WordPress websites on DigitalOcean. >> Click Here << to listen to the podcast.

Check! That takes care of my first task.

  • Compare cloud service providers for a low cost alternative to shared hosting. Done.

So after picking DigitalOcean as a starting point, I wanted to find a tool to use for managing my VM.

You see, unlike with a shared hosting account, there isn’t a control panel such as cPanel or Plesk where you set up DNS, create databases, and install your applications.

In my opinion not having a control panel is probably the BIGGEST show-stopper for non-technical bloggers moving to a VPS!

Let’s press on because the good news is I found a couple of alternative control panels that work with most cloud providers, including DigitalOcean.

Ease of Use & Cloud Server Management

Let’s review 4 ways someone can set up WordPress on DigitalOcean.

  1. Create a droplet that already has WordPress installed (droplets are what DO calls VM instances). This will work but what if you want to run more than one website on the same droplet? Also, it requires Linux skills to get around and you have to set up an FTP server which might be a bit too much administration.
  2. If you are a Linux admin you could create a LAMP droplet, which is similar to option one but will let you run wild on the CLI.
  3. You could create a basic Linux droplet and use ServerPilot, which I found to be a simple alternative to cPanel, without the whistles and bells. It will set up LAMP and manage it from the Server Pilot control panel.
  4. Or you could use Cloudways, which is another cloud management solution that also works with DigitalOcean, AWS, and Google, but has more features than Server Pilot. In my quick review, the main difference I noticed is you are paying CloudWays for 3rd party management of DigitalOcean resources.

There you have them, 4 options and I am sure there are much more:

  • Very Techie
  • Somewhat Techie
  • And Somewhat Non-techie

Yet, all will work to get WordPress running in the cloud on a virtual private server.

Hmm…Which cloud option will it be?

They all sound awesome, but I have to admit something. Actually, it’s why I have stayed on shared hosting for so long.

The truth is – as much as I love technology, I just don’t want to have to be logging into Linux to manage my website.

I also don’t want a 3rd party to get between me and my VMs. So even though I like what CloudWays offers, I want to be able to deal directly with DigitalOcean, AWS, or Google myself. But I’m not going to completely rule CloudWays out because I still have until December before I need to move my hosting…and another POC may be in the future.

So, after getting my DigitalOcean account set up. I quickly found myself using ServerPilot to do my initial testing.

Check! That takes care of tasks 2 and 3. 

  • Compare the ease of use of getting WordPress up and running in the cloud. Done.
  • Compare tools for managing Linux, Apache, MySQL, and Php (LAMP). Done.

For now, my preference is option #3, use Digital Ocean and Server Pilot.

Now with these tasks out of my way, the first thing I did was set up a Digital Ocean account. I used PayPal to pay a flat rate of $5 for one month. Note: My usage for the first month may vary because I will be spinning up multiple low cost servers during my POC.

While I’m on the topic of fees, let me compare the basic DigitalOcean plan with a typical shared hosting plan that has similar technical specifications.

Comparing Go Daddy Shared Hosting Plans

First, let’s look at the hosting plans. Note: The data comes directly from GD’s website.

  • Basic Shared Hosting (No SSD Storage)
    • Economy* $6.99 per month ($4.99 per month for first timers) – 1 website, 100GB storage, 1 CPU, 512 memory (no SSD). *Includes cPanel
    • Deluxe* $8.99 per month ($5.99 per month for first timers) – unlimited websites, unlimited storage, 1 CPU, 512 memory (no SSD). *Includes cPanel
    • Ultimate* $14.99 per month ($7.99 per month for first timers) – unlimited websites, unlimited storage, 2 CPU, 1 GB memory (no SSD). *Includes cPanel (FYI: This is the one I have. It’s expiring soon, which is why I will be moving.)
  • Premium WordPress Hosting* If you want SSD storage you have to go with a GD WordPress hosting plan.
    •  When on sale the Base plan* is $1.00 per month for 1 website ($6.99 when you renew) 1 website, 10GB SSD. *Includes cPanel
    • Deluxe* is $5.99 on sale ($8.99 when you renew) 1 site, 15GB SSD storage. *Includes cPanel
    • Ultimate* $8.00 on sale for first timers ($14.99 when you renew) 2 websites, 30GB SSD. *Includes cPanel
    • Developer* 14.99 for first timers ($24.99 when you renew) 5 websites, 50GB SSD. *Includes cPanel

Now compared with BlueHost, HostGator, and iPage, GD prices are average.

I also want to note that I left out other features GD shared hosting offers so please >> click here << for all the details.

Sorry if I went off track but I felt this bit of information on shared hosting prices was important!

Time for the Technical Stuff

Once again, before we begin going through the guide, I want to warn you that some of the tasks from here on will include logging into Linux using ssh or Putty from Windows, running CLI commands, and setting up and copying files over FTP. Sounds awesome, right? Let’s begin…

How to install WordPress on Digital Ocean using Server Pilot

First off, I want to thank Derrick Bailey for his YouTube video that got me warmed up for my POC.

In the end, one tweak I made is I didn’t need to use CloudFlare to manage my DNS. I will show you how to point the domain directly to your server IP if you are using Go Daddy. Other than the slight differences in the Server Pilot UI, Derrick did an awesome job. Kudos!

Here is Derrick’s video:

Below is what I ended up with following Derrick’s video to the letter.

  • I could connect DigitalOcean to ServerPilot
  • I could install WordPress
  • I could create a MySQL database
  • I could FTP to my server
  • I could register multiple domains
  • I could set up DNS via Cloudflare

ServerPilot gave me all the basic functionality of cPanel.

What was missing was PhpMyAdmin which I often use for hacking the database.

Time to try something different…

After fiddling around for a while with this setup, I decided to try a DigitalOcean WordPress droplet.

This would cut out ServerPilot altogether and make it a cleaner plan. But then afterward, I thought about all the technical stuff I do and felt something was missing so I deleted this droplet.

Next, I created a PhpMyAdmin droplet, which was already set up with MySQL and Apache. But when I went to set up ServerPilot I got an error that LAMP was already installed so it wouldn’t add the server to the ServerPilot console. This droplet went bye-bye, too!

On my fourth pivot, I created a basic Ubuntu 14.04 droplet, then joined it to ServerPilot. Then I found a post on ServerPilot’s support blog that gave instructions for installing PhpMyAdmin. Now I had the following working:

  • I could connect the DigitalOcean server to ServerPilot
  • I could install WordPress
  • I could create a MySQL database
  • I could FTP to my server
  • I could register multiple domains
  • I could administer MySQL with PhpMyAdmin

But I still didn’t want to use Cloudflare. Nothing against the service, I just didn’t want 4 (including domain management) accounts to handle what one Go Daddy account used to do.

Here’s the fix I came up with: After deploying 4 different WordPress instances, I figured out how I could just change my GD DNS and point my @ record directly to the Digital Ocean server IP. This worked perfectly as long as I was registering the domain in the App setup on ServerPilot.

Now I could:

  • Connect DigitalOcean server to ServerPilot
  • Install WordPress
  • Create MySQL databases
  • FTP to my server
  • Register multiple domains
  • Administer MySQL with PhpMyAdmin
  • And I could manage DNS without another tool

Also, I want to note, because I was only changing the server IP in DNS at GD and not updating to new name servers (NS), the change was almost instant versus taking 8 or more hours for DNS to update servers across the globe.

Woo-Hoo, this takes care of task #4! Done.

  • Choose a POC winner that meets my expectations.

Now I can now create as many WordPress sites on one DigitalOcean droplet as I want using ServerPilot as my control panel (or until my storage and CPU/memory run out on my droplet).

Next, I will guide you step by step and show you how I did it…

Beginners Guide: Installing WordPress On A Cloud Server

For the rest of this post, I will be guiding you step by step through the POC process I used while creating a WordPress website on Digital Ocean. And, at the end, you’ll be able to run your own speed test on my demo site.

>> Download this Guide <<

Here’s ALL the technical stuff we will cover in this guide:

  • How to set up a DigitalOcean account and then create a server (droplet is what DO calls them).
  • How to set up a ServerPilot account and connect to a droplet at DigitalOcean.
  • How to log in to Linux using Putty and run a script.
  • How to set up an FTP connection using FileZilla.
  • How to change the @ record in DNS at Go Daddy.
  • How to create an application using ServerPilot and install WordPress.
  • How to create an application on ServerPilot for creating a MySQL database.
  • How to set up PhpMyAdmin within your WordPress installation to manage your database.
  • Running a speed test on the demo site.

We have a lot to cover so let’s get going…

Setting Up DigitalOcean for first-timers.

Here are the steps I used to set up my Digital Ocean account and create droplets:

Step 1. First, create a DigitalOcean account at www.digitalocean.com and then log into your account. Here’s how. After clicking the link above, just fill in the blanks on the form with your email and password, and then click the ‘Create Account’ button. (Included in this step, but not shown is setting up a payment. I used PayPal to pay $5.)

Digitalocean Coupon

Step 2. Once you are logged in, next you’ll want to click the green button at the upper right to create a droplet. It will take you to the ‘Create Droplet’ page.

Digital Ocean Server Pilot Wordpress

Step 3. On the ‘Create Droplet’ page, now enter a Droplet Hostname: I used ‘MyServer01’ for this example but you can use whatever you want.

Step 4. Continuing on, next select a size. I clicked on $5/Mo which is perfect for my needs.

Digitalocean Review

Step 5. Next, choose a region nearest to you. I am in Phoenix, AZ so I am choosing San Francisco.

Digitalocean Pricing

Step 6. Next, you can pick one of the ‘Available Setting’. I left them all unchecked.

Step 7.  Now pick an image. If you plan to use ServerPilot then you must choose UBUNTU 14.04 x64 as the ‘Select Image’ choice.Digitalocean Promo Code

For now, I will skip adding the SSH Keys.

Step 8. Now you can click the big green button at the bottom that says ‘Create Droplet’Digital Ocean Review

You will see the next 2 screens while your droplet is getting created…

Digital Ocean Hosting Review

Once the droplet creation is completed your dashboard will look like this and you should get an email from DigitalOcean with the server login information.

Hosting Website On Digital Ocean

Our droplet setup is complete, this task is Done!

Setting Up ServerPilot for first-timers.

Here are the steps I used to create my ServerPilot account and connect to my DigitalOcean droplet.

Step 1. First, create an account at serverpilot.io to begin. You will need to enter your email and a password. Once set up, log into your account.

Cpanel Alternative

The first thing you will notice is how much ServerPilot’s dashboard looks like DigitalOcean.

Step 2. To begin, click the green button in the upper right ‘Connect Server’ and you will be taken to the connect a server page.

Serverpilot Review

Step 3. On the ‘Connect a Server’ page, fill in the form by entering the droplet hostname you created at DigitalOcean, all lower case.

Also, enter a password for the FTP account you will be using (The default FTP username is ‘serverpilot’. Now click the blue ‘Start’ button. (Please remember the password you enter because you will need it when configuring your FTP client.)

Digital Ocean Server Pilot Wordpress

Step 4. Go to your email and look for the email from DigitalOcean about the droplet you created earlier. You will need it when you run the installer script.

Beginner Guide Digitalocean Serverpilot

If you are on Windows, now you will need to install Putty so you can ssh to the server. From Linux or a Mac, you can just ssh from a terminal. >> Putty download link <<

Once Putty is installed you can set up the connection like this so you can ssh to your server. When you’re ready to click the ‘open’ button at the bottom.

Beginner Guide Digitalocean Serverpilot

The screen will change and you will see a console open to your server’s command line.

Before you can do anything on your new server you will need to change the password. Enter ‘root’ as the user name and the password shown in the email. Heads up because this can be a bit tedious.

Step 5. Once you have changed your password you will need to go back to your ServerPilot and ‘select’ and ‘copy’ the script that was created when you fill out the ‘Connect a Server’ form. Beginner Guide Digitalocean ServerpilotSelect the script and right click, then copy the script into the CLI. Now click on the command line and hit enter. Stand by as the script does the install.

Beginner Guide Digitalocean Serverpilot

It will end at a screen that looks like this. At this point, your server from DigitalOcean is now connected to your ServerPilot dashboard and you can now manage it from the control panel.

Beginner Guide Digitalocean Serverpilot

You can now close the Putty session by typing ‘exit’ then enter. And you can also close the DigitalOcean window because from here on you will be working from the ServerPilot control panel.

This task is done!

Status Check:

  • At this point, you have created both a DigitalOcean and ServerPilot account.
  • You have created your first droplet on DigitalOcean.
  • You have installed Putty and connected to your server via ssh.
  • You have run the script to connect ServerPilot to your DigitalOcean droplet.
  • You are ready to start installing WordPress.

Next up, we’ll be covering step by step how to install applications on a DigitalOcean server via Server Pilot.

Installing Apps on ServerPilot for first-timers.

Here’s what we will be doing next. We will be setting up an FTP connection, creating apps, and we’ll also make the required change I spoke of to DNS so the domain URL points to our new cloud server.

Step #1. Let’s begin by covering how to set up an FTP Client for our server.

I’m going to assume you already know what an FTP client is and zoom through this step.

The default username is ‘serverpilot’ and the password will be whatever you set it to when you joined the server earlier. Note: If you can’t remember the password you’ll need to install the application first, then you can change the password by accessing the user setting.

I like to use FileZilla and here is the download link. Create a new site, fill in the IP, select SFTP for the protocol, change the user to normal, and enter the username and password. Now click connect.

Beginner Guide Digitalocean Serverpilot

If it works you’ll be connected to your server and soon there will be folders added as you create applications in ServerPilot.

Beginner Guide Digitalocean Serverpilot

Step #2. Creating your first application in ServerPilot is easy. Begin by selecting the server – ‘myserver01″ for example.

Beginner Guide Digitalocean Serverpilot

Step #3. This will take you to a page with a big blue button for creating an ‘app’, click it.

Beginner Guide Wordpress Cloud

Step #4. Now fill in the fields. Then click the ‘Create App’ button at the bottom of the form.

Beginner Guide Cloud

Step #5. When your app is finished creating you will see a screen like this. The webroot ‘public’ directory will show up in your FTP window, and this is where you upload the WordPress files.

Beginner Guide Cloud

Step #6. Setting up your new server IP for your domain in Go Daddy. Note: I am cutting out all the steps for logging in. Once you are on the Edit Zone page, click the edit icon.

Beginner Guide Cloud

Step #7. Edit the zone record with your server IP address. Then click finish.

Beginner Guide Cloud

WOW! That was fast…the website was almost immediately available after updating the zone record.

Step # 8. Now let’s quickly cover is how to create a database.

Navigate to your ‘Apps’ and click the big blue ‘Create Database’ button at the upper right. Then fill in the form and click the ‘Create’ button below the form. For the WordPress setup, make sure to copy down the DB Name, Username, and Password. Also, the server name you will use will be ‘localhost’.

Beginner Guide Cloud

Step #9. Here’s a >> link to WordPress.org << where you will download the WordPress file for your blog. At this point, it’s a basic WordPress installation that includes uploading the WordPress files to the webroot ‘public’ directory and then opening the URL and running the setup from a browser.

Navigate to your domain URL and the basic WordPress install page should open. After you pick a language you will move to the next page, then click the run the install button at the bottom, which will take you to a page for filling in the database information from step #8. When you’re done click the submit button.

Beginner Guide Wordpress Cloud

Step #10 is extra. If you want to install PhpMyAdmin here’s the >> link << to “How to install PhpMyAdmin on ServerPilot”.

Final Status Check:

  • At this point, we have set up an FTP client and have logged into the server where we can upload our WordPress files.
  • We have created our first app for ‘virtualizeaz’.
  • We have updated the @ record zone to point to our Digital Ocean server IP.
  • We have validated the URL works for www.virtualizeaz.com.
  • I have shown you where to go to create a database.
  • I have given you a link to download WordPress and showed you how to do an install.
  • I have given you the link to the page that shows how to install PhpMyAdmin.

You are now ready to roll! 

What’s next…

Here’s a link to my DigitalOcean >> demo site << so you can take it for a spin. I have set up a speed test for you. It’s amazing how much better WordPress runs on a VPS with SSD storage. But don’t take my word for it to run the test for yourself. Then follow this guide and do your own DigitalOcean and ServerPilot installation.

Digital Ocean Server Pilot Demo Site

Task #5 from the scope is Done!

  • Setup a demo site that I can use for more testing.

UPDATE: To find out how this POC is going check out Part 2 of this series and read my Cloudways Review where I compare cloud management solutions and cpanel alternatives.

Please feel free to link to this guide and share it on your social sites. Thanks!

Note: Some of the links used in the guide are affiliate links. Also, for security reasons the server I used for this demo was deleted and replaced with another droplet built using the same process.

Discussion

  1. Joe
  2. Isaac
  3. Joe
  4. Isaac
  5. Joe
  6. Daniel

Leave a Reply