안녕하세요, DigitalOcean Linux VPS에 discourse를 처음 설치하고 있습니다. 이 VPS는 Nginx를 통해 여러 사이트를 운영 중이며, discourse를 여러 사이트와 함께 설치하는 방법에 대한 튜토리얼을 따랐습니다: Run other websites on the same machine as Discourse - #182 by angus
discourse 설치 및 실행은 잘 되었습니다. 하지만 관리자 계정을 만들면 이메일이 전혀 도착하지 않습니다. 아래 튜토리얼을 따랐습니다: crunchify[dot]com/how-to-setup-email-for-discourse-forum-with-google-apps-smtp-relay-right-way/
제 서버는 postfix를 사용하여 이메일을 Google G Suite으로 중계하며, WordPress와 MyBB에서는 잘 작동합니다. 다만, 위의 튜토리얼에는 postfix에 대한 언급이 없으며, Google G Suite에 직접 연결하는 것으로 추정됩니다.
이메일 문제 해결을 위한 가이드를 따랐습니다: meta.discourse[dot]org/t/troubleshooting-email-on-a-new-discourse-install/16326
smtp relay로 telnet을 수행할 수 있습니다:
$ sudo telnet smtp-relay.gmail.com 587
Trying 2607:f8b0:400d:c04::1c...
Connected to smtp-relay.gmail.com.
Escape character is '^]'.
220 smtp-relay.gmail.com ESMTP n18sm708840ooi.26 - gsmtp
production 로그에는 다음과 같이 표시됩니다:
Rendering layouts/email_template.html.erb
Rendered layouts/email_template.html.erb (Duration: 0.1ms | Allocations: 32)
Delivered mail cf23dab4-3e43-421e-8e54-228489c58874@forums.neuronootropic.org (610.1ms)
Job exception: end of file reached
Rendering layouts/email_template.html.erb
Rendered layouts/email_template.html.erb (Duration: 0.2ms | Allocations: 32)
Delivered mail a092f703-b590-4792-bd73-d9e4700c3e3c@forums.neuronootropic.org (261.1ms)
Job exception: end of file reached
해당 이메일이 정상적으로 작동한다는 것을 알기 때문에 app.yml 설정 파일의 이메일을 noreply@forums.neuronootropic.org으로 설정해 보았지만, 결과는 동일합니다. 여전히 숫자가 포함된 이메일을 보내고 있는데, 이것이某种 암호화라고 추정됩니다. 하지만 제 받은 편지함에는 도착하지 않습니다.
제 다른 문제는 nginx와 관련이 있습니다. 어제까지는 잘 작동했지만, 오늘 app.yml 설정 파일을 수정하여 URL을 서브도메인 대신 서브디렉토리로 설정했습니다.
현재 포럼인 MyBB는 서브디렉토리로 실행되고 있으며 이메일에 문제가 없으므로, 서브도메인이 이메일 작동 문제를 일으키는 것인지 확인해 보고 싶었습니다.
이 작업을 수행한 후 nginx가 깨진 것 같습니다. 어떤 이유에서인지, nginx 설정 파일에 명시되어 있지 않은데도 nginx가 discourse 디렉터리에서 SSL 인증서를 로드하려고 시도하고 있습니다. 에러 내용은 다음과 같습니다:
$ sudo nginx -t
nginx: [emerg] BIO_new_file("/var/discourse/shared/standalone/ssl/ssl.crt") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/var/discourse/shared/standalone/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: configuration file /etc/nginx/nginx.conf test failed
SSL 인증서에는 Let’s Encrypt를 사용하고 있으며, 이는 정상적으로 작동하고 있습니다. discourse를 서브도메인 대신 서브디렉토리로 실행하려 하기 전인 어제까지 nginx에는 문제가 없었습니다.
도움 주시면 감사하겠습니다.