admin/settings/emails에서 이메일 주소를 어떻게 변경하나요?

인증된 Discourse 지원 담당자의 도움을 받아 Discourse 서버를 이전했는데, 그 이후로 Discourse가 자동화된 이메일을 보내지 않고 있습니다. 에러 로그를 확인해 보니 SMTP를 활성화하려면 Sendingblue에 연락하라고 나와 있었고, 저는 그렇게 했습니다(그들은 SMTP를 활성화해 주었죠):

하지만 여전히 작동하지 않아서 admin/settings/emails 설정을 확인해 보니, 제 이메일 주소 대신 Discourse 지원 담당자의 이메일이 목록에 표시되어 있었습니다:

거의 두 주 동안 이 지원 담당자에게 연락을 시도해 봤지만, 그는 이메일에 답장하지 않고 있으며 그의 어떤 플랫폼에서도 연락이 되지 않습니다. 그의 이메일 주소를 제 것으로 변경하는 방법은 무엇인가요?

정말 감사합니다!
Wes

표준 설치 환경이라면 해당 주소는 app.yml 파일에 설정되어 있습니다. 따라서 app.yml 파일을 직접 수정하거나, ./discourse-setup 명령을 다시 실행하여 올바른 SMTP 정보를 입력할 수 있습니다. 메일 제공업체의 설정 페이지에 필요한 사용자 이름과 비밀번호가 나와 있을 것입니다. :+1:

더 자세한 내용이 필요하시다면 가이드의 이 섹션을 참고하세요.

답장 주셔서 감사합니다, Jammy님! 제 콘솔에 app.yml 파일이 없어서, 아마 discourse-setup을 실행해야 할 것 같습니다. 저는 기술에 대해 잘 모르기 때문에 부끄러운 질문을 드려 죄송합니다. 하지만 실수를 하고 싶지 않아서요.

제안해 주신 대로 discourse-setup을 실행하면 완전히 새로운 설치 환경이 생성되는 건지, 아니면 단순히 SMTP 정보만 변경되는 건가요? 이메일 기능이 작동하지 않아서 Discourse를 수동으로 백업할 수 없습니다. 그래서 Discourse를 먼저 백업하지 않고 이 작업을 해도 괜찮을까요?

Jammy님이 답장할 수 없으시다면, 다른 분들도 자유롭게 답장해 주시면 감사하겠습니다…

전적으로 이해합니다. :slightly_smiling_face: 관리자 콘솔을 다루는 것보다 백엔드 작업을 할 때는 조금 긴장될 수 있죠.

확인차 물어보는데, 서버에 직접 접근할 수 있나요(자체 호스팅), 아니면 호스팅 제공업체를 이용하고 있나요? 서버에 접근할 수 없다면 이러한 변경 사항을 적용하려면 사이트를 호스팅하는 업체에 연락해야 할 수 있습니다.

서버에 접근할 수 있다면, ./discourse-setup을 다시 실행하는 것이 더 안전한 옵션이라고 생각합니다. 입력하는 데이터 외에는 오타를 낼 가능성이 낮기 때문입니다. 라이브 인스턴스가 중복되지 않으며, 여러 번 실행해도 괜찮습니다. :+1:

더 자세한 내용은 Troubleshoot email on a new Discourse install 가이드를 참고할 수 있습니다.

신중하게 진행하려면 커맨드 라인에서 백업도 수행할 수 있습니다.

시작하기 전에 위 내용들을 읽어보시고 질문이 있는지 확인해 보시겠습니까?

제이미, 감사합니다. 다시 올게요. 다른 기술 지원 담당자가 지금 문제를 확인하고 있어요. 어떤 도움을 줄 수 있는지 알아볼게요. 어쨌든 다시 돌아올게요. 도움을 주셔서 정말 감사합니다!

이전에 이런 일을 해본 적이 없어서, 양해 부탁드립니다. 제가 주신 링크(Backup discourse from the command line)를 사용하여 모든 것을 백업하려고 하고 있습니다.

현재 ./launcher 안에 있습니다(사진 참조).

위 링크에는 이렇게 나와 있습니다:

컨테이너에 진입:

./launcher enter app

백업 실행:

discourse backup
exit

이렇게 하면 백업 파일의 최종 파일명이 출력됩니다. 백업 파일과 컨테이너 설정(필요한 경우)을 로컬 컴퓨터로 다운로드:

scp root@69.55.54.86:/var/discourse/shared/standalone/backups/default/the-wes-penre-discussion-board-2022-03-15-152304-v20220228163400.tar.gz	 .
scp root@69.55.54.86:/var/discourse/containers/app.yml .

