WordPress en email hosting

Er zijn heel veel hosting bedrijven waar je je website kunt hosten. Veel hosters zijn inmiddels overgenomen door Team blue en TWS. Voor dat ze overgenomen worden goedkoop, maar zodra ze onder een van deze twee behoren, gaat de prijs significant omhoog! Daarom leg ik je in deze blog uit hoe je zelf je eigen WordPress en email hosting installeert op een VPS (virtual private server).

Prijzen van webhosting

Op internet lees ik veel prijsverhogingen van oa Neostrada, Vimexx en Versio. Ze verhogen de prijzen niet een klein beetje, maar zoals @Loller1 op Tweakers uitgerekend heeft met 11600% vergeleken met 2018.

Daarom ben ik paar jaar geleden al gaan zoeken naar een alternatief. Zo maak ik zelf al ruim een jaar gebruik van de gratis VPS van Oracle. Hier kun je gratis een 4 CPU ARM/ 24ram VPS gebruiken (als er ruimte beschikbaar is). Omdat dat niet altijd het geval is ga ik deze handleiding gebruik maken van Hetzner. Maar hierdoor ben je alsnog minder kwijt als dat je bij een andere webhosting boer kwijt bent. En vergeet niet, de prestaties en beveiliginsopties zijn veel beter. WordPress laadt stukken sneller dan dat ik bij Neostrada/Vimexx ooit heb gehad.

Zo ben ik uitgekomen bij het volgende:

Domeinnamen: Oxxa.com € 3.89 ex btw per jaar.
Nameserver DNS: Cloudflare gratis.
Webhosting: Hetzner shared vCPU ARM64, bijvoorbeeld CAX11 met cloudpanel. Vanaf € 4.59 per maand.
Emailhosting: MXroute. Vaak aanbiedingen bijvoorbeeld: € 35 per jaar voor 50GB of met black friday had ik een box gekocht voor € 30,- 25GB voor 3 jaar. (dus tientje per jaar).

Meer uitleg over waarom ik voor deze providers heb gekozen lees je per hoofdstuk hieronder:

Hoofdstukken

Oracle Cloud Free Teer

Als je toch Oracle Cloud wilt proberen, ga je gang! Prestaties zijn geweldig en ping naar mijn server in Amsterdam is vanaf mijn KPN lijn maar 2ms!


Klik op de plaatjes om deze te vergroten.

Oxxa: Domeinnaam vastleggen of verhuizen.

Voor de domeinnamen ben ik voor Oxxa gegaan. Zover ik begrijp tegen inkoopprijs bij SIDN voor Nederlandse TLD. Als je echt veel domeinnamen hebt kun je ook voor Openprovider gaan.
Bij Oxxa kun je ook gratis NL tld verhuizen met behoud van de registratietijd.

In dit voorbeeld gaan we keet.cc verhuizen:

Maar je kunt natuurlijk ook een nieuwe domeinnaam vastleggen.
Voor het verhuizen vul je je verhuiscode in.

Cloudflare: nameservers

Met de DNS instellingen van het domein maak ik gebruik van de nameservers van Cloudflare voor extra beveilingsopties straks in WordPress.

Maak een account aan op https://dash.cloudflare.com
Maak overal gebruik van de free plans.
Als je ingelogd bent klik dan op “Add site” en vul de domeinnaam in, in mijn geval keet.cc
Cloudflare importeert alle huidige DNS entry’s, dus je huidige site of email blijft gewoon werken.
In de laatste stap krijg je van Cloudflare nieuwe nameservers, die gaan we nu invullen bij Oxxa.

In mijn.oxxa.com ga je naar Domeinen > klik op het tandwiel bij het domein waarvan je de nameserver wilt wijzigen. Klik op de +.

Vul hier de nameservers in die je hierboven van Cloudflare dient in te vullen. Bijvoorbeeld:

Wacht nu 24 uur voordat de nameservers van Cloudflare in gebruik zijn. Meestal krijg je van Cloudflare een mailtje als dit het geval is.

Hetnzer

