WPCloudDeploy Requirements

WPCloudDeploy is a WordPress plugin and, therefore, it requires an existing WordPress server on which it can be installed.

This presents a classic chicken-and-egg problem.

How do you get a WordPress server when you need a WordPress server already up and running to use the plugin?

Fortunately, most users who will be purchasing this plugin are experienced WordPress admins with multiple WordPress installations so we do not expect that this is going to be a problem.


No Server?

If for some reason you do not have an existing server or site to use, there are four options:

1. Use our pre-built server image on DigitalOcean

You can use our pre-built server image on DigitalOcean to create a new server with WPCloudDeploy Core already installed.

This is the easiest way to get started.

2. Use our pre-built server image on Amazon

Not a fan of DigitalOcean? You can use our pre-built server image on Amazon EC2 instead.

3. Bootstrap a server

You can bootstrap a WordPress server using only the WPCloudDeploy plugin. This is done with our command-line scripts – here are the instructions.

With this method the initial WordPress installation and all subsequent deployments all use the same set of WPCloudDeploy scripts. But, obviously, it’s not the way to go if you want to get up and running fast.

4. Let us create a server for you

If you have purchased a license, you can let us create the server for you for free. We can do this either with a server you provide us or we will use one on Linode and then push the server to your account.


Additional Requirements

  • WordPress should be on the latest versions – currently 6.x.x and PHP 7.4 or 8.x
  • Your Linux server needs Libsodium installed (most Ubuntu servers have this installed but other Linux flavors might not) in order for PHP to handle an encrypted ssh connection to your deployed servers.
  • Your PHP execution timeouts and WebServer timeouts will need to be increased as well. This is required in order to handle long-running Linux scripts. You can learn more about these requirements here.
  • Certain folders and WP services need to be accessible. You can learn more about these requirements here.

Limitations

Most cloud server providers do not allow emails to be sent from their servers unless you install an email relay to your own SMTP servers (you probably already knew that). Therefore, any new servers you provision will not provide you with email notifications and password reset links to facilitate the initial login process. This is why we ask you to provide a known user id and password for admin access before creating a new WordPress site.

Security Recommendations

Since this plugin is the gateway to all your servers, we recommend that you install it on a new site that will only be used to manage servers. By dedicating a site for this purpose you can reduce your attack surface for any hacker interested in targeting you.

If you already use something like MAINWP you can probably install it on whatever site that is running on.

You should also set an encryption key in your wp-config.php file – this is the key that will be used to encrypt your SSH keyfiles in the database:

define('WPCD_ENCRYPTION_KEY', 'yourkeyhere'); 

We strongly recommend that you set this key otherwise your SSH private key files will be stored unencrypted in the database!

Local Installations

You cannot use a WordPress installation that is on your personal computer. This is because servers need to call back into the plugin in order to update it of the status of operations. Most local installations are not accessible from the internet, are behind firewalls or do not have public DNS records.

Firewalls

If you’re running a firewall of any kind it needs to allow the WordPress REST API. It also needs to allow your cloud providers’ IP address range – otherwise new servers cannot communicate with WPCD.