다음과 같은 설치를 진행했습니다.
forum.example.com
관리자 계정 admin@forum.example.com을 비밀번호와 2FA(2단계 인증)와 함께 보유하고 있었습니다.
결국 이를 새 도메인으로 마이그레이션하기로 결정했습니다.
community.newexample.com
이를 수행하기 전에 forum.example.com의 백업을 생성했습니다.
오늘 example.com에 새로운 커뮤니티를 만들고 싶다는 생각이 들었습니다.
모든 것을 설치하고, 새로운 관리자 계정(admin@example.com)을 생성하는 등 작업을 완료했습니다.
로그인했습니다.
백업 섹션으로 이동하여 forum.example.com을 위해 생성했던 백업을 업로드했습니다.
그 직후 로그아웃되었습니다.
새로운 자격 증명(admin@example.com)으로 로그인하려고 시도했지만, 첫 번째 설치(admin@forum.example.com)의 자격 증명을 사용하려고 하기 때문에 로그인할 수 없었습니다.
또한 forum.example.com의 2FA를 더 이상 보유하고 있지 않는데, 시스템은 이를 요구하기도 합니다.
이제 어떻게 해야 할까요?
업데이트: ChatGPT의 지시를 따름으로써 해결할 수 있었습니다:
1단계: 서버에 SSH로 접속
ssh your-user@your-server
2단계: Discourse 앱 컨테이너 진입
cd /var/discourse
./launcher enter app
3단계: 관리자 사용자의 비밀번호 생성 또는 재설정
이 단계는 알려진 비밀번호로 로그인할 수 있도록 보장합니다.
rake admin:create
- 프롬프트가 표시되면 백업에 있는 관리자의 이메일 주소(예:
admin@forum.example.com)를 입력하세요.
- 새로운 비밀번호를 입력하세요.
- 관리자 권한 부여를 묻는 질문에
Y를 입력하세요(사용자가 이미 관리자여도 문제없습니다).
4단계: Rails 콘솔 열기
rails c
5단계: 이메일로 사용자 찾기
재설정하려는 이메일로 아래 내용을 교체하세요:
user = User.find_by_email("admin@forum.example.com")
사용자 객체를 보여주는 출력을 확인해야 합니다.
6단계: 해당 사용자의 2FA(이중 인증) 비활성화
user.user_second_factors.destroy_all
이 명령은 해당 사용자와 연관된 모든 2FA 키를 삭제합니다 — 다른 사용자에는 영향을 주지 않습니다.
7단계: 콘솔 및 컨테이너 종료
exit
8단계: 웹을 통해 로그인
브라우저에서 Discourse 사이트로 이동하여 다음 정보로 로그인하세요:
- 이메일:
admin@forum.example.com
- 비밀번호: 3단계에서 설정한 비밀번호
- 2FA: 더 이상 요구되지 않음