Aanmaken VPS

Dan is het aan Hetzner. Hetnzer is goedkoop en betrouwbaar. Ping naar hun locatie in Nurenberg is vanaf mijn KPN lijn 14ms.
Maak een account op Hetzner.com
Create a server:
Kies een locatie: bijvoorbeeld Nurenberg.
Kies een OS: Ubuntu en Debian kan allebei.
Kies het type vCPU. Ik ga voor de goedkoopste Ampere, dat zijn de nieuwe CPU’s van Hetzner. Je krijg hierdoor met cpu’s en ram dan bij het x86 platform.

SSH key

Bij SSH-keys, gaan we eerst een SSH key aanmaken. Er van uitgaande dat je Windows gebruikt. Als je Linux gebruikt weet je wss wel hoe dit te werk gaat.

Open in Windows een Command Promp: Windows Toets + R, typ cmd.exe, daarna ENTER.
Typ: ssh-keygen

Ga naar de map waar de ssh key nu opgeslagen is, in dit geval: C:\Users\sande/.ssh
Open de public key: id_rsa.pub met notepad. Kopieer alles naar Hetzner.

Klik nu in Hetzner rechts op Create and Buy. De Firewall gaan we nu aanmaken.

Firewall

De VPS zou binnen 1 minuut al up moeten zijn. Ga nu eerst in het linker menu naar Firewalls en maak een firewall aan.
Zoek je eigen publieke IP adres, bijvoorbeeld op whatsmyip. Die vullen we in bij poort 22, zodat SSH alleen toegankelijk is van jouw eigen ip adres. Hierdoor gaan bots niet aankloppen op je SSH server.

Vul bij poort 22 en 8443 alleen je eigen publieke ip adres in.
Vul bij poort 80 en 443 any IPv4 in.

Cloudpanel: Installeren WordPress

Cloudpanel is een gratis panel met goede opties voor het installeren van WordPress. Extra beveiligings opties waardoor je server alleen bereikbaar is vanaf ip adressen van Cloudflare. Pagespeed en Varnish cache ingebouwd voor een nog snellere website.

We loggen eerst in op je cloudbox van Hetzner.
Open je command promp in Windows weer.
Typ: ssh root@ipadresserver
Typ yes voor het accepteren van de nieuwe fingerprint van SSH.

Eerst gaan we de box updaten:
apt update && apt -y upgrade && apt -y install curl wget sudo

Ga naar: https://www.cloudpanel.io/docs/v2/getting-started/hetzner-cloud/installation/installer/ voor installatiehulp voor Hetzner.

Uiteraard begeleid ik je ook door de stappen:

curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o install.sh; \
echo "85762db0edc00ce19a2cd5496d1627903e6198ad850bbbdefb2ceaa46bd20cbd install.sh" | \
sha256sum -c && sudo CLOUD=hetzner bash install.sh


Wacht nu geduldig to Cloudpanel is geïnstalleerd.
Ga in de browser naar het ip adres van je hetzner box met poortnummer 8443:

Kies WordPress site:

DNS in Cloudflare aanpassen

We gaan even terug naar dash.cloudflare.com om de domeinnaam naar het ip van de Hetzner box te verwijzen.
Ga naar DNS > Records.
Maak een A record met @ als naam en bij IPv4 address het ip adres van je Hetzner box. Proxy aan!

Ga nu naar SSL/TLS om enqryptie op strict te zetten, waardoor alle certificaten van Cloudflare gebruikt moeten worden om een verbinding te krijgen.

Certificaten kopiëren naar Cloudpanel

We gaan nu het certificaat aanmaken in Cloudflare.
Ga naar SSL/TLS > Origin Server en klik op Create Certificate

Gebruik onderstaande instellingen. Ze staan meestal goed uit zichzelf.

Kopieer nu het certificaat en Private key van Cloudflare naar Cloudpanel.

Cloudpanel
Cloudflare
Cloudpanel

Allow traffic form Cloudflare only

Ga nu in Cloudpanel naar Security en vink Allow traffic from Cloudflare only aan.

