WordPress på DigitalOcean: Raskt, enkelt og sikkert nettsted på under 10 minutter!

Raskt oppsett av WordPress på DigitalOcean

Nybegynnere innen blogging og nettsideutvikling lurer ofte på hvordan man kan oppnå raskere lastetider for sine nettsider på delt hosting, der begrensninger er velkjente. Etter en del frustrasjon, ønsker mange å bytte fra delt hosting til en skybasert løsning.

DigitalOcean (DO) er en av de første skyplattformene som ofte dukker opp i tankene.

DO er et utmerket valg for nybegynnere; det er rimeligere enn AWS og GCP, skalerbart, raskt og tilbyr alle de nødvendige funksjonene.

Å konfigurere en nettside kan likevel være utfordrende hvis du ikke er erfaren med systemadministrasjon. Du får operativsystemet og må ordne alt selv. Alternativt kan du vurdere Cloudways, som lar deg sette opp en DigitalOcean-server med noen få klikk, uten å måtte håndtere alle de tekniske detaljene. De tilbyr også premium-versjoner av DigitalOcean Droplets.

Etter å ha mottatt mange henvendelser om hvordan jeg setter opp WordPress på DO, har jeg satt sammen denne guiden for et bredere publikum.

Før vi går inn i den tekniske implementeringen, er det viktig å merke seg at DO ikke tilbyr domeneregistrering. Dette betyr at du ikke kan kjøpe et domene derfra. Vi antar at du allerede har et domene. Hvis ikke, kan du enkelt kjøpe et fra for eksempel Namecheap.

La oss starte…

Det finnes flere metoder for å installere WordPress, men den enkleste jeg har oppdaget er å bruke EasyEngine. I denne veiledningen vil vi benytte EasyEngine til å installere all nødvendig programvare og konfigurere en WordPress-nettside.

Skaffe en DigitalOcean-server

DO har datasentre på mange steder globalt. Velg et som er nærmest din målgruppe.

  • Logg inn på DigitalOcean (eller registrer deg hvis du ikke har en konto).
  • Opprett en ny «Droplet» og velg Ubuntu 18.x som operativsystem.
  • Velg en «Droplet»-plan som passer dine behov. For en start, bør 2 GB eller 3 GB RAM være tilstrekkelig.
  • Velg overvåking som et tilleggsvalg.
  • Oppgi et vertsnavn og klikk «Opprett».

Det tar omtrent ett minutt, og du vil se den nyetablerte serveren oppført.

DO sender serverlegitimasjonen til din registrerte e-postadresse.

  • Logg deg inn på serveren med oppgitt legitimasjon og IP-adresse ved hjelp av en SSH-klient.

Første gang du logger inn, blir du bedt om å endre passordet. Dette er forventet og det anbefales å velge et komplekst passord.

Installere EasyEngine

Når serveren er klar, er det tid for å installere EasyEngine (EE). EE er et fantastisk automatiseringsskript som forenkler opprettelsen av flere typer nettsider med en enkel kommando. Det som er så bra med EE, er at du ikke trenger å bekymre deg for å sette opp enkelte komponenter som Nginx, MariaDB, Redis, PHP osv. Alt dette håndteres i bakgrunnen, og det er helt GRATIS!

Den nyeste EE-versjonen benytter Docker, men igjen, du trenger ikke å kunne noe om det. EE er produksjonsklar og brukes av tusenvis av nettsider med mye trafikk.

La meg demonstrere hvor enkelt det er å bruke EasyEngine. Jeg antar at du fortsatt er logget inn på DigitalOcean-serveren din.

  • La oss starte med å oppdatere systemet ved å kjøre følgende kommando:
apt-get update
  • Deretter installerer vi EE med følgende kommando:
wget -qO ee rt.cx/ee4 && sudo bash ee

Det tar noen minutter å installere nødvendig programvare, og når det er ferdig, vil du være tilbake ved ledeteksten.

Status: Downloaded newer image for easyengine/redis:v4.0.0
+-------------------+----------------------------------------------------------------------------+
| OS                | Linux 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 |
| Shell             | /bin/bash                                                                  |
| PHP binary        | /usr/bin/php7.2                                                            |
| PHP version       | 7.2.15-1+ubuntu18.04.1+deb.sury.org+1                                      |
| php.ini used      | /etc/php/7.2/cli/php.ini                                                   |
| EE root dir       | phar://ee.phar                                                             |
| EE vendor dir     | phar://ee.phar/vendor                                                      |
| EE phar path      | /root                                                                      |
| EE packages dir   |                                                                            |
| EE global config  |                                                                            |
| EE project config |                                                                            |
| EE version        | 4.0.10                                                                     |
+-------------------+----------------------------------------------------------------------------+
-----> Run "ee help site" for more information on how to create a site.
[email protected]:~#

Dette bekrefter at EasyEngine er installert og klar til bruk.

Opprette en WordPress-nettside

EE lar deg opprette en WordPress-nettside med Redis-cache, noe som gir bedre ytelse. Jeg benytter Redis på tipsbilk.net og er fornøyd med det, så jeg anbefaler det sterkt.

