Bitnami로 만든 Ghost 블로그 버전 업그레이드 하기
간만에 블로그 글 작성도 할겸, 블로그를 둘러 보다가, 고스트 최신 버전을 업그레이드 하기로 했다. 그 과정에 겪었던 시행착오를 공유하고, 기록하는 글이다.

위 링크 처럼, bitnami 서비스로 고스트 환경을 구축한 사람들이 고스트 버전 업데이트를 할 때 참조할 수 있을 것이다.
bitnami 웹 문서에서 적힌 대로 업데이트를 실행하면 된다!
간단하다!
cd /opt/bitnami/ghost # ghost 가 설치된 폴더로 이동
sudo su ghost -c "ghost update" # 업데이트 명령어 실행

문제의 시작
하지만...
업데이트가 호락호락 하지 않다.
아래와 같이 버전 문제로 업그레이드에 실패했다.
✖ Downloading and updating Ghost to v5.82.4
A SystemError occurred.
Message: Ghost v5.82.4 is not compatible with the current Node version. Your node version i
s 16.19.1, but Ghost v5.82.4 requires ^18.12.1 || ^20.11.1
Debug Information:
OS: Debian GNU/Linux, v11
Node Version: v16.19.1
Ghost Version: 5.53.1
Ghost-CLI Version: 1.24.0
Environment: production
Command: 'ghost update'
업데이트가 호락호락하지 않다. node 버전이 안맞다.
구글에 검색을 해보고 node 업데이트를 했다.
npm cache clean -f # cache 지우기
npm install -g n # Package manager 설치
sudo n 18.18.0 #18.18.0 version으로 설치
node 버전을 18로 선택한 이유는, ghost문서 보니깐 18 버전을 권장한다고 한다.
이 글을 읽을 시점에, ghost 에서 지원하는 node 버전을 확인하고 설치하도록 하자.

아 그리고, 18.18.0 버전을 선택한 이유는, stable version을 찾으려고 구글에서 검색을 해봤고, node 18의 경우 18.18.0, 18.12.0 두 버전이 LTS 인 것을 확인했다.
여기서 18.12.0 버전의 경우는 ghost 최신버전에서 지원을 하지 않기 때문에 18.18.0 버전으로 설치를 했다.


새로운 문제의 시작
node 버전 업데이트를 마치고, 두근대는 마음으로 다시 업데이트를 시도했다.
sudo su ghost -c "ghost update" # 업데이트 명령어 실행
✖ Downloading and updating Ghost to v5.82.4
A SystemError occurred.
Message: Ghost v5.82.4 is not compatible with this version of the CLI. Your CLI version is
1.24.0, but Ghost v5.82.4 requires ^1.26.0
Help: Run `npm install -g ghost-cli@latest` to upgrade the CLI, then try again.
Debug Information:
OS: Debian GNU/Linux, v11
Node Version: v18.18.0
Ghost Version: 5.53.1
Ghost-CLI Version: 1.24.0
Environment: production
Command: 'ghost update'
Try running ghost doctor to check your system for known issues.
두둥. 아까와는 조금 다른 문제가 생겼다.
ghost-cli 버전이 낮다고 한다. 친절하게 해결 방법도 적혀 있어서 ghost-cli를 업데이트 했다.
sudo npm install -g ghost-cli@latest
그리고, 다시 시도를 하는데 똑같은 오류가 반복된다!!
분명히 ghost-cli version을 1.26.0을 설치했는데도 불구하고, ghost update를 하면 1.24.0 이 설치되어 있다고 한다.
ghost가 설치된 폴더를 찾아봤다.
whereis ghost
ghost: /usr/local/bin/ghost /opt/bitnami/ghost/versions/4.48.9/node_modules/.bin/ghost
ghost가 설치된 폴더 두개가 나온다.
하나는 /usr/local/bin 에 설치된 최신 1.26.0 버전의 ghost-cli.
나머지는, 현재 블로그가 동작하는 4.48.9 버전 ghost에 설치된 1.24.0 버전의 ghost-cli가 있다.
즉, 새롭게 설치된 경로 (/usr/local/bin/ghost)와 기존 경로 (/opt/bitnami/ghost/versions/4.48.9/node_modules/.bin/ghost) 두개의 버전이 존재하고 있고, 기존 버전을 가리키고 있었기 때문이다.
이를 해결하기 위해 아래와 같이 명령을 치자.
cd /opt/bitnami/ghost/versions/4.48.9/node_modules/.bin/ # 기존 경로로 이동
sudo mv ghost ghost2 # 혹시 모르니 기존 파일 남겨두고
sudo ln -s /usr/local/bin/ghost ghost # 심볼릭 링크로 기존 경로의 고스트를 새로운 고스트로 연결
마지막으로 다시 고스트를 설치해보자.
cd /opt/bitnami/ghost # ghost 가 설치된 폴더로 이동
sudo su ghost -c "ghost update" # 업데이트 명령어 실행
드디어 성공했다.
마지막으로 권한 수정만 하면 마무리 된다.
sudo chown ghost:bitnami -R /opt/bitnami/ghost
sudo chmod 640 /opt/bitnami/ghost/config.production.json
끝!
블로그를 업데이트 하고 난 후에, 잔 버그가 사라졌다.
이제 새로 줄바꿈을 한 이후에 한글 자소 분리가 되던 불편한 버그가 사라졌다.