WPCloud Deploy 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.
If for some reason you do not have an existing server to use, there are three options:
- Boot strap a WordPress server using only the WPCloudeploy plugin. You can do so 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. If you provide us access to your server we will install the entire thing for you so you don’t have to wrestle with it yourself.
- You can provision a simple server with WordPress pre-installed at Digital Ocean (or other server provider and then use that to manage all your new deployments.) (No, it’s not ironic to do that because an un-managed WordPress DO server can only handle a single site whereas our plugin does a whole lot more than that.)
- You can request a free fireupwp.com account. This is the easiest way to get up and running. The downside is that you don’t get to experience the full power of the plugin since you can’t customize it and we had to turn off some features that are inappropriate in a multi-tenant environment.
- WordPress should be on the latest versions – currently 5.9.x and PHP 7.4. (PHP 8.x is not yet certified.)
- 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.
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.
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:
We strongly recommend that you set this key otherwise your SSH private key files will be stored unencrypted in the database!
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.
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.