Cloud Server Guide v1.0
Cloud Server Guide v1.0
GUIDE
TO SETTING UP &
CONFIGURING
CLOUD HOSTING
SERVER
by: WP Solutions
Disclaimer
This eBook is written with the greatest care to make sure hosting your
own website(s) on your own clouds goes smoothly and without errors.
However; that being said, it is always possible errors could occur due to
hardware failure and/or human error.
WP Solutions is not a managed hosting service, once you (or through our
services) setup and configured a server it is completely self-managed and
we expect you to resolve issues through the proper channels like Social
Media, Forums, Third Party documentation, Community support or our
Support forum.
Currently this eBook is based on the free Plesk Server Software that is
being offered by Vultr. However we can’t guarantee this Plesk version
will remain free forever. It has been so far for a couple years but if Vultr or
Plesk decide to revoke the free version..WP Solutions will take no liability
or offer any kind of refund in case they do.
WP Solutions reserves the right to delete your account from our website
when this eBook is shared/copied without exclusive permission from WP
Solutions which at that point you will not be able to download any more
copies, have access to updates, your affiliate account or any of our other
services.
If you have any questions strictly about the content in this eBook feel free
to contact us through the support forum and we will try our up-most best
to reply as soon as possible.
WP Solutions will always update this eBook when changes occur either
from their current dashboard. We will update the eBook as soon as
possible when that occurs.
WP Solutions - Setting Up Your Own Cloud eBook - First Release version; 1.0
www.wpsolutions.io
© 2021 WP Solutions
All rights reserved. No portion of this eBook may be reproduced in any form without permission
from the publisher, except as permitted by U.S. & EU copyright law. For Permissions and all
Inquiries, please contact: [email protected]
WP Solutions is not endorsed by Vultr, Plesk or any other third party discussed in this eBook. Any
use of this information is at your own risk.
Content
Intro ��������������������������������������������������������������������������������1
Putty ��������������������������������������������������������������������������������3
Generate SSH Keys ����������������������������������������������������������������������������������������������� 4
Adding the SSH key in Vultr ������������������������������������������������������������������������������� 5
Security ����������������������������������������������������������������������� 49
Plesk Firewall ������������������������������������������������������������������������������������������������������� 50
Fail2ban ����������������������������������������������������������������������������������������������������������������� 52
Web Application Firewall ����������������������������������������������������������������������������������� 53
Malware Scan ������������������������������������������������������������������������������������������������������� 54
Create An Email Address ����������������������������������������������������������������������������������� 54
Mail Server Settings ������������������������������������������������������������������������������������������� 56
Adding TXT&MX Records To DNS ��������������������������������������������������������������� 57
FTP ������������������������������������������������������������������������������������������������������������������������� 59
Intro
Let us start by saying thank you for buying this eBook!
Although we wrote some long threads on several forums this is the first
official eBook that is being released.
This eBook will help you greatly reduce costs of fast and secure hosting
for yourself or for your clients while maintaining the best cost/features
ratio.
However if you follow this guide to the tee you should have no issues with
security at all and that counts for the server and your WP installation.
www.wpsolutions.io
Page 2
Why Vultr?
We’ve tried a few hosts and when it comes to work-flow and ease we find
Vultr’s dashboard best suiting for what we were looking for.
From the most common cloud servers they are also the only one that
have more payment options then just CC/DC and PayPal.
In addition you can pay with Bitcoins, (only after paying once with the
other options) Alipay and WeChat Pay.
The only “negative” with Vultr is that you have to top $10 the first time if
you sign up with PayPal however you can sign up without adding credits if
you register with your CC. Want free $100 in credits to test their servers?
Check page 3.
Digital Ocean
Digital Ocean does have the free version software we will be using so
configuring it all will be very similar but we just don’t like their dashboard.
When signing up with Digital Ocean in their registration process you can
either choose as payment a credit/debit card or your PayPal but when
you select PayPal they require you to deposit $5 first..
www.wpsolutions.io
Page 3
So we recommend either Vultr or Digital Ocean but our personal
preference is Vultr and this eBook is therefore written towards their
dashboard.
Free Credits
We will leave you the “refer a friend” link instead of the normal one(which
only gives you $25) that will give you some credits to test out the platform
and see which one you like best. Keep in mind that credits are valid for
one month.
Vultr $100 credit their site states that this link is up for a limited time,
then again, marketing, they don’t show any message that the credit
is activated upon using the link but it will. You do need to link a valid
Creditcard or PayPal for the credit to be added.
For this guide though go register an account with Vultr. Vultr has also
a lot of fun applications and Linux ISO’s you can play around with for
practice or fun, the free credits are ideal for that.
Let’s begin
Before we select the server location, package and application we need
to do a few things first. The first thing we need to do is create SSH keys.
If you are thinking “Uhm what??” Don’t worry about it, it’s very easy to
create.
Putty
Putty is a program that let’s you connect to your server, it also comes with
a tool called Puttygen which will create the SSH keys.
www.wpsolutions.io
Page 4
SSH is a protocol that makes sure the connection with your server
console is secure.
You can download Putty here and then choose the version that suits your
OS.
When installed you should see 2 new programs, Putty and Puttygen.
Open Puttygen.
Open Puttygen and you will see a similar image as shown on the next
page.
www.wpsolutions.io
Page 5
Leave everything the way it is and press generate, move your mouse a
couple times till the next screen pops up.
After moving the mouse a couple times it will show you an unique key we
will be needing in the Vultr dashboard.
Leave it open for now while we switch back to the Vultr Panel.
www.wpsolutions.io
Page 6
Name it whatever you want. In the box below we will be adding the SSH
key from Puttygen.
Go back to Puttygen and copy the whole key including the ssh-rsa part.
(select/drag all the way down)
Paste it in Vultr and press “Add SSH Key”, should look similar like the
image below. If your code is much shorter you didn’t select it all in
Puttygen.
www.wpsolutions.io
Page 7
Deploy A Server
Now let’s fire up one of these bad boys. Hover the blue button in the top
right again and click “Deploy New Server”.
Choose Server
Now for most of our servers we started with the $5 Cloud Compute which
is more than enough but then again when we started they didn’t had the
High Frequency Compute which will cost you a dollar extra but comes
with serious better hardware.
www.wpsolutions.io
Page 8
It’s basically twice as fast.
They both come with 1CPU, 1GB Memory and 1TB Bandwidth but the
difference is in the type of hardware.
Pretty good for a dollar extra. As said we started most of our projects on
the $5 onces which works fine but we migrated a couple to the faster
ones.
Server location
Either choose a server that is closest to you if you are working on sites in
your region or choose a location based on the targeted demographic you
are working in.
If you are getting traffic worldwide, just choose the location that is
somewhat in the middle or closest where you expect the most traffic from,
with a CDN in place and Cloud Hosting it will be fast anywhere.
Server Type
Tons of options but click on the Marketplace Apps tab and then type Plesk
in search, click Plesk and this is why we love Vultr! (digital ocean added
this later too but messy dashboard)
www.wpsolutions.io
Page 9
As you can see they’re offering three versions, two paid but one
absolutely for free. It’s their basic package which normally costs $9.16/mo
Is there a catch? Yes but not something that has been bothering us.
Normally with the paid basic package you can add up to 10 domains, this
custom free version is limited to 3 domains which is fine by us as on the
majority of our servers we only use one server per website anyway but
we also have a couple with 2 sites on it with no issues at all.
Server Size
Totally up to you of course but we got a bunch of $5/$6 ones running
which work great for most of our sites,we only just upgraded one server
recently and upgrading is just a click away with no downtime.
Keep in mind though, you can only upgrade with cloud servers, you
can’t downgrade.
Additional Features
Up to you.
www.wpsolutions.io
Page 10
Now even though this eBook will show you several methods to automate
backups from within Plesk we would advice you to also take the Vultr
backups as well because they back up the entire server structure and is
just easier to use.
One more benefit of using Vultr backups is that they don’t cost you
bandwidth or disk space.
If you worried about DDOS attacks you can buy the DDOS protection.
However, this setup will be pretty secure and you could always have other
DDOS options for protection but your choice.
Startup Script
You can skip this
SSh keys
Select the Key we created earlier
www.wpsolutions.io
Page 11
Congratulations, you launched your own cloud server. Let it install,
the whole process shouldn’t take more than a couple minutes max. It will
send you an email when done.
note: IF you like me also use the Vultr backups, select your server
and click the “Backups” tab at the top of your server overview.
At the beginning we would set it to daily back ups. These backups will be
placed on a separate cloud.
Vultr will only store the two most recent backups and unless you convert
a backup to a Snapshot each backup is rotated out after each scheduled
interval.
So if you make daily backups every third day the first one created gets
deleted. If you set backups to weekly, every 3rd week the first one gets
deleted etc.
If you have a backup that you want to keep you need to convert that
backup to a snapshot, snapshots won’t get deleted automatically until you
delete em.
note: Snapshots only contain data from the time you made your
backup. Any progress, changes etc you make after will not be
included in the snapshot and will be lost if you restore that
particular snapshop. Snapshots are good for testing server/Plesk
settings. Also as of recent they charge $0.05/GB per month per
snapshot.
www.wpsolutions.io
Page 12
Example;
https://11.123.345.231:8443/login
Most likely you will be greeted by a nice browser warning, don’t worry this
is only because the current server certificate is self-signed, we will create
a secure login a little bit later.
Fill in root and the password from Vultr and you will arrive at the Plesk
installer.
www.wpsolutions.io
Page 13
We just noticed Vultr added an URL in the Plesk welcome screen that is
secured so you can use that one in the future if you like. Anyway, after
you logged in with root and password you will see the following screen
which is shown only once.
Add a new username, fill in your email for server notifications, password
and press Enter Plesk.
If you for whatever reason lose that info, you can always login with the
Vultr username(root) and PW.
Let it initialise for a couple seconds and it will log you in automatically.
They recently added a welcome screen just click the link in the text “I will
create a website later. Explore Plesk.” sentence as you need to properly
configure the server first.
www.wpsolutions.io
Page 14
Configuring Plesk
If this is your first time ever using Plesk you’re probably looking at it like
most people for the first time not knowing where to start.
When you login, the first thing you will notice in the top right is that you
Next is the Plesk 360 icon this function is just released and still a bit
buggy, its a tool for when you have multiple servers, you can read more
about it in our knowledge base, leave it be for now.
Next to Plesk 360 you see a Xhamster like icon.. (or maybe it’s just us
who looks at it like that)
This is the advisor, now don’t start pressing install on everything because
the advisor is more a tool to market products and some are premium
extensions.
Once some trial is expired the server will keep spamming you emails that
your trial is expired and the extension needs a license and we talking
about 100’s of emails a day.
Just ignore everything for now we will get to what to install in this guide.
www.wpsolutions.io
Page 15
As it’s a new server we don’t have to run it. In the left sidebar click
“Extensions” or if you in the repair kit screen the breadcrumb in the top
left.
The main screen will show the catalog. All kinds of extensions you can
install, free and premium but most of it you won’t need. If you want to
experiment with all of these just make a snapshot or backup before you
do that.
If you click “My Extensions” you will see what is already installed at the
moment.
We usually remove what we don’t need or don’t find useful. In our case
social login, PHP composer, the Advisor, Git, skins and colour schemes.
Also remove Domain Connect.(we know, might sound you need it but you
don’t)
www.wpsolutions.io
Page 16
We leave it up to you what you want to remove but everything else not
mentioned you should not remove.
note: in “My Extensions” click the box or image, not the “Open”
button if you want to remove something.
If there are updates you will see a number. Simply go to the updates tab
and update the extension.
Awesome!
In the top search bar, type drive and select Google Drive Backup
(assuming you have a gmail account)
Press the “Get it free” button and let it install, we will get back to it in a
sec.
www.wpsolutions.io
Page 17
note: we are using Google Drive for backups but you also have the option to
backup with Dropbox, Onedrive, Amazons S3, Seafile and a couple paid ones.
Just put in search what you’re looking for.
By the way, the search in the top bar will also display anything within
plesk. Just type in whatever you’re looking for.
Now in search type “Scheduled Backup List” install it and we will get back
to that one later too.
Next one, type “Diskspace Usage Viewer” and install it. This one is handy
to clear cache and remove any temp stuff. We don’t need it directly but
in the future when you have it opened you can select all files and hit the
“Clean-up” button.
Last one for now and optional but it never hurts to make stuff more
secure. Install Google Authenticator. To make it work you will need to
have the Google Authenticator app on your smartphone.
When you enable the extension in plesk you will see the barcode, scan it
with your app, fill in the return code select the options you are comfortable
with and press OK.
Now when you log into your Plesk server dashboard you can only access
it through the Authenticator app.
Configuring Backups
In the sidebar click “Tools&Settings”. As you can see there are a lot of
things going on on that page, don’t sweat it, most of it you won’t be using.
www.wpsolutions.io
Page 18
We usually close this as we store our backups in Google Drive but if for
some reason you’re going to store it on your webserver or locally you
might want to open it and specify a Password.
Click the extension (in this case google drive), select “Personal drive” and
it will open a screen where you need to select the google account that is
associated with your storage. .
www.wpsolutions.io
Page 19
Press ok and in the next screen below Google Drive Backup it should say
“Ready for use”.
On the next page you can see how we got it set up.
We’ve set the time at 3am local time which is best when you only have
native traffic.
If you have traffic from all over the world set something that would fit the
majority or if your site is finished and you’re not adding content daily you
can set backups to weekly or incremental.
www.wpsolutions.io
Page 20
We switched off incremental as we already set full daily backups but
remember, this will cost you bandwidth unless you’re using Vultr’s backup
option. If you don’t have a lot of traffic yet no problem but as your traffic
increases keep an eye on your bandwidth usage in the Vultr Dashboard.
An other option is if you have Vultr Back ups to let this be but we prefer to
have multiple backups.
Good question!
Currently we have it set to full backups so they don’t need any other
backups to restore our systems. An incremental backup links with the
previous backup and only contains changes made after that backup.
It saves space, backs up faster and restores faster but as said, We’re
already doing full backups for now so we don’t want to waste any more
space and besides that we rarely need to restore backups anyway. Ofc
you can also use this, whatever you want, your server ;) moving on.
At the “Keep backup files for” fill in whatever. When designing website
we have it set to daily backups and basicly configured it like the Vultr
backups, every 3 days the first back up is deleted.
Under “Backup settings” make sure you select the Google Drive we made
earlier. You can also store a backup in your Drive and on the server but
we rather not clog up our server.
If your server is getting really big and backups surpasses 500MB in size
tick the “Create a multivolume backup, volume size (MB):” option to split
the backup in smaller sizes. The other options we leave up to you.
Apply>OK.
www.wpsolutions.io
Page 21
In the bottom right under “Additional Services” you should see the
extension “Scheduled Backups List” which we installed earlier.
Click it and if you did everything right you will see a backup is pending.
You can always manually make a backup whenever you want. Just go to
the “Backup Manager” and press backup.
Make sure you select under “Store in” your Google Drive and “Type” Full.
note: keep an eye on your drive storage(if you only have the free one), with
15gb it won’t be full soon just clean it up every now and then. Also, you can
only do scheduled backups of the whole server. If you try it from your domain
panel it becomes a premium service which sets you back about $4 a month.
www.wpsolutions.io
Page 22
System Updates
When you just launched your server you have to do this manually one
time.
Two ways you can go about it, from within Plesk or through the Putty
Console. We prefer the console way(page23) but experiment with both to
see what you like best.
Depending on the current Vultr Image you might have system updates
and you might not with the current Vultr Image, you should see there
are currently updates pending. On our example server there were 110
updates but you will probably have a different number.
If you see a blank page click the “Check for updates”button. On occasion
you might get a white loading screen, if that happens refresh the page.
A popup will show loading all the available updates, when it’s done
loading click the “OK” button and it should start updating. Let it do it’s
thing, it shouldn’t take more than a couple minutes max. (Faster through
the console)
www.wpsolutions.io
Page 23
By default server updates are automated from this point on. If you go to
“Settings” in “System Updates” you will see it’s configuration.
If you want email notifications when an update has been installed leave
your email otherwise leave it blank.
We prefer to work with the console as it’s faster and doesn’t have any
visual bugs that could pop up from time to time like the Plesk dashboard.
www.wpsolutions.io
Page 24
Fill in your server IP and under “Saved Sessions” give it a name and
press Save as you will have to login here every now and then.
Press open and the console will load. The first time you login you will see
a security alert. Nothing to worry about, press Yes.
As you might not be eable to copy paste command lines from this ebook
I made a list of handy lines to copy/paste in your console on the website,
check em here.
www.wpsolutions.io
Page 25
Your login credentials will be asked, login as root and use the password
from your Vultr dashboard.
note: for those that never worked in the command window you don’t use ctrl V
to paste what you copied, you just press the right mouse button ;)
When you’re completely logged in it will show you a screen similar to the
one below showing there are updates available.
You might notice it has 8 more updates than it showed in the Plesk
System Updates. (or just the 8)
That’s because these are Ubuntu Security Updates and Plesk doesn’t
take care of Kernel updates so you have to do them manually but we will
show you how you can automate these too.
First we are going to fully upgrade the server through a linux command
line. (if needed)
Type the following: apt full-upgrade and press y. Let it run and at some
point it will show a purple screen, select yes.
www.wpsolutions.io
Page 26
All should have gone well and it will say “done” at the end.
Now let’s configure the server so it will also update the Ubuntu security
patches automatically.
Select <YES>, great ,now the Ubunty Security updates are automated
too.
Restart the server by typing: reboot, Putty will disconnect so close it.
Keep in mind because it will apply updates automatically from now on you
will have to login the console every now and then to reboot the server.
note: when you go to Tools & Settings> Server Management> System Updates
in the Plesk dashboard you might still see all updates if you had some in the
list, click the “Check for Updates” and press F5 to refresh the page.
www.wpsolutions.io
Page 27
Once you done all this, from now on everything should be automated.
When you click the notifications icon in the top right of your screen you
might see an orange notification saying “Plesk updates are available”
Most likely it already updated to that version automatically so don’t click it,
first check if you’re not already running the correct version.
You can see the current version in the right sidebar under “System
Overview” (only when you already added a domain)
www.wpsolutions.io
Page 28
For now as it’s a new server without a domain it has no right sidebar. We
need to manually install some Plesk updates one time only.
Plesk Installs/Upgrades
Depening on which image Vultr is using, you might need to update the
Plesk core version. Then you need to update and install some Plesk
Components. After that it will be automated.
Again two ways to go about it, through Plesk and the Console.
Like the first time logging into Plesk you will be greeted by a browser
warning(you won’t if you used the https url Plesk provided) because we’re
still on a self-signed certificate, go advanced and accept. You should end
up in the summary screen:
www.wpsolutions.io
Page 29
If there is a core update or component updates you will see a notification
in the bottom right.
Click the “Install or Upgrade Product” option. In the next screen leave
everything the way it is or untick the second option and continue.
Tick the confirmation box, hit continue and let it do it’s thing.
When it’s finished you should see a success message:
In the first version of our eBook we had to install a lot of things separately
but with the new Obsidian version most of the components we use are
already pre-installed and just need some configuring.
If you’re going to use your own server to handle email open the drop-
down in front of “Mail Hosting”
Don’t select the anti virus options as they require a paid license, you
could install “SpamAssasin” but keep in mind it takes quite a bit of your
resources.
Then open the drop-down of “PHP interpreter versions” here you can
install new PHP versions, at the time this eBook was written it’s running
on 7.4 but version 8.0 has also been released. You can install it but keep
in mind that at the moment not all WP plugins are compatable with PHP
8.0 so leave the server on 7.4 for now.
www.wpsolutions.io
Page 30
Select install for the “Plesk Firewall” and optionally “Watchdog system
monitoring” but again it takes resources.
Once all is done hit the continue button at the bottom and let it run. When
done it should give the same success message when you were updating
the core version.
You can close this browser tab, updates should be installed automatically
from now on.
Again, you can’t copy text from the eBook So check this page for handy
copy/paste command lines.
If Plesk Obsidian needs a core update let’s do that first. Type the following
command line: /usr/local/psa/admin/bin/autoinstaller
Next view first type in 1 and press enter followed by f and enter again. At
the confirmation type y and press enter.
www.wpsolutions.io
Page 31
It will do it’s thing and like in Plesk it will give a warning (the false posi-
tive,probably patched when you are reading this)
You can safely ignore this and press y and enter to continue.
You now arrive at the final screen, type f and press enter
Let it run, at some point it has a small pause so it looks like it’s finished
but just leave it, it’s finished when you see the following screen.
www.wpsolutions.io
Page 32
Next we are going to install additional components.
These 3 we use the most besides the ones already installed with
Obsidian but you can install and experiment with whatever:
• PHP latest version (new plesk version should have the latest if not install
the newest PHP version)
• Plesk Firewall
• Watchdog (optional, watchdog keeps an eye on malware but takes
resources, server should be secure enough though)
Let it load and you will see a list with all components.
The ones that are installed and up to date will show [up2date] in front of
the full component name and the ones that you can install shows [install]
To remove something is quite easy too. Let’s remove PHP 7.3 with the
following command:
www.wpsolutions.io
Page 33
And naturally if you want to remove multiple components at the same
time you keep adding the --remove-component + name behind it. Copy it
from here.
Great, Plesk is fully up-to-date now, Reboot the server by typing; reboot
and let’s continue.
Before we forget, if you ever need to repair plesk from inside Putty just
type plesk repair all (we never needed it so far)
Now that we have set backups, updated the server and Plesk it’s time to
set some domain settings so we can add a website.
Server Settings
Head over to Tools&Settings > General Settings> Server Settings
Most settings you can keep as is, at Full hostname you used to enter your
own name like cloud.yourdomain.com but Vultr is using their own secure
servername these days but it’s better to name your server for example
www.wpsolutions.io
Page 34
like this, cloud.yourdomain.com, so it’s easier to configure your DNS
records later on.
Head over to your Vultr dashboard and click your server, go to Settings
and you will see this table with the corresponding data underneath it.
Click it and change it to your hostname we just set in the server settings
(cloud.yourdomain.com) and update it or use the servername vultr is
using in Plesk.
If you used your own name (cloud.etc) We need this to later secure the
Plesk login with Let’s Encrypt and configure the mailserver.
It will probably still show a warning message that your domain isn’t bound
to the right IP yet but it will take a tiny bit less time.
www.wpsolutions.io
Page 35
Press the “+Add Domain” button and in the next screen Plesk recently
added a new option which is Temporary domain name, which could come
in handy if you want to test everything out first.
For this eBook we assume you have a domain so select “I already have a
registered domain name.”
Fill in a username and password, this is for when you want to log into
Plesk with a different name than root, also handy if you handle clients and
set server rights. (cloud.yourdomain.com:8443)
We will not discuss how to do that in this ebook(handle clients) but there
will be an article on the website in the future (or it might even be there
once you read this)
note: you might see a bar above your domain asking if you want to
connect automatically, close this, you might’ve not unistalled the
domain connect extension
Open it and tick the “Enhanced security mode” box. Keep in mind, as
stated once you set it it cannot be undone. What it does is encrypt all PW
you use within Plesk for databases,user passwords and Plesk passwords.
While finishing up this guide Plesk added a new view named the
“Dynamic List” naturally you are free to choose which one you like best
but this eBook and my preference is based on the “Active list” view.
www.wpsolutions.io
Page 36
You can always change the view by clicking the tool icon. But the first
time you will see this button
Most of our domains we have registered with Namesilo & for the sites
we don’t need a CDN for or don’t want to hide the IP we used their
nameservers so we’ll be showing you how to set that up at Namesilo
first.
If you need a new domain and use our link and use coupon:
wpsolutions it will give you an one time $1 off. Not much but it’s
something :)
note: processes at other registrars are similar so shouldn’t be that hard to
figure out.
Namesilo DNS
When logged into Namesilo, click “Domain Manager”, navigate to your
domain and click your url, next to “DNS Records:” click Update.
www.wpsolutions.io
Page 37
We will be needing to add a couple A records. Add a new A record:
With the first A record leave the area under HOSTNAME empty.
Then add 5 more A records with the following names: www, cloud or
whatever you named your server on page 32/33) , ipv4, mail, webmail.
(last 2 only if you planning to use your mailserver,we us a 3rd party host)
As stated above, the A record for “cloud” is for the server name we set on
page 32. If you like us don’t use the mail server you don’t have to add the
webmail and mail A records yet.
We will leave it like that for now, if you’re using the mailserver we will
be adding TXT and MX records a little later. Keep using your registrar’s
Nameservers. (for namesilo it’s ns1.dnsowl.com, ns2.dnsowl.com etc)
We can’t really tell you how fast it goes, we had it finish within an hour
and in worst cases 24-48 hours which they will tell you everywhere that’s
the official time it takes.
www.wpsolutions.io
Page 38
Vultr DNS
If you for some reason don’t want to use your registrars DNS and
nameservers you can use the ones that Vultr is providing.
Go to your Vultr dashboard. In the main screen select the DNS tab and in
the top right click Add Domain.
Same process as above. The only real difference is that with Vultr you
also have to set the Nameservers manually, no big deal.
Under “Type” select NS, “Name” leave empty, under “Data” ns1.vultr.com,
under TTL, 3600 and press the + icon to add the record.
Repeat the process one more time but now fill in ns2.vultr.com. You’ve
now set your Vultr nameservers. (don’t forget the A records)
www.wpsolutions.io
Page 39
If you’re not sure which records to fill out, go into your Plesk dashboard
and under your domain section click the DNS Settings.
Now you probably notice NS records with your domain name so why are
we not using those? Simply because it needs some advanced knowledge
and if they go down for some reason good luck handling that.
Why use free Cloudflare? Because it’s a good free DNS (real fast
propagation) and it puts an extra layer of protection.
Keep in mind though, if you use your cloud also as mail server (pages
54/59) you can’t proxy that in Cloudflare.
So if one of the reasons you want to use Cloudflare is to hide your server
IP you will want to use an external mail service otherwise your MX
configuration will reveal your original server IP.
We will show you a real cheap option for setting up an external mail
server in the misc section.
www.wpsolutions.io
Page 40
Let’s begin. Register an account with Cloudflare if you haven’t already.
Add your site and hit the button and then select the free plan.
If you already set DNS before Cloudflare it will copy most of the current
settings if not you can add them manually like any other DNS. (see page
35)
Check what is added, add or remove what you need and press
“Continue”.
In the next screen it will show you your current Nameservers which will
most likely be your registrars and what you need to replace them with.
In this example you see our Dutch registrar nameservers (the one we will
be using for email) and the Cloudflare nameservers we need to replace
them with.
Keep in mind, you only need to change the nameservers, all your current
DNS settings you have at your registrar or Vultr will be overwritten by
Cloudflare.
www.wpsolutions.io
Page 41
Once you changed them at your registrar hit the Done button.
Like setting the other DNS methods it takes time to propagate but even
though they say it’s within 24hours with CF it was propagated within the
hour. (often within 15min)
So once you click the done button wait like 15-20 min then either hit the
refresh button (f5) or the recheck button and then refresh.
We’re not going into too much details of all the CF options, we will
probably write some articles for the website about it but we will cover
some basic settings to get you going.
www.wpsolutions.io
Page 42
In the main screen you will see the following bar:
First check the DNS settings, they basically need to look the same as the
DNS you already set before and shown on page 36.
All A records need to have the orange cloud stating “Proxied” but again,
keep in mind that if you use your own mail server hackers (or authorities)
can still easily figure out your server IP through the MX record.
The MX and TXT records are DNS only. For every record keep the TTL
on Auto.
As we have configured Let’s Encrypt make sure the setting is set on “Full
(strict)” if you have set it on anything else your site won’t load as this
guide configured the site to automatically direct to HTTPS.
Next: click the “Speed” button in the Cloudflare Bar and then
“Optimization”
Scroll down to “Auto Minify” and make sure everything is turned off
because WP plugins will take care of that and will connect with cloudflare.
Then in the free version you have the choice to use Rocket Loader and
Brotli.
If you don’t use a CDN with it( because we also use a CDN and only use
Cloudflare as DNS) WP plugin will probably turn off or suggest to Turn of
Rocket Loader. Brotli you can keep switched on, Brotli is a compression
method like Gzip(it is said it’s better)
But really, when it comes to tweaking your WordPress Site it’s just testing
all kinds of settings and then go with the best one so feel free to test it
with and without rocketloader.
www.wpsolutions.io
Page 43
There are many testing tools out there but the most complete one that will
show results directly when you changed settings is GTmetrix.
While you are there register a free account. It will let you change to
several test locations besides Canada and it skips queues.
This is the tool we use most for testing, keep in mind that it will not show
the exact loading time for visitors as it loads everything on your site, front
and back-end but it’s great for tweaking your site.
Let’s encrypt
Let’s get a SSL certificate for your domain.(make sure your DNS is
working)
In your domain panel click the “SSL/TLS Certificates” icon.
And in the next screen scroll down and install Let’s Encrypt.
After clicking “Install” a side panel will open, fill out your email, select
“Secure the domain” and if you going to use the mail server select
“Secure the wildcard domain”.
www.wpsolutions.io
Page 44
One more small thing, remember way at the start when we logged into
Plesk it gave the browser warning because the server IP had a
self-signed certificate?
If you select the certificate we just made for your domain you can login
with yourdomain.com:8443. Make sure you select the right certificate.
www.wpsolutions.io
Page 45
If you prefer to login through the server hostname, click the Let’s Encrypt
button;
note: keep in mind, if you prefer to securely log into the server
hostname, cloud.yourdomain.com because you have multiple
domains/clients you can still log into plesk with yourdomain.
com:8443 but the connection will not be secured because the server
your site is on will then run a different certificate.
Hosting Settings
In your domain section select the “Hosting Settings” icon.
This saves you a plugin or editing the .htaccess in WP. Now every
homepage URL will be redirected to https://yourdomain.com.
www.wpsolutions.io
Page 46
Under “Web scripting and statistics” even though we installed PHP 8.0.0
already but it currently conflicts with certain plugins.
Leave PHP on version 7.4.X. for now we will update on the forum when
it’s stable.
Leave the default “run PHP as” on FPM served by Apache. (probably it’s
set on default already)
Why not with Nginx? If you run on a Nginx server WP will not create a
.htaccess and you will have to add things manually which is for advanced
users instead we will be using Nginx as reverse proxy.
When all is set press Apply and OK. One last thing and then we are going
to install a WP installation.
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 100
Under “nginx settings” make sure the first 2 options are ticked, now the
3rd option “Serve static files directly by nginx” We’ll leave that to you.
We serve our static stuff usually through a CDN but if you don’t use that
select it.
www.wpsolutions.io
Page 47
Tick the fourth option “Enable nginx caching”, the default settings should
be fine but experiment on your own risk.
Press Apply and OK and you will return to your main screen.
Installing Wordpress
Plesk makes this very easy. In the left sidebar click on “WordPress” and
the WP toolkit will open, click the “Install” button.
A side panel will slide open from the left. We usually leave most of what is
filled in as is.
The things we change are the “Website Title” and we add some more
characters to the “WordPress Administrator” and “Database” Password.
We’ve used LastPass and Dashlane, they both have free and cheap
premium versions but it’s optional of course.
Press the “Install” button. A screen will pop up showing you the progress,
shouldn’t take long.
When done it asks you if you want to install some plugins, I suggest you
don’t as you don’t have a .htaccess yet which might result in issues when
you want to login.
www.wpsolutions.io
Page 48
You can login directly into your site by pressing the “login” button or click
Setup to change email or password.
If for whatever reason you locked yourself out of your WP, you can always
log into your plesk account and login WP through there or change the
password.
All other options are quite clear, when you click the “Back Up/Restore”
option you will be routed to the backup manager shown on page 16/17.
In the beginning the “Security status $” will show all is ok but later on it
will say “DANGER” spooky!!
Don’t worry about it though, after you’re done with this eBook everything
is secure it just shows what could be an issue rather than it actually being
an issue just to tickle your emotions to buy the premium toolkit. ;)
Also don’t mind the warning notification about themes and plugins, you
will update these within WP, sync is a bit behind in Plesk.
Under Tools you see some options, we usually turn off the indexing till
the site is done and ofcourse turn on Caching through nginx.
www.wpsolutions.io
Page 49
All the other options we leave up to you, if you unsure what they do click
the ? for explanation and always make a backup or snapshot if you have
doubts.
Security
Plesk, Vultr and WordPress are already kinda secure against the majority
of people that want to screw you but as always if they really really want to
mess with you they can but at least let them work for it right.
Luckily Plesk takes care of most of the security through a couple settings,
let’s configure them.
www.wpsolutions.io
Page 50
Plesk Firewall
Either type in the searchbar “firewall” or go to Tools & Settings > Security
> Firewall. (which we installed on page: 30).
You can leave everything as is after but let’s say some IP is messing with
you or you want to block an IP for other reasons.
Click the “Modify Plesk Firewall Rules”and then “Add Custom Rule”
Under Properties;
Name the rule(whatever you want), select “Incoming” then Action >
“Deny”.
Scroll to sources, type the IP, you want to block and press “Add” and at
the bottom “OK”.
Example page 51
www.wpsolutions.io
Page 51
In the next screen you see a warning, hit this button then click
“Activate”.
On default the majority is set to “Allow incoming from all” don’t worry, that
doesn’t mean they can just easily hack your server because it works with
fail2ban which will ban every IP according to some rules and suspicious
behaviour.
However, if you work from the same set of IP’s constantly you can really
tighten the firewall.
For example, IF you use FTP from just one IP you can deny all IP’s but
whitelist yours.
Click the “Modify Plesk Firewall Rules” again and in the list click the FTP
server:
If you select “Deny” it will block all FTP traffic including your server which
will prevent certain updates instead we will tick the option “Allow from
selected sources, deny from others”.
www.wpsolutions.io
Page 52
Add your server IP and any IP you’re working from. Press Ok, the “Apply
Changes” > Activate again and now every other connection will be
blocked instantly.
note: If you see an error in the top bar when activating/updating the
firewall, just wait 10 seconds and apply and activate again.
Fail2ban
Go to Tools&Settings > Security > IP Address Banning (Fail2Ban)
In Obsidian it’s already activated so go to the “Settings” tab. You will see;
Above are the default settings you can play around with. 600 seconds
equals 10 minutes.
www.wpsolutions.io
Page 53
Currently with these settings our server has already banned hundreds
of IP’s so it works pretty efficiently. (bots are attacking servers and sites
daily 24/7)
But it’s quite tight which means if YOU enter something wrong 3 times
your IP will be thrown in jail too.
To avoid this go to the “Trusted IP Addresses” Tab and add your home
IP or the IP’s of your Proxy/VPN/VPS/ just to make sure you don’t throw
yourself in jail.
Don’t know what the IP where you working from is? Just go to whoer.net
and find out. If you have a dynamic IP, well, don’t enter it wrong ;)
In Obsidian all jails are already activated so you don’t have to configure
anything else. Moving on.
Set it to “Detection only” for now., scroll down “Apply > OK”. Once you’re
done with your site, are sure about all your plugins and settings you can
set it to “On” again.
www.wpsolutions.io
Page 54
Malware Scan
In your domain section click the “ImunifyAV” icon. This is a freemium
mailware scan tool.
We don’t use it often but if you ever run into issues you can.
Press the Scan button and it will check your WP installation for malware,
act accordingly.
You can do this from within Plesk but on default it’s not configured.
If you have the “Can be used to log in to Plesk” ticked you can login into
Plesk with that email.
www.wpsolutions.io
Page 55
Enter a recovery email in the field “External email address” and fill out a
Password for your new email address.
Most likely it will arrive, now reply to it. It will say that it was send
successfully but did it?
If you send it to a Gmail address it will actually arrive but it will go straight
to the spam folder, When you send it to other mail providers besides
gmail it will never arrive and occasionally it will end in a spam folder.
Go back to roundcube (or horde) and compose a new email and paste
the mailtester email address, give it a title and some text and send it off.
Go back to mail tester website and press the pretty blue button to check
your score..
As you can see, it currently sucks and won’t even arrive 9 out 10 times,
let’s fix this.
www.wpsolutions.io
Page 56
If you did install SpamAssassin click the “Spam Filter” option and tick the
box behind “Switch on server-wide SpamAssassin spam filtering”.
If some email address is sending spam to your Plesk created email just
go to the “Black List” tab and click and drop any email you
want to block in the list.
Remember when we were setting the DNS server we said we have to add
TXT and MX records later on, you have arrived at that point.
www.wpsolutions.io
Page 57
Remember you can take a peek for your domain records in your domain
panel under “DNS Settings”.
TTL 3600, Distance (with others usually named priority) 10 and Submit it.
Next we will add the TXT records from your Plesk DNS Settings, 4 in
total:
1
HOSTNAME: _domainkey
TEXT: o=- (or change this to whatever you want in plesk just make sure
you update it in the DNS settings of your plesk domain dashboard)
TTL 3600
2
HOSTNAME: _dmarc
TEXT: v=DMARC1; p=none
TTL 3600
3
HOSTNAME: default._domainkey
TEXT: A very long one, copy/paste the whole line:
v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GN etc etc
TTL 3600
www.wpsolutions.io
Page 58
4
This one will be slightly different from what the Plesk dashboard shows.
HOSTNAME: leave empty (or @ with some registrars)
TEXT: v=spf1 +a +mx +a:cloud.yourdomain.com ~all
Now if you look at your DNS within your Plesk Website panel (DNS
settings) you see that nr4 is slightly different.
In this guide it ends with ~all and in your DNS Settings it shows -all, you
will need to change that.
Click the link in front of your v=spf1 (yourdomain.com.) and change - into
~ “Apply > OK”
If you change anything don’t forget to update the DNS settings, you need
to do it twice.
Press “Update” and then you click the “Apply DNS Template”
Like the A records it will take some time before it’s all propagated.
To check the status of your MX records, we find the following site always
useful: https://mxtoolbox.com
www.wpsolutions.io
Page 59
Time to take a break or you can continue reading.
Good Job! Your own created email addresses will now send and receive
the right way.
Don’t use it for mass spam because Vultr won’t be happy with that.
IF you still can’t receive or send an email, it could be that Vultr has the
email port closed, just send them a ticket to open it and that you will be
using it for just the occasional support email and you’ll be fine.
FTP
We assuming you will be uploading some stuff through FTP. (we don’t we
use the Plesk File Manager)
www.wpsolutions.io
Page 60
If there is an account in there click it and set your password. If you want
to create a new account click the +Add a FTP Account.
Assuming most of you already know how to FTP files but for those that
don’t: Download Filezilla
In “Host:” type your server IP and fill out your Username and Password
you have set and click “Quickconnect” leave Port empty
If you login for the first time it will say something about the certificate, just
tick the “Always trust certificate in future sessions” and press OK.
If your login was successful on the right it will look like this:
www.wpsolutions.io
Page 61
Double click the httpdocs and you will enter your WP installation folder.
I’m also going to assume you know what to do from here if not and you
haven’t figured it out check our Knowledge Base or drop a line on the
support forum.
note: If it won’t connect it’s most likely you either haven’t installed
the plesk firewall or you didn’t enable it which in that case the server
will block the connection. But if you followed this guide correctly
you should connect ;)
We might have forgotten stuff and/or made some errors along the way, if
so, let us know or if we find them ourself we will change them.
Whatever is the case, you will always be able to receive future versions of
this eBook free of charge.
Bonus/Miscellaneous Stuff
From here on some tweaks, tips/tricks and the bonus.
www.wpsolutions.io
Page 62
Astro Pro Agency Bundle Currently costs $249 so a pretty cool bonus
right?
It will include the Astra Pro Plugin and on request only the WP Portfolio
Plugin, Access to Premium Site templates and the Ultimate Addon plugin
(elementor or beaver builder)
When you got the server running and WordPress installed you first need
to download the Astra Theme and activate it.(from the WP repository)
If you bought this through BHW you can send me a PM providing the
email you bought the ebook with, the purchase number and a WP admin
login of your site so I can install and activate the plugins and add an Astra
Child Theme. (see; What is a Child Theme?)
If you need more options like licensed Elementor Pro and other premium
features check out the website. If you still after reading this eBook don’t
want to set it up for yourself check out our Preconfigured Servers. If you
just want to buy Astra Pro and Elementor Pro together for a cheap price
follow this link.
www.wpsolutions.io
Page 63
note: Keep in mind though, there will be no priority support for
themes or plugins as the prices would have to increase. Plenty of
info in FB groups and from YT videos to be found however you can
discuss anything WordPress related on our community forum plus
we will be adding more articles and videos to the knowledge base
soon.
Although we must say FB groups really suck to find answers as it’s hard
to find info, the overview just sucks and it’s too crowded so we still prefer
the forum.
Tips/Tricks
Just some extra stuff that helps with your server.
Only use this when updating system updates or testing out new
extensions, configurations etc and you don’t feel like making a full
backup.
Remember, this is only for temporary use and you should delete the
snapshot after. It used to be free but they now charge $0.05/GB per
month.
www.wpsolutions.io
Page 64
The snapshot is not a substitute for full backups and should only be used
when you playing around with settings.
You can see a snapshot like the Ctrl Z otherwise known for most as the
“undo function“ and it will re-roll to that exact state.
Select your server, name it your website name because if you have
multiple sites, they all show up in the same screen so you know which
snapshot belongs to which site and hit “Take Snapshot”.
Or click your server and you will also see the tab “Snapshots” and follow
the above description.
Again, this is not a substitute for backups and should only be used for
quick testing/tweaking the server.
www.wpsolutions.io
Page 65
Once done delete the snapshot or you can keep it but remember if
you revert back it will load everything that was saved at the time of the
snapshot, every change you made after will be lost.
To still hide your server IP and use your own email we will be using a
Dutch provider as it’s one of the cheapest we could find and we’re using it
ourselves for all our domains.
Don’t use this for spamming because that’s really not the goal. The goal
is you have a business email for normal traffic. Like support emails, sales
emails etc.
Select the cheapest Package and press the direct order button, the blue
button or is it purple? The cheapest package is “start” but you will see
medium first, press the arrow on the left to see the start package.
You will pay for one year and the price for unlimited domains is €6.53/$
7.74 incl tax, that’s €0,54/$0.64/mo so peanuts for mail.
Hit the order button and in the next screen register an account. After
registering you can select a payment gateway.
www.wpsolutions.io
Page 66
Click the link and you will be logged in automatically into the DirectAdmin
dashboard which is in English so great!
If you haven’t got any domains added yet it will show you the DirectAdmin
main dashboard but if your have domains added it will first show you a
screen with all domains listed.
In the next screen at the top left click “Add another Domain” and then
under “Create Domain” add your domain without the http/https prefix, let
everything else as is and click “Create”.
After you have successfully added your domain click the Home Icon and
select your added domain.
Now back in the DirectAdmin main dashboard go create your email under
“E-mail Management”> E-mail accounts.
Click the “Create mail account” and fill out your details and press “Create”
in the next screen it will show the detail but forget the Pop settings as we
are going to use a different one.
Your email will work directly if you click the “Webmail” Icon at the top in
DirectAdmin. Go test it ;)
www.wpsolutions.io
Page 67
However if you want it to work with a mail client or WordPress etc you will
need to add some DNS records from the DirectAdmin to your main DNS
provider (Cloudflare, Vultr, Namesilo etc).
Go back to the main DirectAdmin screen and under “Your Account” click
“DNS Management”.
You’re only going to copy the MX record and all TXT records plus the
“smtp” and “mail” A records (dont need the AAAA) to your main DNS.
For the two A records you will be using the IP that is shown in
DirectAdmin.
www.wpsolutions.io
Page 68
As you can see, 4 A records and IP’s are that of our server and all the
other ones are the mail records we used from Vimexx.
(ip4 needs to be ipv4 as stated earlier)
In this case we had to switch off the proxy for the third party A records
otherwise the mail didn’t work but as it’s not our server IP it doesn’t matter
that it can been seen.
If you want to add it to a program that uses SMTP, for the incoming and
outcoming server we will use mail.zxcs.nl.
We have Thunderbird installed because it’s free and you can add many
email accounts, your configuration should look like this:
WordPress Optimization
In the first writing of this eBook we had another 15 pages about WP
optimization but we decided to scrap that due to the real purpose of this
eBook which is to set up your own cloud hosting server.
www.wpsolutions.io
Page 69
However, we will write several articles and record some videos in the
future about the subject.
Last Words
This concludes this guide for now. Again, thank you for buying and
reading this eBook.
When you purchased this guide you were automatically added to the WP
Solutions mail list so you will get an email when there is a new version for
this eBook which of course you can download for free.
You can always unsubscribe but you will not receive any updates
notifications.
There will be articles on our site about Plesk over time and also feel free
to ask away on the WP Solutions forum because in our opinion FB groups
suck for sharing knowledge as you have to search forever for answers
and the general overview is just bad.
www.wpsolutions.io
Page 70
Best regards,
Team WP Solutions
www.wpsolutions.io