안녕하세요. Drupal 마이그레이션 백업으로 이제 2번의 테스트 설치를 수행했습니다. 이 백업은 FQDN이 올바르게 설정되고 이메일이 작동하는 다른 VPS의 새 Discourse 인스턴스에 복원되었습니다. 임포터 인스턴스는 VPS의 IP 주소만 사용했으며 이메일이 설정되어 있지 않았습니다. 이것이 이 문제와 관련이 있는지 확실하지는 않지만, 두 번의 백업 복원 테스트 모두에서 복원이 완료되고 관리자 계정 생성 페이지로 이동했을 때, 이메일이 전송되지 않아 계정을 활성화할 수 없었습니다. 저는 다음과 같은 방법으로 우회했습니다: ./launcher enter app , rake admin:create . 그 후 웹 앱에 로그인하고 이메일 테스트를 성공적으로 실행할 수 있었으며, 모든 사용자에게 이메일을 활성화하면 다른 사용자 계정이 비밀번호 재설정 이메일을 성공적으로 받을 수 있었습니다. 따라서 이것은 복원 후 기본 설정에서 비스태프(non-staff) 사용자에게 이메일을 보내지 않는 것에 대한 버그로 보입니다. 계정 검증이 완료되기 전이라도 관리자 사용자로 정의된 이메일 주소를 스태프로 간주해야 할 것 같습니다.
이는 가져오기 스크립트가 관리자 계정을 생성하지 않았음을 시사합니다. developer_email 주소를 사용하여 로그인하고/또는 계정을 생성하면 문제가 해결됩니다.
이는 백업 복원 시 비직원(Non-staff)에 대한 이메일 발송이 비활성화되었고, 해당 사용자가 직원이 아니기 때문일 가능성이 높습니다.
그럴 수도 있겠네요. 새로운 사이트와 마이그레이션에서는 전형적인 계란과 닭 문제입니다. developer_emails에 사용자를 추가하면 작동할 것이라고 생각합니다.
또 다른 방법으로는 스크립트에 다음과 같은 코드를 추가할 수 있습니다:
User.create(username: 'pat-the-admin', email: 'pat@user.com',password: 'very-safe-123', active: true, name: "Pat User") unless User.find_by_email('pat@user.com`)
답변해 주셔서 감사합니다, Jay. 네, 그렇게 보입니다. 그런데 이상하게도 콘솔을 사용하여 임시로 만든 새 관리자 계정을 활성화하고 사용자 목록을 확인해 보니, Drupal 관리자 권한이 있었던 이전 Drupal 사용자 이름이 자동으로 Discourse 관리자 권한을 부여받은 것을 볼 수 있었습니다.
제 app.yml 파일에는 다음과 같이 설정되어 있습니다:
DISCOURSE_DEVELOPER_EMAILS: 'new-discourse-user@email.com,old-drupal-user@email.com'
네. 제 생각에는 계정이 활성화되기 전까지는 사용자가 스태프가 아닌 것 같아요. 저는 보통 가져오기(import) 사이트에서 Google 인증을 사용하고, 로그인할 수 있기를 원하는 사람들이 DEVELOPER_EMAILS에 포함되어 있는지, 그리고 Gmail 주소를 가지고 있는지를 확인합니다.