Wstęp
W dzisiejszym poradniku skonfigurujemy darmowy serwer VPS na platformie Oracle Cloud i zainstalujemy na nim system CMS WordPress, aby stworzyć stronę WWW bez żadnych opłat, na zawsze.
Założenie bezpłatnego konta w Oracle Cloud
W celu rejestracji nowego konta w Oracle Cloud przechodzimy do strony https://www.oracle.com/pl/cloud/free/ i klikamy przycisk Zacznij bezpłatnie:

Do ukończenia procesu rejestracji potrzebny będzie numer telefonu i karta debetowa/kredytowa.
Utworzenie instancji VPS i konfiguracja sieci
Aby utworzyć serwer VPS przechodzimy do zakładki Compute -> Instances:

Klikamy przycisk Create instance:

Zmieniamy nazwę instancji, następnie edytujemy sekcję Image and shape aby wybrać dystrybucję Linuxa i zasoby sprzętowe:

Wybieramy system Ubuntu 20.04 i maksymalne zasoby dla darmowego konta – 4 rdzenie Arm Ampre i 24 GB RAM:

W sekcji network zostawiamy ustawienia domyślne, poniżej klikamy przyciski aby zapisać klucze za pomocą których zalogujemy się do tworzonej teraz maszyny wirtualnej:

Klikamy przycisk Create – pojawi się podsumowanie i informacja o procesie uruchamiania instacncji:

UWAGA:
Przy tworzeniu instancji maszyny wirtualnej o takich zasobach, może pojawić się powiadomienie o braku dostępnych zasobach przez co nie będziemy mogli uruchomić VPSa. W takiej sytuacji spróbuj zmienić Availability domain w sekcji Placement. Jeżeli to nie pomoże, możesz utworzyć maszynę z jednym procesorem AMD i 1 GB RAM lub spróbować później.
Po uruchomieniu maszyny pokaże się publiczny adres IP i nazwa użytkownika potrzebna do zalogowania się na serwer.
Powiększenie dysku
Domyślnie do nowo utworzonej instancji przypisywany jest dysk 50GB. Możemy rozszerzyć jego wielkość do 200GB postępując w następujący sposób: przechodzimy do strony Storage -> Boot Volumes i klikamy Edit na voluminie przypisanym do naszej instancji:

Zmieniamy Volume Size i klikamy Save Changes:

Po ponownym uruchomieniu instancji pojemność dysku zostanie zaktualizowana w systemie.
Otworzenie portów (pomijamy w przypadku wykorzystania Cloudflare Tunnel)
Teraz zmienimy konfigurację sieci. Do ustawień sieci przechodzimy klikając nazwę Virtual cloud network:


Następnie klikamy nazwę Security list:

Klikamy Add Ingress Rules, dodajemy następującą regułę aby umożliwić ruch sieciowy dla protokołów HTTP, HTTPS oraz serwera WWW:



Teraz gdy mamy utworzoną instancję maszyny wirtualnej i skonfigurowaną sieć, możemy połączyć się z serwerem.
Połączenie z serwerem przez SSH
Do połączenia się z serwerem przez SSH wykorzystamy darmowe narzędzie PuTTY. Jeżeli jeszcze tego nie zrobiłeś pobierz PuTTY ze strony https://www.putty.org/ i zainstaluj aplikację.
PuTTY składa się z kilku komponentów, teraz użyjemy puttygen.exe aby skonwertować prywatny klucz ssh w formacie rozpoznawalnym przez PuTTY:

Klikamy Conversion -> Import key i wskazujemy pobrany wcześniej prywatny klucz ssh:


Klikamy Save private key, nadajemy nazwę i zapisujemy plik:

Uruchamiamy PuTTY, w kategorii Session, pole Host Name wpisujemy nazwa_użytkownika@adres_IP_serwera w tym przypadku będzie to [email protected] – dane logowania do Twojego serwera znajdziesz w panelu Oracle Cloud Compute -> Instances.

