Cloudflare의 자동 미나피케이션으로 인해 관리자 페이지에 접근할 수 없습니다

안녕하세요,

다음 페이지를 참고하여 Discourse 플러그인을 생성하려고 했습니다: Developing Discourse Plugins - Part 1 - Create a basic plugin
서버에 plugins 폴더를 업로드한 후, Discourse의 관리자 페이지에 접근할 수 없게 되었습니다.

브라우저 콘솔을 확인해 보니 다음과 같은 오류가 표시됩니다:
Error: There is no route named admin

SSH로 접속하여 제 사용자의 역할을 확인해 보니 관리자 권한이 있습니다. 또한 Discourse에서 plugins 폴더를 삭제해 보았지만 동일한 문제가 발생하고 있습니다.

이 문제에 대해 도움을 주실 수 있을까요?

미리 감사드립니다!

개발 환경에서 관리자 권한을 얻으려는 건가요, 아니면 프로덕션 환경에서인가요?

프로덕션 환경이라면 다음을 실행할 수 있습니다.

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

개발 환경이라면 discourse 디렉터리에서 ./bin/rake admin:create를 실행하면 됩니다.

서버 OS에서 관리자/루트 권한을 가진 것과 Discourse에서 관리자 권한을 가진 것은 완전히 다른 개념입니다.

이 명령어 ./launcher enter app를 사용하여 액세스 권한을 변경해 보았지만, 내 경우에는 작동하지 않았습니다.
아, 디스코스에서 관리자 권한이 있다는 뜻이었어요.

서버에 플러그인을 직접 업로드했다는 뜻인가요?

Discourse는 먼저 플러그인의 JavaScript 자산을 컴파일해야 합니다. 플러그인을 GitHub 저장소에 업로드하고, app.yml을 편집하여 플러그인을 추가한 다음 ./launcher rebuild app을 실행해야 합니다.

컴파일 없이 플러그인을 플러그인 폴더에 직접 업로드하면 Discourse 프론트엔드에서 컴파일된 파일을 찾지 못해 오류가 발생합니다.

또한 서버에 Cloudflare이 활성화되어 있다면, 자동 축소(auto-minify)를 끄고 캐시를 삭제하는 것을 잊지 마세요.

@Lhc_fl 님, 안녕하세요.

도와주셔서 정말 감사합니다. Cloudflare의 자동 미나이파이(auto-minify)를 끄니 저에게는 잘 작동했습니다.

저는 Discourse를 처음 사용하는 관계로 플러그인 사용법에 대해 잘 알지 못합니다. 그래서 플러그인 폴더에 플러그인을 추가하려 했으나, 님이 제안하신 방법대로 플러그인을 GitHub에 업로드하고 GitHub 저장소에서 가져오는 방식으로 진행하니 잘 작동했습니다.

한 가지 더 여쭤봐도 될까요? 주제(topic)에 사용자 정의 필드나 추가 필드를 추가하는 방법을 안내해 주실 수 있을까요? 실제로는 주제 기능을 강화하는 플러그인을 만들고 싶습니다. 주제에 사용자 정의 필드를 추가하고, 해당 데이터를 데이터베이스에 저장한 뒤 주제 상세 페이지에 렌더링하는 것이 목표입니다.

다시 한번 감사드립니다!

이 부분은 새로운 토픽을 시작하는 것이 좋으며, 질문 자체가 너무 광범위하여 구체적인 답변을 드리기 어렵습니다. 하지만 Developing Discourse Plugins - Part 1 - Create a basic plugin과 나머지 문서를 참고해 보시기 바랍니다. topic_custom_fields 생성 및 시리얼라이저에 추가하는 방법에 대한 내용을 검색해야 할 것입니다. 모든 플러그인을 확인하려면 GitHub - discourse/all-the-plugins · GitHub 를 방문한 후, 해당 저장소에서 예시를 검색해 보실 수 있습니다.

커스텀 필드가 필요한 작업의 내용을 좀 더 자세히 알려주시면, 커스텀 필드나 플러그인 없이도 해당 작업을 수행할 수 있는 다른 방법이 있을 수 있습니다.