macOS에서 .tar 파일을 다운로드하는 과정에서 백업 복원에 몇 가지 문제가 있었지만 결국 성공했습니다. 사이트는 forum.imaginerio.org에서 구 포스트를 포함한 모든 내용과 함께 정상적으로 실행되고 있지만, 배포 과정에서 설정한 관리자 계정으로든, 이전 포럼 자격 증명으로든 로그인할 수 없습니다. 현재 브라우저에서는 다음과 같은 메시지가 표시됩니다.
Oops
The software powering this discussion forum encountered an unexpected problem. We apologize for the inconvenience.
Detailed information about the error was logged, and an automatic notification generated. We'll take a look at it.
No further action is necessary. However, if the error condition persists, you can provide additional detail, including steps to reproduce the error, by posting a discussion topic in the site's feedback category.
하지만 시크릿(프라이빗) 창에서는 정상적으로 로딩됩니다. Google로 연결하면 Something went wrong, maybe this email has already been used라는 오류가 발생하고, GitHub로 연결하면 위에서 언급한 오류가 표시됩니다. 비밀번호를 잊었을 때 사용하는 링크를 시도해 보았지만 이메일이 도착하지 않으며, discourse-doctor로 보낸 테스트 이메일은 정상적으로 도착합니다.
실행 중인 컨테이너에서 확인해야 할 로그나 수행해야 할 다른 작업이 있을까요?
이것은 이전에 호스팅된 인스턴스에서 백업을 다운로드한 후 현재 직접 호스팅하고 있는 것이므로, 이것이 원인과 관련이 있을 수 있는지 확실하지 않습니다.
마이클, 감사합니다. 말씀하신 부분까지 도달할 수는 있지만, 실제로 계정을 생성하려고 하면 '문제가 발생했습니다’라는 메시지와 함께 해당 이메일이 이미 등록되어 있을 수 있다는 경고가 표시됩니다(사실은 아닙니다). 백도어 로그인을 시도해 보았는데, '이메일을 보냈습니다’라고 표시되지만 받은 편지함에 아무것도 도착하지 않습니다(다시 한번 말씀드리지만, discourse-doctor의 테스트 이메일은 도착합니다). 어쩐 이유로 팀 외 구성원에게 이메일을 끄는 설정을 해둔 기억이 나는데, 제가 사용하고 있는 이메일은 분명히 팀 이메일입니다.
아직 구독을 취소하지 않았습니다. 이 문제를 새로운/다른 관리자 계정과 설정으로 해결할 수 있다면, 고객 지원팀에서 도움을 받을 수 있을까요?
이 포럼은 아직 구독이 활성 상태인 호스팅 사이트에서 복원되었습니다. 같은 도메인을 사용하고 있기 때문에 호스팅된 사이트는 공개적으로 접근할 수 없지만, 여전히 실행 중일까요? 잘못된 설정으로 인해 잠금 상태에 있는 것 같다는 느낌을 바탕으로, 설정을 되돌린 후 새 백업을 내보내고 복원하는 방법을 제안하고 있습니다.
이 방법은 거의 작동하는 것 같습니다. 관리자 계정은 생성할 수 있었지만, 로그인하려고 하면 ‘unknown error’(알 수 없는 오류)가 발생하고 콘솔에는 500 오류가 표시됩니다. 로그인 링크를 요청해 보니 이메일은 성공적으로 도착했지만, 다시 한번:
Parameters: {"slug"=>"en-narratives-about", "topic_id"=>"96"}
Completed 500 Internal Server Error in 23ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
Started GET "/t/en-narratives-about/96.json" for 34.127.96.150 at 2025-01-24 19:47:25 +0000
Processing by TopicsController#show as JSON
그 외에는 특별히 주목할 만한 내용은 없지만, /log/var-log에서 제 admin:create 명령의 확인 기록이 있을 뿐입니다:
2025-01-24T19:20:57.703680+00:00 ip-172-26-4-15-app sudo: root : TTY=pts/1 ; PWD=/var/www/discourse ; USER=discourse ; COMMAND=/usr/local/bin/bundle exec bin/rake admin:create
2025-01-24T19:20:57.704316+00:00 ip-172-26-4-15-app sudo: pam_limits(sudo:session): Could not set limit for 'core' to soft=-1, hard=-1: Operation not permitted; uid=0,euid=0
2025-01-24T19:20:57.704421+00:00 ip-172-26-4-15-app sudo: pam_unix(sudo:session): session opened for user discourse(uid=1000) by (uid=0)
2025-01-24T19:21:59.096268+00:00 ip-172-26-4-15-app sudo: pam_unix(sudo:session): session closed for user discourse
2025-01-24T19:25:01.326841+00:00 ip-172-26-4-15-app CRON[116983]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
2025-01-24T19:25:01.340674+00:00 ip-172-26-4-15-app CRON[116983]: pam_unix(cron:session): session closed for user root
네, 사용자 생성에 분명 문제가 있는 것 같습니다. 원인을 파악하기가 쉽지 않을 것 같네요. 하지만 해당 로그에서 로그인 시도를 할 때 발생하는 로그를 찾아보셔야 합니다. /t/en-narratives-about/96.json이 아닌 /login 경로가 포함된 로그를 찾으시면 됩니다.
자체 호스팅 사이트에 대해 유료 지원을 원하시면, 개인 메시지나 프로필에 있는 연락처로 직접 저에게 연락해 주세요.
이 문제를 해결하는 데 도움을 주셔서 감사합니다. rake admin:create로 관리자 사용자를 생성한 후 로그인하려고 했는데, 로그가 다음과 같습니다.
Started GET "/session/passkey/challenge.json" for 179.210.195.226 at 2025-01-24 21:13:59 +0000
Processing by SessionController#passkey_challenge as JSON
Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 2.0ms)
Started GET "/t/en-narratives-about/96.json" for 34.127.96.150 at 2025-01-24 21:14:00 +0000
Processing by TopicsController#show as JSON
Parameters: {"slug"=>"en-narratives-about", "topic_id"=>"96"}
Completed 500 Internal Server Error in 35ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.7ms)
Started POST "/session" for 179.210.195.226 at 2025-01-24 21:14:05 +0000
Processing by SessionController#create as */*
Parameters: {"login"=>"martim", "password"=>"[FILTERED]", "second_factor_method"=>"1", "timezone"=>"America/Sao_Paulo"}
Started GET "/t/en-narratives-about/96.json" for 34.127.96.150 at 2025-01-24 21:14:06 +0000
Processing by TopicsController#show as JSON
Parameters: {"slug"=>"en-narratives-about", "topic_id"=>"96"}
Completed 200 OK in 195ms (Views: 0.1ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 4.3ms)
또한 다음과 같은 시도들도 확인할 수 있습니다:
Started GET "/session/hp.json" for 174.50.213.142 at 2025-01-24 20:58:53 +0000
Processing by SessionController#get_honeypot_value as JSON
Completed 200 OK in 5ms (Views: 0.2ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
Started GET "/u/check_username?username=Jay_Pfaffman&email=jay%40literatecomputing.com" for 174.50.213.142 at 2025-01-24 20:58:53 +0000
Processing by UsersController#check_username as JSON
Parameters: {"username"=>"Jay_Pfaffman", "email"=>"jay@literatecomputing.com"}
Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
그 이전에는 다음과 같은 기록들이 있습니다:
Started GET "/session/email-login/36ac7e1c52851f1b5c76894b04fd3c4d.json" for 31.186.166.197 at 2025-01-24 20:23:25 +0000
Processing by SessionController#email_login_info as JSON
Parameters: {"token"=>"36ac7e1c52851f1b5c76894b04fd3c4d"}
Completed 200 OK in 6ms (Views: 0.1ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
그리고
Started GET "/session/hp.json" for 174.50.213.142 at 2025-01-24 21:02:05 +0000
Processing by SessionController#get_honeypot_value as JSON
Completed 200 OK in 2ms (Views: 0.1ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)```
새로 설치하고 일부 설정을 변경하는 것이 도움이 될까요? 포럼이 온라인 상태가 되자마자 바로 백업을 복원했습니다.
감사합니다. 시도해 보았지만 위에서와 같은 500 error 팝업이 다시 나타났습니다… 이 시도의 로그는 다음과 같습니다.
Started GET "/session/email-login/058db4bbc47396be096cf7bed508c23e?safe_mode=no_plugins,no_themes" for 179.210.195.226 at 2025-01-27 13:04:30 +0000
Processing by SessionController#email_login_info as HTML
Parameters: {"safe_mode"=>"no_plugins,no_themes", "token"=>"058db4bbc47396be096cf7bed508c23e"}
Rendered layout layouts/application.html.erb (Duration: 54.6ms | GC: 1.2ms)
Completed 200 OK in 62ms (Views: 56.0ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 1.2ms)
Started GET "/svg-sprite/forum.imaginerio.org/svg--ebd30ca654fdbd40604e7a7f5127b1bce16eb12b.js" for 179.210.195.226 at 2025-01-27 13:04:30 +0000
Processing by SvgSpriteController#show as */*
Parameters: {"hostname"=>"forum.imaginerio.org", "theme_id"=>"", "version"=>"ebd30ca654fdbd40604e7a7f5127b1bce16eb12b"}
Completed 200 OK in 5ms (Views: 0.5ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
Started GET "/session/email-login/058db4bbc47396be096cf7bed508c23e.json" for 179.210.195.226 at 2025-01-27 13:04:30 +0000
Processing by SessionController#email_login_info as JSON
Parameters: {"token"=>"058db4bbc47396be096cf7bed508c23e"}
Completed 200 OK in 253ms (Views: 0.2ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.7ms)
Started GET "/session/csrf" for 179.210.195.226 at 2025-01-27 13:04:34 +0000
Processing by SessionController#csrf as JSON
Completed 200 OK in 5ms (Views: 1.1ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
Started POST "/session/email-login/058db4bbc47396be096cf7bed508c23e" for 179.210.195.226 at 2025-01-27 13:04:34 +0000
Processing by SessionController#email_login as */*
Parameters: {"second_factor_method"=>"1", "timezone"=>"America/Sao_Paulo", "token"=>"058db4bbc47396be096cf7bed508c23e"}
Completed 500 Internal Server Error in 182ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 1.4ms)
SessionController#email_login에서 “second_factor_method”=>“1” 부분이 실패하는 것으로 보입니다.
방금 이 방법을 시도해 봤고, 새 계정을 성공적으로 생성할 수 있었습니다. 로그인 문제가 백업 복원 때문에 생긴 것 같은데, .tar에서 .tar.gz로 변환하는 과정에서 무언가가 손상된 걸까요? 복원 전에 OAuth를 설정해 두는 것이 차이를 만들까요, 아니면 복원 과정에서 설정이 덮어쓰기되는 건가요?
해결한 것 같습니다. 팀 외 멤버에 대한 이메일을 비활성화해 두었는데, SiteSetting.disable_emails = "no"로 변경하니 문제가 해결되었습니다! 도움을 주신 모든 분들께 감사드립니다. 여전히 이것이 왜这么大的 혼란을 일으켰는지 정확히 모르겠습니다 (콘솔을 통해 관리자를 생성할 때는 이메일이 잘 수신되었고, 이메일을 비활성화하는 것이 등록된 사용자의 로그인에 왜 영향을 미치는지 이해가 가지 않거든요) 하지만 지금은 모든 것이 정상입니다