Przechodzimy do kategorii Connection -> SSH -> Auth, wskazujemy klusz SSH, który przed chwilą utworzyliśmy:

Wracamy od kategorii Session, wpisujemy nazwę sesji i zapisujemy:

Łączymy się z serwerem klikając przycisk Open:

Instalacja Webinoly
Webinoly to zoptymalizowany do pracy z procesorami ARM serwer WWW NGINX.
Przed instalacją Webinoly zaktualizujemy pakiety systemu:
sudo apt update && sudo apt upgrade -y
Po zaktualizowaniu systemu zmieniamy użytkownika komendą:
sudo -i
Kopiujemy i uruchamiamy skrypt instalujący serwer Webinoly:
wget -qO weby qrok.es/wy && sudo bash weby
Po udanej instalacji pojawi się podsumowanie, zapisz dane logowania do bazy danych:

Otwieramy porty w Ubuntu przez iptables następującymi komendami:
iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -I INPUT 6 -m state --state NEW -p tcp --dport 443 -j ACCEPT
iptables -I INPUT 6 -m state --state NEW -p tcp --dport 22222 -j ACCEPT
netfilter-persistent save

Instalacja WordPressa
Tworzymy dwa rekordy DNS wskazujące nazwę Twojej domeny na publiczny adres IP serwera. Jeżeli nie masz zarejestrowanej domeny w Cloudflare, dowiesz się jak uruchomić usługę z tego poradnika: Zabezpiecz domenę za pomocą NGINX Proxy Manager i CloudFlare

Aby uruchomić stronę w WordPressie uruchamiamy następującą komendę w terminalu:
sudo site bluestack.online -wp -cache=on
W tym przypadku używam nazwy domeny bluestack.online, zmień ją na domenę, którą posiadasz.

Dodaj użytkownika i hasło do folderu wp-admin:
sudo httpauth -add

Teraz jesteśmy wstanie przejść do strony wpisując w przeglądarce nazwę domeny i wpisując ustawione przed chwila dane logowania:

Postępujemy z standardową instalacja WordPressa i po chwili mamy dostęp do panelu:

Instalacja certyfikatu SSL
Tworzymy folder dla certyfikatów:
sudo mkdir /etc/nginx/certs/
Następnie tworzymy certyfikaty:
sudo nano /etc/nginx/certs/cert.pem
Przechodzimy do strony https://developers.cloudflare.com/ssl/origin-configuration/authenticated-origin-pull/set-up kopiujemy zaznaczoną sekcję i wklejamy do nano:


Zapisujemy i zamykamy plik przez Ctrl+ X -> Y -> Enter
Przechodzimy do panelu Cloudflare, wybieramy naszą domenę i klikamy SSL/TLS -> Origin Server -> Create Certificate:

I jeszcze raz Create:

Tworzymy plik z certyfikatem:
sudo nano /etc/nginx/certs/cert.crt
Kopiujemy i wklejamy Origin Certificate:


Zapisujemy i zamykamy plik przez Ctrl+ X -> Y -> Enter
Tworzymy plik z kluczem:
sudo nano /etc/nginx/certs/cert.key
Kopiujemy i wklejamy Private Key:


Włączamy certyfikat następującą komendą, zmieniając nazwę strony na nazwę Twojej domeny:
sudo site bluestack.online -ssl=on -ssl-key=/etc/nginx/certs/cert.key -ssl-crt=/etc/nginx/certs/cert.crt -ssl-ocsp=/etc/nginx/certs/cert.pem

Przechodzimy do wpisów DNS i włączamy Proxy:

Możemy teraz przejść do strony zabezpieczonej szyfrowanym połączeniem:

Optymalizacja
Wejdź w ustawienia -> Ogólne i zmień przedrostek strony na https://

Zmień ustawienia linków: Ustawienia -> Bezpośrednie odnośniki -> Nazwa wpisu:

Włącz wtyczki Nginx Helper i Redis Object Cache:


