Using ServerPilot with DigitalOcean for a fast, https secured SSL site.
Serverpilot is a control panel for PHP and WordPress Hosting, making it supremely easy to manage servers and applications on AWS, DigitalOcean and Google Cloud Platform infrastructure.
Beaver Brains is hosted on DigitalOcean alongside a number of other sites we manage for clients. For $10 per month we manage 15 client sites including Beaver Brains off of one DigitalOcean server, all managed through the simple and efficient ServerPilot interface. With a £30 / month total spend, we’re saving tons of money and keeping our site running super smooth!
Setting up a new server to host your website can be a complex process of installing and tweaking PHP, Nginx / Apache, MySQL and WordPress. Getting the right combination of settings, including HTTP/2 and caching can make or break your site. ServerPilot optimises your server and application stacks to give you the best performance possible and it does this silently in the background without any need for intervention. Using modern technologies such as HTTP/2, Nginx and PHP-FPM, your server is configured using industry standards that will deliver a fast, reliable environment for your web hosting.
ServerPilot makes the difficult process of setting up complex server environments extremely easy, ensuring that you can host multiple WordPress instances on one server maintaining excellent performance.
We’ve been using ServerPilot in combination with DigitalOcean since we started Beaver Brains. Setting up the system was a simple process of creating a bare-bones Ubuntu server in DigitalOcean and then connecting the server in ServerPilot’s management interface. All you need to get started is the IP Address and Root Password of the server and ServerPilot will then install it’s own user on the server to manage the installation of application stacks and additional users. ServerPilot installs all the necessary stacks you’ll need for hosting websites, including Nginx, PHP, MySQL and others and even includes protocols for CloudFlare.
There are other companies offering similar services – try EasyEngine for Nginx webservers or Cloudways for managed cloud hosting on Amazon, Google, DigitalOcean, or Vultr.
Once ServerPilot has made a successful connection to your DigitalOcean server, it gets to work installing the stacks required to drive your application. Before we go adding apps to our server, we always create additional system users so that we can segment our customers and avoid each of them ‘seeing’ other client folders on the server if they log in via FTP.
Create System Users
Creating users is a simply a matter of providing a username and password and once they are set up, you can then assign them to any apps you make later on in the process. ServerPilot has no option to move apps between system users so it’s vital that you create the user before you set up your app. Moving it later is NOT an option. ServerPilot places the web root folder under the home directory of the system user you create so be sure you choose the correct user…
After you’ve created your system users, you’ll want to move on to creating your app. Creating an application is really easy – just click on the green ‘+Create App’ button in the top right corner of the screen and tell ServerPilot the name and domain of the app.
If this is a WordPress installation, tick the checkbox and fill in the basic information requirements to get it installed. ServerPilot has a choice of five PHP runtime versions from 5.4 all the way up to 7.1 Release Candidate. We opt for PHP 7.0 and keep this consistent if we add additional WordPress Apps to this server later on.
When you set up the server, you’ll add a domain to your app – e.g. ‘example.com’ and later on you can add additional sub-domains like ‘www.example.com’. One of the great features of ServerPilot is the ability to add unrelated domains to your app so that in effect you can run traffic on example.com and anotherexample.com, each of these being correctly interpreted on the server and maintained in the URL address bar of your browser and in WordPress’ General settings.
In fact, even if you just have one domain listed, ServerPilot greys out the setting in WordPress’ General settings area so that you are forced to use ServerPilot’s management interface to make these changes. This ensures that if you do decide to change the domain of your WordPress website, all the changes are made at the server level, eliminating possible domain issues and errors.
ServerPilot creates a MySQL database and tables for each of your WordPress installations and you’ll need to install PHPMyAdmin on the server if you want direct access for any reason. The alternative is to allow remote connections so that you can use tools such as MySQL Workbench to administer the database.
You can also create additional databases for your ServerPilot App by simply giving it name, a username and password.
SSL & AutoSSL
Setting up SSL on your app is supremely easy. You can either provide your own SSL certificates or let ServerPilot issue and re-issue certificates automatically for you using Let’s Encrypt. Just visit the app you want to install SSL on and click the ‘Enable AutoSSL‘ option. This installs the SSL certificate and manages the amendments to your WordPress and Server installation to ensure traffic to and from your site is encrypted with Let’s Encrypts certificates.
We use AutoSSL on all of our applications and if domains change from .dev to live .com, ServerPilot automatically renews the certificate and your app takes up the changes with minimal fuss.
Domain management and AutoSSL is a pretty neat benefit – when developing sites you can move from a staging to live environment with next to no hassle.
For additional information on ServerPilot’s SSL options, visit their documentation pages.
Monitoring and Reports
On our Coach plan we’re limited to viewing performance stats at the server level. If you need to monitor individual application resources you’ll need to sign up to the Business plan. Having CPU, Memory and Bandwidth checks at app level is great if you need to monitor individual client sites. Otherwise server level monitoring should be fine.
ServerPilot offers a free plan giving you the ability to install unlimited servers and websites. However, you won’t get free SSL certificates or HTTP/2 deployment or server health statistics. The Coach and Business plans offer all of this and with Business you’ll also get high priority support and application stats and logs.
ServerPilot’s interface is clean and minimal and whilst we wish there were some additional features, like moving sites between user accounts, we think the overall experience is really great. Performance has been excellent and coupled with Cloudflare, everything seems to work really well. We would definitely recommend this setup for hosting and maintaining a few WordPress sites on one server.