Test de website!

Yes, WordPress is up met alle extra beveilingsopties via Cloudflare!

Wordpress landing page
Snelheid van mijn website

WordPress inloggen en eventuele backup terugzetten

Ga naar https://domeinnaam.nl/wp-admin/
Met de plugin UpdraftPlus kun je makkelijk op je huidige WordPress site een backup maken en deze herstellen met dezelfde plugin.

Pagespeed en Varnish cache

In Cloudpanel > Settings, kun je ook je PHP versie aanpassen. Mocht na het terugzetten van je backup je site nog gebruik maken van een oudere PHP versie, dan kun je die hier bijvoorbeeld terugzetten naar PHP 7. Ook maximale upload filesize kun je aanpassen.
Ook PageSpeed kun je daaronder nog aanzetten.

Onder het kopje Varnish Cache kun je uiteraard ook Varnish Cache aanzetten, voor nog wat meer caching. Vergeet niet na het aanpassen van je site de cache weer te legen.

Extra beveiligen /wp-admin | /wp-login.php*

De login pagina van WordPress maak ik altijd alleen toegankelijk voor mijn eigen publieke ip adres. Je kunt er ook voor kiezen, mocht je vaak onderweg in willen loggen, een TOTP van Cloudflare te ontvangen in de mail. Zo zijn er geen bots die constant op je wp-admin inlog pagina proberen in te breken.

Hier heb ik al eens een blog over geschreven. Die kun je hier vinden.

Mxroute: Email hosting

Voor email hosting kies ik voor MXroute voor een aantal redenen.

  • IP reputatie na Google en Microsoft een van de beste.
  • Onbeperkte domeinnamen en email-adressen
  • Zeer goed betaalbaar, vooral met meerdere domeinnamen

Marketing email sturen is spam bij MXroute

MXroute zal je van hun platform verwijderen als je marketingmail stuurt. Zakelijke mail verkeer is wel toegestaan, maar geen bulkmail of nieuwsbrieven. Gebruik hiervoor een service als: Amazon SES , Sendgrid, Mailgun, Postmark of Mailchimp.

Maak een account aan op mxroute.com
Hierna krijg in je mailbox een email met de inloggegevens naar het DirectAdmin paneel.
Ga naar het paneel bijvoorbeeld op https://pixel.mxrouting.net:2222

Na het inloggen met je gebruikersnaam en wachtwoord ga je naar Account Manager > Domain Setup > Add New.
Vul de domeinnaam in, in dit geval keet.cc en klik op Create.

Wat is DKIM en SPF?

Deze DNS entry’s zijn benodigd voor het goed aankomen van je mail in de mailbox van degene die je emailt. Hierdoor weten spamfilters of jij wel degene die je beweert dat je bent. Met SPF houdt dat in dat er wordt gecontroleerd of de verzender van een e-mail is gemachtigd om een bericht te verzenden namens de afzender van het bericht. DKIM voegt een unieke digitale handtekening toe aan de e-mails die je verstuurt. Deze handtekening bevestigt dat de e-mails echt van jouw domein afkomstig zijn. Belangrijke elementen om toe te voegen dus, anders komt je mail in de spambox van de ontvanger!

Toevoegen DNS entry’s voor mail in Cloudflare

In DirectAdmin gaan we naar Account Manager > DKIM keys
Kopieer hier alleen de DKIM key!

Login bij Cloudflare voor je DNS instellingen van je domeinnaam.
Ga naar DNS > Records

Voeg nu onderstaande dns entry’s toe. Vervang pixel door de server die in de mail met serverinstellingen staat. Bijvoorbeeld Wednesday, Lucy of andere server van hun.
Let op bij de CNAME dat je de Cloudflare proxy uit zet.

DNS entry’s kun je hier kopieren eventueel:

;; CNAME Records
mail CNAME pixel.mxrouting.net
webmail CNAME pixel.mxrouting.net

;; MX Records
keet.cc MX 20 pixel-relay.mxrouting.net
keet.cc MX 10 pixel.mxrouting.net

;; TXT Records
_dmarc TXT "v=DMARC1; p=none; sp=none;"
keet.cc "v=spf1 include:mxlogin.com -all"
x._domainkey TXT "v=DKIM1; k=rsa; p=JOUWDKIMKEY"

Wordpress en Cloudflare

SSL certificaat aanvragen

Om verbinding met de server vanaf je Outlook of Thunderbird client met poort 993 of 465 SSL poorten te maken, hebben we een SSL certificaat nodig. Deze kunnen we aanvragen in DirectAdmin onder SSL Certificates. Als het goed is staat het venster dan op: “Use the best match certificate”. Als domeinnaam.nl al onderin staat ben je klaar en is certificaat al automatisch opgehaald en kun je naar het volgende hoofdstuk.

Mocht hij daar niet bijstaan, ga dan naar “Get automatic certificate from ACME Provider“. Klik hier mail.domeinnaam.nl en webmail.domeinnaam.nl aan, twee andere domeinen die hij automatisch aanvinkt, mag je ont-vinken. Klik dan op Save. Als je een foutmelding krijgt moet je iets langer (10 minuten) wachten tot je domein door Cloudflare goed naar de DirectAdmin server verwijst.

Emailadres aanmaken

We zijn zover om een emailadres aan te maken. Ga naar Email-Manager > Email Accounts. Ik maak hier als voorbeeld [email protected] aan.

Spamfilter instellen

Bekijk sowieso even de documentatie van MXroute over het spamfilter.
Ik stel Blocking Strategy in op User Spambox, hierdoor gaat alle spam naar je Postvak In > Spam ipv naar de Postvak IN of naar Main Spambox op een ander mailadres.
De Threshold stel ik zelf op 9 in, maar ik raad je aan te beginnen met 10. Mocht er toch wat spam in je mailbox komen, kun je hem wat strakker afstellen naar bijvoorbeeld 9 of 8.

Terugzetten mail uit vanuit oud mailadres

In DirectAdmin zit een hele handige optie: ImapSync. Hierdoor kan je mail vanuit je oude mailadres kopiëren naar je nieuwe mailadres. Bijvoorbeeld in het voorbeeld hieronder vanuit je ziggo mailbox.

Catch-All

Met een Catch-All zorg je ervoor dat alle mail voor het @ aankomt in je main inbox. Bijvoorbeeld [email protected] of [email protected]. Zo kan je bijvoorbeeld voor elke webshop of dienst een apart emailadres gebruiken, zonder dat je elke keer in DirectAdmin een forward moet aanmaken. En je kan er ook voor zorgen dat wanneer afzenders een spelfout maken, het bericht toch bij jou aankomt.

Inloggen mailclient

In dit voorbeeld gebruik ik Thunderbird, maar dit geldt voor elke email client.

Vul bij hostname mail.domeinnaam.nl in en bij gebruikersnaam je mailadres.

Inkomende server poort 993 met SSL
Uitgaande server poort 465 met SSL

DNSSEC

Door DNSSEC aan te zetten geef je simpel gezegd een digitale handtekening mee aan alle DNS verzoeken. Zo kan jouw domeinnaam niet misbruikt worden.
Wil je uitgebreider lezen wat DNSSEC is? Lees dan de blog van TransIP.

Ga in Cloudflare naar DNS > Settings > Enable DNSSEC

DNSSEC instellen in Cloudflare

Neem de instellingen van Cloudflare over in Oxxa:

DNSSEC instellen in OXXA

Tot slot

Je bent helemaal aan het einde gekomen van deze handleiding! Hartstikke bedankt voor het lezen en heeft het je geholpen van het opzetten van je eigen WordPress en emailhosting!

Heb je vragen of wil je goedkopere WordPress of email hosting, maar vind je het te ingewikkeld om zelf op te zetten? Dan kun je contact met me opnemen.

Chat openen
Hoi, welkom op mijn website. Kijk gerust even rond en als u vragen hebt dan hoor ik het graag.