If you are looking for faster cloud hosting for WordPress or WooCommerce and also want to have full control over the server with root access at the affordable price then I would suggest you go with Upcloud.
They have managed cloud server for WordPress and WooCommerce and easy to use interface. This post will help you install WordPress instance on NGINX web server with Redis and CloudFlare as a free CDN provider.
At the same time; you’ll able to give write permission to your WordPress root directory that will let make any change you would like make on your WordPress theme and plugins from /wp-admin interface.
Sign up for Upcloud Account
If you have not yet signed up for UpCloud then you can sign up using this button below. Sign up for UpCloud Promo Code
Deploy Your Upcloud Server
I am going to use Ubuntu 20.04 Server. If you are going to install multiple WordPress sites then choose at least 2GB of RAM and choose the closest location where your business is or clients are located.
Don’t forget to check the box at the bottom for your personal IP address.
Note down your root password for your Ubuntu server and IP address.
Upcloud also emails your root password. Start that email for quick access.
Login as root via SSH or Putty
Take your IP address 126.96.36.199 and login with root username and root password.
Run the following commands to configure your Ubuntu.
apt update && apt upgrade -y
apt install -y ufw
ufw allow http
ufw allow https
ufw allow ssh
Give new user sudo privileges
usermod -aG sudo name
Login with new user via SSH
Logout and log back in with your new username and password for Ubuntu
wget -qO ee rt.cx/ee4 && sudo bash ee
Add A records to your domain DNS
Before you install and configure WordPress on your server. Add your server IP address to your domain under A records
Install & configure WordPress
You would not need to install PHP, NGINX, Redis, and WordPress one by one manually. All the packages will downloaded, installed and configured automatically.
Alter the following command with your website domain name, email id, wp admin username, password, wp database name. For more ee commands look below..
sudo ee site create mySite.com --type=wp --ssl=le --cache --dbuser=aks84 --dbname=myblogname --admin-user=myAdminNema --admin-pass=adminPassword --email@example.com
Give Permission to WordPress Root Folder
Login as root user from putty or SSH and run the following commands. replace /site.com/ with your domain name
Add the following code to wp-config.php
Overwrite and exit (ctrl+o and ctrl+x)
Write Permission to WP Root – EasyEngine
This command is specific to EasyEngine WordPress installs. Replace /site1.com/ with your domain name
chown -R www-data:www-data /opt/easyengine/sites/site1.com/
Replace /site1.com/ with your domain name
chown -R www-data:www-data /opt/easyengine/sites/site1.com/app/htdocs/
EasyEngine All Install Options
Here is EasyEngine all install options to Deploy WordPress with; you should have a look at these option, if you would like to customise it even more. This is strain from EasyEngine docs.
ee site info –type=wp [–cache] [–vip] [–mu=] [–mu=] [–title=] [–admin-user=<admin-user>] [–admin-pass=<admin-pass>] [–admin-email=<admin-email>] [–local-db] [–with-local-redis] [–php=<php-version>] [–dbname=<dbname>] [–dbuser=<dbuser>] [–dbpass=<dbpass>] [–dbhost=<dbhost>] [–dbprefix=<dbprefix>] [–dbcharset=<dbcharset>] [–dbcollate=<dbcollate>] [–skip-check] [–version=<version>] [–skip-content] [–skip-install] [–skip-status-check] [–ssl=<value>] [–wildcard] [–yes] [–force]
Adding CloudFlare CDN with EasyEngine
Go ahead and create your Cloudflare free account, add your domain and create API key. Replace email and CF API key
sudo ee config set le-mail firstname.lastname@example.org
Sudo ee config set cloudflare-api-key asdfa3453sdfsafdjas;lkjdf;ljsa