Pro-it.rocks działa pod kontrolą "bezgłowego" CMSa Ghost. Do jego działania potrzebny jest serwer nodowy node.js oraz serwer www serwujący aplikację JavaScript na świat.

Do zarządzania pakietami służy manager npm a sam Ghost posiada własne cli ułatwiające pracę z nim.

Jeżeli środowisko serwerowe jest już gotowe to instalacja samego Ghosta jest bardzo łatwa:

  1. Instalujemy ghost-cli przy pomocy npm - npm install ghost-cli -g
  2. Instalujemy Ghosta przy pomocy ghost-cli - ghost install local
  3. Bam! Ghost gotowy do działania na porcie 2368 - http://serwer:2368/ghost

Update natomiast zaczynamy od upgradeu ghost-cli:

npm i -g ghost-cli@latest

Przy okazji może się okazać, że sam npm wymaga upgrade'u tak jak w moim przypadku, niemniej jednak sam ghost-cli pomyślnie się zaktualizował

Następnie w katalogu gdzie mamy zainstalowanego Ghosta aktualizujemy jego samego:

ghost update

Tutaj czekała mnie niemiła niespodzianka:

Message: The version of Node.js you are using is not supported.
Supported: ^8.16.0 || ^10.13.0 || ^12.10.0
Installed: 13.3.0

Żeby nie było za prosto tym razem okazało się, że nie jest wspierany node.js, który jest w wersji... wyższej niż wspierane.

Jak widac w pewnym momencie lang/nodejs w pkgsrc zmieniła się z wersji 10 od razu na 13 (current), a wersja stabilna przewędrowała do lang/nodejs12 oraz lang/nodejs10

Po wymianie wersji z 13 na 12 z gotowej paczki najnowszej wersji stabilnej pkgsrc 2019Q4:

pkg_add -vuu ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/8.0_2019Q4/All/nodejs-12.13.1.tgz

/usr/sbin/pkg_delete -K /var/db/pkg -p /usr/pkg 'nodejs-13.3.0'

[SNIP]

Package nodejs-12.13.1 registered in /var/db/pkg/nodejs-12.13.1

update poszedł bez najmniejszego problemu.

Czy działamy na najnowszej wersji, możemy sprawdzić w sekcji About w panelu administracyjnym.

Trzeba też pamiętać o tym, że jeżeli używamy domyślnego theme - casper to wszelkie zmiany - np. dodanie skryptów do komentarzy, zostanie nadpisane nową wersją. Dlatego trzeba zrobić wcześniej backup starego szablonu, albo mieć pod ręką ten kawałek kodu który został wcześniej dodany.