Google Cloud VPS met Wordpress

Op deze pagina:

Op deze pagina worden de termen "VPS" en "Compute engine" door elkaar gebruikt, ze betekenen hier echter allemaal hetzelfde. Zelf heb ik het meestal over een VPS, maar in Google Cloud heet dit een Compute engine.

Het doel is om een Linux VPS in te richten met Apache, PHP, MySQL (LAMP server) voor het gebruik van Wordpress. Het gebruik van meerdere websites moet kunnen, maar op deze pagina wordt alleen het installeren van één website op de LAMP server beschreven. Dit moet volgens de huidige voorwaarden van Google gratis kunnen, alleen een domeinnaam zal wel geld kosten.

Free Tier

Google Cloud heeft mogelijkheden om gratis producten te gebruiken. Aan dit gratis gebruik zijn wel voorwaarden en beperkingen gebonden.

Je hebt een Google account nodig, zoals Gmail en een creditcard, ook al is het gratis. Google wil met de creditcard onder andere controleren of je een mens bent en geen bot.

De stappen

Een aantal stappen zijn noodzakelijk:

  • webserver installeren (LAMP)
  • Wordpress installeren
  • Domeinnaam koppelen
  • SSL certificaat installeren via Let's Encrypt
  • Cloudflare koppelen
  • Wordpress site inrichten met thema en plugins

Google Cloud Platform

Ga naar cloud.google.com.

Log in met je Gmail account en klik als de webpagina is geladen rechtsboven op Console.

Je wordt eerst gevraagd om de voorwaarden te accepteren. Accepteer de voorwaarden.

Bovenaan staat een aanbieding om gratis credit te krijgen, klik op Activate om dit te krijgen.

Selecteer je land en accepteer de voorwaarden.

Je wordt nu gevraagd om je gegevens in te vullen, waaronder je creditcard gegevens.

Als je alles hebt ingevuld, kun je beginnen.

Begin een nieuw project en geef het een naam. deze naam mag je zelf kiezen.

Als je alleen Wordpress wilt hebben, dan is een snelle manier om Wordpress te installeren via 'Marketplace' zoeken naar 'Wordpress certified by Bitnami'. Als je de LAMP stack (Linux Apache MySQL PHP) wilt hebben om zelf een Wordpress installatie uit te voeren, dan kun je via 'Marketplace' zoeken naar LAMP Stack.

Om gebruik te maken van de Free Tier, moet je een f1-micro VM instance nemen in één van de volgende locaties:

  • Oregon: us-west1
  • Iowa: us-central1
  • South Carolina: us-east1

De bootdisk is maximaal een 30 GB HDD.

Snapshot storage is maximaal 5 GB in één van de volgende locaties:

  • Oregon: us-west1
  • Iowa: us-central1
  • South Carolina: us-east1
  • Taiwan: asia-east1
  • Belgium: europe-west1

Bij extern IP-adres moet je kiezen voor Static (vast) in plaats van Ephemeral (wisselend) om dit IP-adres straks eenvoudig aan je domeinnaam te koppelen..

Vink aan dat je zowel 'http' als 'https' verkeer wil toestaan.

En natuurlijk ook een vinkje voor het akkoord gaan met de voorwaarden van GCP.

SSH instellen

Je moet een public en een private key aanmaken. De public key moet naar Google Cloud Platform, de private key is alleen voor op je eigen computer, deze private key moet je geheim houden.


# 'sleutelnaam' en 'gebruiker' moet je vervangen door je eigen gegevens
ssh-keygen -t rsa -f ~/.ssh/sleutelnaam -C gebruiker

Bekijk de public key met:


# 'gebruiker' en 'sleutelnaam' moet je vervangen door je eigen gegevens
cat /home/gebruiker/.ssh/sleutelnaam.pub

Je kunt nu de inhoud van de public key kopiëren vanaf het scherm. Deze inhoud begint met "ssh-rsa" en eindigt met de opgegeven 'gebruikersnaam'.

In Google Cloud kun je nu via het menu gaan naar 'Compute engine' en dan 'VM instance'. Selecteer je 'VM instance' en scroll naar beneden naar 'SSH keys'. Daar staan nu nog geen keys. Klik in het pagina menu bovenaan op 'Edit' en scroll weer naar beneden naar de 'SSH keys' en klik dan op Show and edit. Je krijgt nu een invulvak 'Enter public SSH key' waar je de inhoud van je SSH key kunt plakken. Scroll daarna naar beneden en klik op de Save knop.

