Instalacja i update Ghost oraz drobne problemy z wersjami node.js pod NetBSD z pkgsrc 2019Q4
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:
- Instalujemy ghost-cli przy pomocy npm -
npm install ghost-cli -g
- Instalujemy Ghosta przy pomocy ghost-cli -
ghost install local
- 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.