La oss konfigurere en WordPress-nettside på et domene med Redis-cache:

ee site create geekflarelab.com --type=wp --cache

Kommandoen over benytter EE for å opprette et nettsted med domenenavnet geekflarelab.com, som en WordPress-side med caching.

Dette tar noen sekunder, og du vil se en bekreftelsesmelding:

Configuring project.
Creating WordPress site geekflarelab.com
Copying configuration files.
Starting site's services.
Downloading and configuring WordPress.
Moved /var/www/htdocs/wp-config.php to /var/www/wp-config.php successfully
Success: Host entry successfully added.
Checking and verifying site-up status. This may take some time.

Installing WordPress site.
Success: http://geekflarelab.com has been created successfully!
Site entry created.
Creating cron entry
Success: Cron created successfully
+--------------------+----------------------------------------+
| Site               | http://geekflarelab.com                |
+--------------------+----------------------------------------+
| Site Root          | /opt/easyengine/sites/geekflarelab.com |
+--------------------+----------------------------------------+
| Site Title         | geekflarelab.com                       |
+--------------------+----------------------------------------+
| WordPress Username | inspiring-galois                       |
+--------------------+----------------------------------------+
| WordPress Password | xxxxxxxxxxxx                           |
+--------------------+----------------------------------------+
| DB Host            | global-db                              |
+--------------------+----------------------------------------+
| DB Name            | geekflarelab_com                       |
+--------------------+----------------------------------------+
| DB User            | geekflarelab.com-DRf3pP                |
+--------------------+----------------------------------------+
| DB Password        | xxxxxxxxxxxx                           |
+--------------------+----------------------------------------+
| E-Mail             | [email protected]                 |
+--------------------+----------------------------------------+
| SSL                | Not Enabled                            |
+--------------------+----------------------------------------+
| Cache              | Enabled                                |
+--------------------+----------------------------------------+
[email protected]:~#

Flott! WordPress-nettsiden din er nå opprettet. EasyEngine tar seg av Nginx, databasen og PHP-optimaliseringen, slik at du slipper å gjøre noe mer.

La oss teste den.

Tror du den vil fungere når vi går til geekflarelab.com?

Nei!

Vi må oppdatere domeneoppføringen for å peke til DigitalOcean-serverens IP-adresse.

  • Logg inn på domenetjenesten og oppdater A-oppføringen.

Nå skal du kunne få tilgang til geekflarelab.com.

Som du ser, har vi på få minutter satt opp WordPress på en DO-skyserver.

Jeg anbefaler også å gjøre følgende:

Endre SSH-port

Som standard er SSH-porten 22, og dette er allment kjent. Dette gjør det lettere for angripere å utføre brute force-angrep. Hvis serverpassordet ditt er svakt, kan serveren bli hacket. Det vil være en rask forbedring å endre standardporten til noe annet.

Jeg har beskrevet hvordan du endrer SSH-port i følgende artikkel:

https://tipsbilk.net.com/cloud-vm-security-guide/#1-Changing-SSH-Default-Port

Implementering av SSL/TLS-sertifikat

Det er obligatorisk å ha en nettside med HTTPS, og det som er bra er at du kan få det gratis. Hvis du ikke ønsker en langvarig teknisk implementering, kan du vurdere Cloudflare.

Cloudflare tilbyr GRATIS SSL, samt andre ytelses- og sikkerhetsfordeler.

Sikring av WordPress

Ikke la WordPress-installasjonen være usikret.

Det finnes flere plugins, men hvis budsjettet tillater det, bør du vurdere en premium-løsning. Du kan velge enten Cloudflare PRO eller SUCURI. Begge tilbyr omfattende ytelses- og sikkerhetsfunksjoner, inkludert GRATIS SSL-sertifikat, beskyttelse mot DDoS-angrep, reduksjon av OWASP topp 10 sårbarheter, osv.

Hvor raskt er DigitalOcean WordPress-nettsiden?

Det er vanskelig å gi et generelt svar, da hver nettside er unik. Men for å gi deg en idé, utførte jeg noen stresstester. Her er resultatet.

Jeg installerte Authority Pro-temaet fra StudioPress og la inn noen dummyinnlegg for testing med Blazemeter.

Ganske imponerende, ikke sant?

Som du ser, ble testen utført med 50 brukere i 5 minutter fra Nord-California, og resultatet er meget bra.

  • Gjennomsnittlig responstid – 351,19 ms
  • Feil – 0 %

Alt under 1 sekund er imponerende.

Konklusjon

Hvis du bruker delt hosting og vurderer å gå over til en skybasert løsning, og er villig til å investere tid i konfigurasjon, vil DigitalOcean være et godt alternativ. Men hvis du ikke har tid eller kunnskap til å administrere serveren selv, anbefaler jeg å se nærmere på Kinsta.

Kinsta er en premium administrert WordPress-hostingplattform som benytter Google Cloud Platform for å tilby optimal ytelse og sikkerhet.