Pokretanje WordPress (WP) sajtova na DigitalOcean (DO) za manje od 10 minuta
Blogeri početnici, kao i vlasnici sajtova, često se pitaju kako da ubrzaju učitavanje svog web mesta na deljenom hosting sistemu, svjesni njegovih ograničenja. Poslije izvjesne frustracije, mnogi od njih razmišljaju o prelasku sa deljenog na cloud hosting.
Jedna od prvih cloud hosting platformi koja se nameće kao logičan izbor je DigitalOcean.
DO je odličan za početak; cjenovno je povoljniji u odnosu na AWS i GCP, skalabilan, brz i nudi sve potrebne funkcije.
Ipak, podešavanje sajta može biti izazov ako niste vični sistem administraciji. Dobijate operativni sistem i sami se brinete o svemu. Alternativno, možete se opredijeliti za Cloudways web hosting i podesiti DigitalOcean web server uz samo nekoliko klikova, ako želite da izbegnete tehničke detalje konfiguracije servera. Oni takođe nude DigitalOcean Premium Droplets.
Nakon mnogih upita putem e-pošte o tome kako da podesim WP sajt na DO, odlučio sam da sastavim detaljan vodič za širu publiku.
Prije tehničkih detalja, imajte na umu – DO nije registar domena. To znači da od njih ne možete kupiti domen. Pretpostavljam da već posjedujete domen. Ako ga nemate i želite novi, kupite ga od Namecheap-a.
Hajde da počnemo…
Postoji nekoliko načina za podešavanje WordPress-a, ali jedan od najlakših je korištenje EasyEngine-a. U ovom vodiču, koristićemo EasyEngine za instaliranje neophodnog softvera i kreiranje WP lokacije.
Dobijanje DigitalOcean servera
DO ima data centre na brojnim lokacijama širom svijeta. Odaberite onaj koji je najbliži vašoj ciljnoj publici.
- Prijavite se (ili registrujte ako nemate nalog) na DigitalOcean.
- Napravite novi droplet i odaberite Ubuntu 18.x kao operativni sistem.
- Odaberite droplet plan prema potrebama, ali za početak, 2GB ili 3GB RAM-a bi trebalo da bude dovoljno.
- Odaberite opciju monitoring kao dodatnu mogućnost.
- Dodijelite ime hostu i kliknite na kreiranje.
Ovaj proces će trajati oko minut, i nakon toga bi trebalo da vidite vaš novokreirani server na listi.
DO će poslati akreditive servera na vašu registriranu e-mail adresu.
- Prijavite se na server koristeći SSH klijent sa navedenim akreditivima i IP adresom.
Pri prvoj prijavi, biće vam zatraženo da promijenite lozinku, što se i preporučuje, koristeći kompleksnu lozinku.
Instaliranje EasyEngine-a
Nakon što je server spreman, vrijeme je da instalirate EasyEngine (EE). EE je odlična skripta za automatizaciju koja vam omogućava kreiranje različitih tipova web stranica jednostavnim komandama. Dobra stvar kod EE je da ne morate da se brinete o pojedinačnim konfiguracijama komponenti poput Nginx, MariaDB, Redis, PHP, itd. Sve se obavlja u pozadini i potpuno je BESPLATNO!
Najnovija verzija EE koristi Docker, ali ne morate da znate ništa o tome. EE je spreman za upotrebu i koristi ga veliki broj web lokacija sa visokim prometom.
Dozvolite da vam pokažem koliko je jednostavno koristiti EasyEngine. Pretpostavljam da ste još uvijek prijavljeni na DigitalOcean server.
- Ažurirajte sistem izvršavanjem donje komande:
apt-get update
- Zatim instalirajte EE sa ovom komandom:
wget -qO ee rt.cx/ee4 && sudo bash ee
Instalacija potrebnog softvera u pozadini će trajati nekoliko minuta. Nakon toga, pojaviće se upit.
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]:~#
Ovo potvrđuje da je EasyEngine instaliran i spreman za upotrebu.
Kreiranje WordPress sajta
EE nudi opciju za kreiranje WordPress lokacije sa Redis kešom, koja radi bolje. Koristim Redis i zadovoljan sam njime, pa preporučujem da ga probate.
Hajde da napravimo WP sajt na domenu koristeći Redis keš.
ee site create geekflarelab.com --type=wp --cache
Gore navedenom komandom, koristim `ee` da kreiram sajt sa imenom domena `geekflarelab.com`, tipa WordPress, sa opcijom keširanja.
Proces će trajati nekoliko sekundi, a zatim ćete vidjeti uspješnu poruku poput ove:
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]:~#
Odlično, moj WP sajt je kreiran. EasyEngine se brine za Nginx, bazu podataka i PHP optimizaciju, tako da ne morate da vršite nikakve promjene.
Vrijeme je za testiranje.
Mislite li da će uspjeti kad ukucam `geekflarelab.com`?
Ne!
Moram da ažuriram DNS zapis da pokazuje na IP adresu DigitalOcean servera.
- Prijavite se na konzolu vašeg registratora domena i ažurirajte A zapis.
Sada mogu da pristupim `geekflarelab.com`
Kao što vidite, za nekoliko minuta imam WP sajt koji radi na DO cloud serveru.
Takođe preporučujem da uradite i sljedeće.
Promjena SSH porta
Podrazumevano, SSH port je 22 i svi znaju za to. Ovo olakšava napadačima da izvedu napad grubom silom. Ukoliko je lozinka servera slaba, vaš server može biti kompromitovan. Promjena podrazumjevanog porta bi bila brza i efikasna sigurnosna mjera.
O tome kako da promijenite SSH port sam pisao u članku ispod:
https://wdzwdz.com/cloud-vm-security-guide/#1-Changing-SSH-Default-Port
Implementacija SSL/TLS sertifikata
Obavezno je da koristite HTTPS protokol za vaš sajt, a dobra stvar je što možete da ga dobijete besplatno. Ukoliko želite da izbjegnete kompleksnu tehničku implementaciju, preporučujem da probate Cloudflare.
Cloudflare nudi BESPLATAN SSL, kao i druge prednosti u performansama i bezbjednosti.
Osiguranje WordPress-a
Ne ostavljajte WordPress neosiguran.
Dostupni su brojni dodaci, ali ako vam budžet dozvoljava, odaberite premium rešenje. Možete da se odlučite za Cloudflare PRO plan ili SUCURI. Oba nude sveobuhvatne performanse i bezbjednosne funkcije, uključujući BESPLATAN SSL certifikat, prevenciju DDoS napada, ublažavanje OWASP top 10 ranjivosti itd.
Koliko je brz DigitalOcean WP sajt?
Teško je dati generalizaciju, jer je svaki sajt jedinstven. Da biste imali ideju, uradio sam nekoliko testova opterećenja i ovo su rezultati:
Instalirao sam Authority Pro temu od StudioPress-a i dodao lažne postove za testiranje koristeći BlazeMeter.
Nevjerovatno, zar ne?
Kao što vidite, test je izvršen sa 50 korisnika tokom 5 minuta iz Sjeverne Kalifornije, i rezultat je sjajan.
- Prosječno vrijeme odziva – 351.19 ms
- Greška – 0%
Sve ispod jedne sekunde je impresivno.
Zaključak
Ako ste na deljenom hostingu i želite da pređete na cloud i spremni ste da uložite vrijeme u podešavanje, onda je DigitalOcean dobar izbor. Ipak, ako nemate vremena i vještine da sami upravljate, preporučujem da pogledate Kinstu.
Kinsta je premium upravljana WP hosting platforma koja koristi Google Cloud platformu kako bi ponudila najbolje performanse i bezbjednost.