Mocht je nog geen vast ip-adres hebben ingesteld: Klik nogmaals op Edit in het pagina menu bovenaan. Zet je network interface op Static ipv Ephemeral.

Domeinnaam koppelen aan het IP-adres van de VPS

In Google Cloud platform moet je eerst via Network services, Cloud DNS, een DNS zone aanmaken.

Zone type moet "^Public"^ zijn.

Zone name is een naam die je zelf mag kiezen, geen spaties en geen hoofdletters gebruiken.

DNS name is je domeinnaam (zonder www)

DNSSEC kan je beter nog even uitlaten totdat je domeinnaam is gekoppeld, dit komt de snelheid van de omzetting ten goede.

Klik op Create om de records aan te maken.

Je krijgt nu te zien dat er DNS records zijn aangemaakt, die van het type NS moet je straks bij je domeinnaam provider gaan invullen, dus daar waar je je domeinnaam hebt aangeschaft.

'Add record set' aanklikken om een DNS record aan te maken in GCP. Vul je domeinnaan in zonder 'www' om een A record aan te maken. Plak het ip-adres wat je eerder hebt gekregen. Daarna nog een recordset toevoegen: een 'CNAME'-record. Gebruik hier je domeinnaam met 'www' ervoor. Bij "Canonical name" vul je je domeinnaam in. Kopiëer de nameservers, die moet je bij je domeinnaanbeheerder invullen.

In het beheergedeelte op de website van waar je je domeinen hebt aangeschaft:

Selecteer de domeinnaam die je wilt gebruiken op Google Cloud Platform. Klik op 'Add record set'.

Je kunt nu een A record toevoegen voor je domeinnaam (zonder www ervoor). Vul het static IP-adres in van je VPS en klik dan op Create.

Klik nu weer op 'Add record set'. je kunt nu een CNAME record toevoegen. Vul bij DNS name je domeinnaan in, nu met www ervoor.Bij Canonical name vul je je domeinnaan in 'zonder' www ervoor. Klik dan ook weer op Create.

Nu kun je de nameservers toevoegen die je bij de NS records ziet staan:

  • ns-cloud-e1.googledomains.com
  • ns-cloud-e2.googledomains.com
  • ns-cloud-e3.googledomains.com
  • ns-cloud-e4.googledomains.com

Let op dat je de punt aan het einde, achter com, niet meeneemt (zoals die op de webpagina wel staat).

Zet eventueel eerst "^ DNSSEC "^ even uit zodat de aanpassingen sneller actief worden.

SSL via let's Encrypt

Ga naar Compute engine, VM imstances, klik bij Connect op SSH om via SSH in te loggen op de virtuele machine (VPS).

Zorg nu dat een SSL certificaat geïnstalleerd wordt en dat deze automatisch verlengd wordt.

Alle verkeer moet ook omgeleid worden zodat alle verkeer via HTTPS loopt.

Een CDN toevoegen zoals Cloudflare

Via gtmetrics.com kun je zien he je website nu presteert.

Ga naar cloudflare.com/cdn en maak een account aan. Kies voor het 'Free Plan' (gratis).

Je krijgt dan te zien dat je de nameservers moet aanpassen bij je domeinnaamprovider, de eerste twee namen uit de NS records van Google Cloud mag je nu vervangen door die van Cloudflare en de laatste twee mag je verwijderen.

Op de Cloudflare website kun je nu op de icoon van Crypto klikken voor de SSL beveiliging. Zet deze op Full (strict) als je al een SSL certificaat van let's Encrypt had geinstalleerd.

Klik op de icoon van "^ Caching "^. Hier kun je de 'Browser cache Expiration' aanpassen, Als je je website niet zo erg vaak aanpast, dan kun je deze op wat minder vaak zetten, zoals bijvoorbeeld een maand.

Nu kun je weer terug naar gtmetrics.com om te zien of je website nu beter scoort.

SFTP

Controleer eerst hoe de bestandpermissies staan op de /var/www/html directory en pas deze eventueel aan naar gebruiker en groep 'www-data'.

 

Verwante artikelen