이걸 어떻게 해야 할지 전혀 모르겠습니다. launcher 창을 띄워 놓은 상태인데, 다음으로 무엇을 해야 하나요? 백업을 어떻게, 어디서 실행해야 하나요?

죄송합니다만, WinSCP에 대해 잘 알지 못합니다. 방금 다운로드하고 설정은 마쳤지만, 제대로 살펴볼 수 있는 건 나중에나 될 것 같습니다.

Windows PowerShell 같은 도구를 사용해 서버에 SSH로 접속할 수 있거나, Digital Ocean을 이용 중이라면 ‘access console’ 옵션을 사용한다면, 제가 더 빠르게 도와드릴 수 있을 것 같습니다. :slightly_smiling_face:

네, Digital Ocean(이하 DO)에서 콘솔 옵션을 사용할 수 있습니다. 드롭렛 콘솔을 실행하면 이렇게 표시됩니다…

훌륭합니다. :slightly_smiling_face::+1:

Droplet 콘솔을 실행하세요.

그 다음 cd /var/discourse를 입력하세요.

이어서 ./launcher enter app을 실행하세요 (잠시 기다려 주세요).

그 후 discourse backup을 실행하세요 (이것도 시작되는 데 시간이 좀 걸릴 수 있습니다).

완료되면 exit를 입력하세요.


콘솔을 직접 사용해 보셨으니, 이제 이러한 작업들의 설명이 훨씬 더 이해가 쉬울 것 같습니다. :crossed_fingers:

훨씬 더 쉬워 보이네요! 이제 discourse backup을 입력할 때까지는 모두 잘 작동했습니다. 그런데 '명령을 찾을 수 없음’이라는 오류가 표시됩니다.

discourse와 backup 사이에 공백을 넣고 입력했습니다.

이렇게 해야 했어요:

apparently, I don’t have the data.yml file.

아, 두 개의 컨테이너로 구성된 환경인 것 같습니다.

어느 쪽을 수정해야 할지 한 번 더 확인해 보겠습니다.

다음과 같이 실행하려면:

cd /var/discourse
./launcher enter web_only
discourse  backup

winSCP로 데이터를 가져올 때, /var/discourse/shared/web-only/backups/defau/t (단, web_only인 경우를 제외하고, 대시(-)가 있는 것으로 보입니다)를 확인해야 합니다.

어느 시점에 다음과 같이 데이터 컨테이너를 다시 빌드해야 합니다:

./launcher rebuild data
./launcher bootstrap web_only && launcher destroy web_only; ./launcher start web_only

(웹 인터페이스에서 docker_manager로 컨테이너를 업데이트하지 않았다면 rebuild를 stop으로 대체할 수 있지만, 대부분 bootstrap을 실행하는 것이 해롭지 않습니다.

rebuild를 통해 main 브랜치에 있는지, master 브랜치가 아닌지 확인하고 git pull을 수행합니다.

정말 훌륭합니다. @pfaffman님, 감사합니다 :+1::slightly_smiling_face: 솔직히 아직 두 컨테이너 구성에 대한 실무 경험이 없어서, 아래에 아바타가 계속 타이핑하는 모습을 보게 되어 정말 안도했습니다. :slightly_smiling_face:

두 컨테이너 구성의 대안으로 ./discourse-setup --two-container를 실행하면 되는 건가요? 일반 설치처럼 여러 번 실행할 수 있는지 확실하지 않아서요.

그렇지 않다면, SMTP 정보를 업데이트하려면 이렇게 해야 하는 건가요?

cd /var/discourse 
nano containers/web_only.yml

아니요. 하지만 설치 후 discourse-setup을 실행하면 web_only가 있는지 감지하여 올바르게 처리합니다. :tm: (app과 web_only가 모두 있는 경우, 둘 중 하나를 무시합니다).

와! 정말 훌륭해요. 제이, 정말 감사해요! 이제 작동하네요. 지금 컴퓨터로 다운로드되고 있어요. 이메일 SMTP를 설정하지 않았을 때 정말 좋은 해결책이네요.

제이미도 감사합니다! 여기서 새로운 것을 배웠어요. 이 모든 것을 한 번에, 하나씩 배워야 해요. Discourse는 정말 멋진 프로그램이고, 정말 좋아해요! 이제 내부 구조를 알아야 해요. 아직 SMTP 이메일 주소를 변경하는 방법을 이해하지 못했지만, 지금까지 받은 지시사항을 따를 거예요. 더 질문이 생기면 다시 여기에 올게요…

앞서 오간 대화에서 누락되었을 수 있으니, 이제 백업이 있으므로 다음을 수행할 수 있습니다:

cd /var/discourse
./discourse-setup

그리고 프롬프트에 SMTP 세부 정보를 입력하세요. :+1:

discourse-setup만 실행하면 됩니다.