안녕하세요, 이런 서버 관련 것들은 처음입니다.
제발 도와주세요.
Proxmox VM이나 컨테이너에서 Discourse를 설치하고 실행하는 방법을 알려주세요.
아니면 어디서 이미 설정된 이미지를 가져와서 바로 사용할 수 있는 방법이 있을까요?
감사합니다.
안녕하세요, 이런 서버 관련 것들은 처음입니다.
제발 도와주세요.
Proxmox VM이나 컨테이너에서 Discourse를 설치하고 실행하는 방법을 알려주세요.
아니면 어디서 이미 설정된 이미지를 가져와서 바로 사용할 수 있는 방법이 있을까요?
감사합니다.
@pfaffman 이 작업에 대해 유료 설치 절차를 가지고 있을 수 있습니다. 그 비용은 충분히 가치가 있습니다.
고맙습니다, Alex!
가장 먼저 Discourse 공식 표준 설치를 확인해 보시는 것이 좋겠습니다. 다만 Proxmox가 무엇인지 살펴본 결과, 답은 "그들에게 물어보라"일 것 같습니다. 하지만 검색을 잘 해보시면 Trying to install Discourse in an Ubuntu VM on Proxmox 링크를 찾을 수 있습니다.
Proxmox VM에서 실행된다는 점이 특별하다고 생각하는지 잘 모르겠습니다. VM에 Ubuntu 18을 설치하세요. 포트 80과 443을 인터넷에 노출하세요. 위에서 링크한 Discourse 문서를 따르세요. 이 중 어떤 부분이 도움이 필요하신 건가요?
저는 이 서버 관련 일에 완전히 초보이지만 배우고 있습니다.
지금의 생각은: → 어떤 하이퍼바이저를 사용하든 차이가 없습니다. 감사합니다.
가이드에는
Docker 지원이 있는 64비트 Linux 서버에 SSH 접근 권한(로컬 IP와 PuTTY로 이미 확보했습니다)이 있어야 한다고 나와 있습니다.
(설치를 시작하기 전에 Docker가 설치되어서는 안 된다는 뜻인가요?)
VM으로 만들어야 하나요, 아니면 CT도 가능한가요?
무엇을 추천하시나요?
어떤 Linux를 추천하시나요?
나머지는 가이드에서 명확해 보이지만, 지켜보겠습니다.
설치되어 있거나 없거나 둘 다 가능합니다. 설치되어 있지 않다면 설치 스크립트가 자동으로 설치합니다.
Docker가 CT에서 제대로 작동할지 확실하지 않습니다. 컨테이너 안에 컨테이너를 넣는 셈이 되어 문제가 발생할 수 있습니다. VM을 사용하는 것이 좋습니다.
가이드에는 이렇게 나와 있습니다:
현재 지원되는 Ubuntu Server LTS 릴리스 기본값이 잘 작동합니다
Ubuntu에 대해 특별히 반대하는 이유가 없다면, Ubuntu를 사용하시길 권합니다(제 Discourse 사이트에서도 이를 사용하고 있습니다). 현재 LTS 릴리스는 20.04입니다. 이전 게시물에서 "Ubuntu 18"이라고 한 이유는 제가 현재 이를 사용하고 있기 때문이며(아직 3년 더 지원되므로 서두를 이유가 없습니다), 하지만 신규 설치의 경우 최신 버전을 사용하는 것이 더 나을 것입니다.
말씀하신 대로인 것 같습니다. 또한 Discourse 설치에서 내장된 Let’s Encrypt를 비활성화해야 합니다. 그렇게 할 수 있다는 것은 알지만, 제가 직접 해볼 일이 별로 없었습니다. 하지만 여기서 검색해 보면 관련 설명을 찾을 수 있을 것입니다.
스크립트를 수정하는 것이 가능할지 잘 모르겠습니다. (초보자에게는 위험해 보입니다.)
설치를 위해 80번 포트와 443번 포트를 직접 VM으로 포워딩하고, 완료되면 다시 80번과 443번 포트를 RevManager로 변경하는 방식은 어떨까요?
아니면 80번 포트만 변경하는 건가요?
또한, 이 상황에서는 특히 이미 인증서가 있는 경우, 스크립트에 "인증서 가져오기 (Y/N)"라는 질문을 간단히 추가하는 것이 좋을 것 같습니다. (초보자인 저는 그것이 얼마나 복잡한지 정확히 말할 수 없습니다.)
어떻게 생각하시나요?
완벽할까요?
그렇게 해야 합니다. Discourse-setup은 현재 설정에 적용할 수 없습니다. 꽤 어려운 길을 선택하신 셈이죠. 다른 웹 서버를 사용하여 설치하는 방법에 대한 howto 가이드가 있습니다.
먼저 더 간단한 설치를 시도해 보시는 것을 추천합니다.
감사합니다
스크립트를 어떻게 수정해야 하는지 알려주실 수 있나요?
제가 직접 시도해볼게요.
이런 것들을 배워야 하거든요.
이 제안은 어떨까요?
아니면 이쪽이 완벽할 것 같습니다!
이렇게 하면 스크립트 기반 설치가 문제없이 완료될 것입니다. 문제는 이제 Discourse 설치 환경이 자체적으로 TLS 인증서를 관리하려 한다는 점인데, 80번과 443번 포트를 해당 VM으로 포워딩을 중단하게 되면 이를 수행할 수 없게 됩니다. 해야 할 일은 Discourse가 인증서를 발급받거나 TLS를 처리하려는 시도를 하지 않도록 설정하는 것입니다. 그리고 app.yml 파일에서 web.ssl.template.yml과 web.letsencrypt.ssl.template.yml 줄을 주석 처리하면 그렇게 할 수 있다고 생각합니다(테스트는 해보지 않았지만). Run other websites on the same machine as Discourse 링크에도 관련 정보가 있으며, 이 의견과 일치하는 것 같습니다.
그렇게 할 실질적인 이유는 없습니다. 새 인증서를 발급받는 것은 매우 간단하기 때문입니다(현재처럼 과도하게 복잡하게 만들지 않는다면요). 기존 인증서가 있다는 사실은 사실상 중요하지 않습니다. 의도한 설정에서 복잡성을 만드는 요인은 이미 인증서를 가지고 있다는 것이 아니라, 이 구성 방식이 Discourse가 자체 인증서를 처리하지 못하게 한다는 점입니다.
감사합니다. 시도해 보겠습니다.
의미하는 바는 다음과 같습니다:
라우터에서 포트 80과 443을 VM의 IP로 포워딩합니다.
그 후 일반 스크립트로 설치할 수 있습니다.
설치가 완료되면 파일을 편집하는 것이죠?
기타 요구 사항
Discourse의 호스트명은 무엇입니까? [discourse.example.com]:
→ No-IP의 NoIp.domain.com
관리자 계정의 이메일 주소는? [ me@example.com , you@example.com]:
→ 여기에도 1und1 (IONOS)의 이메일 주소인
me@MY.Domain.com을 사용할 수 있나요? NoIp.domain.com과 다르게요.
SMTP 서버 주소? [smtp.example.com]: → IONOS에서
SMTP 포트? [587]: → IONOS에서
SMTP 사용자 이름? [user@example.com]: → 이메일 주소입니다
SMTP 비밀번호? [pa$word]: → OK
Let’s Encrypt 계정 이메일? (ENTER를 누르면 건너뜁니다) [me@example.com]: No-Ip 계정의 이메일 하지만 비밀번호는 없이?
아니요, 제 말은 설치가 실행되기 전에 파일을 편집하라는 것입니다. 위에서 언급했듯이 discourse-setup 스크립트를 사용할 수 없습니다.
도메인과 무관하게 원하는 이메일 주소를 자유롭게 사용할 수 있습니다.
이것이 공개 포럼이 될 계획이라면 해당 서버가 대량 이메일 전송을 허용하는지 확인하십시오.
비밀번호가 왜 필요하나요? 그 이메일의 유일한 용도는 Let’s Encrypt가 인증서 만료 예정을 알려주기 위한 것입니다(이것은 실제로는 거의 발생하지 않아야 합니다). 하지만 컨테이너는 애초에 인증서를 발급받아서는 안 됩니다.
감사합니다.
모든 정보를 수집한 후에는 스크립트를 사용할 수 있을 것 같아요.
나중에 설정할 구성 요약을 작성할게요.
진행 상황을 기대하고 있습니다.