마지막 업그레이드 후 'Discourse 업그레이드' 버튼을 찾을 수 없음

안녕하세요,

저는 자체 호스팅된 Discourse 웹사이트를 운영하고 있으며, 항상 관리자 영역의 “Upgrade Discourse” 버튼을 통해 웹사이트를 업데이트하고 있습니다.

오늘은 관리자 영역에 진입할 수 없었고, "Oops! That page doesn’t exist or is private"라는 메시지가 표시되었습니다. Discourse를 다시 구축하여 문제를 해결했고 이제 인터페이스가 업그레이드되었지만, “Upgrade Discourse” 버튼을 찾을 수 없습니다.

이 문제를 해결하는 데 도움을 주실 수 있는 분 계신가요?

감사합니다

최신 버전을 실행 중이라고 생각하므로 업그레이드할 것이 없는 것 같습니다 : )

답변해 주셔서 감사합니다.

즉, 업데이트가 없으면 버튼이 표시되지 않는다는 뜻인가요?

아니요, 현재 적용할 업데이트가 없더라도 ‘update’ 탭은 항상 표시되어야 합니다. 이 탭은 docker manager 플러그인에서 제공됩니다.

해당 페이지에 직접 접근할 수 있나요? [YourSite]/admin/update


답변해 주셔서 감사합니다.

이 페이지로 리다이렉트됩니다.

확인차 물어보는데, 사이트를 재구축할 때 도커 매니저 플러그인을 제거하셨나요?

다음 SSH 명령을 사용하여 방금 재구축했습니다.

cd /var/discourse
sudo ./launcher rebuild app

플러그인 파일을 확인했습니다

cd /var/discourse
nano containers/app.yml

이렇게 하면 app.yml 파일을 편집하도록 열어야 하는데, 접근할 수 없다는 메시지가 표시되고 있습니다. sudo nano containers/app.yml 명령을 사용해야 할 수도 있습니다.

플러그인 섹션은 파일 하단에 위치하며, 다음과 유사한 형태입니다:

## Plugins go here
## see https://meta.discourse.org/t/19157 for details
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-adplugin
          - git clone https://github.com/discourse/discourse-akismet
          - git clone https://github.com/discourse/discourse-assign
          - git clone https://github.com/discourse/discourse-cakeday
          - git clone https://github.com/discourse/discourse-calendar
          - git clone https://github.com/discourse/discourse-category-experts
          - git clone https://github.com/discourse/discourse-data-explorer
          - git clone https://github.com/discourse/discourse-docs
          - git clone https://github.com/discourse/discourse-encrypt
          - git clone https://github.com/discourse/discourse-follow

다만, 해당 파일을 열어서 편집하지 않았다면 docker manager가 자동으로 포함되었을 것입니다.

/logs 디렉터리에 더 많은 단서가 있을지도 모릅니다.

sudo 명령을 사용하여 app.yml 파일을 열었습니다.

로그에서 아무것도 찾을 수 없습니다.

서버를 재시작하고 Discourse를 다시 빌드했지만, “Upgrade Discourse” 버튼을 다시 찾지 못하고 있습니다.

관리자로 로그인되어 있나요?

답변해 주셔서 감사합니다.

이제 Admin을 클릭하면 다음과 같은 메시지가 표시됩니다. “Oops! That page doesn’t exist or is private.”

아마 제 웹사이트가 해킹당한 것 같습니다. 관리자 권한을 복구할 방법이 있을까요?

관리자 메뉴가 보이시나요?

다음과 같이 실행할 수 있습니다.

cd /var/discourse
./launcher enter app
rake admin:create

관리자 영역에 다시 로그인할 수 있고 비밀번호도 재설정했지만, Discourse 업그레이드 버튼을 찾을 수 없습니다.

[MySite]/admin/update으로 직접 이동하면 “Oops! That page doesn’t exist or is private.”라는 메시지가 표시됩니다.

메뉴는 보이지만 클릭하면 다음과 같은 메시지가 표시됩니다. “오! 해당 페이지가 존재하지 않거나 비공개입니다.”

다시 관리자 권한을 잃어버렸는데, 도대체 무슨 일이 일어나고 있는 건지 모르겠습니다?!

아, 가설이 하나 있습니다. 업그레이드 페이지로 이동하면 관리자 권한이 해제되는 건 아닐까요? 다시 시도해 볼 수 있는지 물어보려던 참이었어요. 테스트를 위해 한 번 더 시도해 주시겠어요?

이 방법을 세 번 이상 시도했고 비밀번호도 변경했지만, 더 이상 작동하지 않습니다.

관리자 버튼은 보이는데 클릭하면 “Oops! That page doesn’t exist or is private.”라는 메시지가 나타납니다. 마지막에는 /admin/update로 이동하지 않았고, 이는 차이를 만들지 않았습니다.

목록에서 눈에 띄었던 discourse-user-card-badges 플러그인으로 인해 이런 문제가 발생하는지 확인하기 위해 해당 플러그인으로 재빌드하여 재현을 시도해 보았습니다. 사이트 탐색 중 몇 가지 비정상적인 오류가 발생하고 있습니다. 이는 귀하가 보고하신 내용과 정확히 일치하지는 않지만, app.yml에서 해당 플러그인을 제거하고 재빌드하여 이것이 문제의 근본 원인인지 확인해 보시는 것을 권장합니다.

답변해 주셔서 감사합니다.

이것이 바로 관리자 버튼입니다. /admin/update로 이동하여 사이트를 망치기 전에 다시 작동하기 시작했습니다.

감사합니다. 이제 다시 관리자 영역에 진입할 수 있습니다. 하지만 /admin/update로 이동한 후 Discourse가 깨졌습니다.

/admin/update로 이동해 보았더니 다시 같은 일이 발생했습니다. 이제 관리자 영역에 진입할 수 없으며 또한 …

지금 다시 Discourse를 재빌드하고 있습니다.

이 두 문제를 연결해 보면, 서로 관련이 있을 수도 있습니다: