OVH VPS에 Discourse 설치하는 방법

여러분 안녕하세요,

VPS에 Discourse를 설정하는 데 좀 고생하다가, OVH VPS에 Discourse를 설치하는 방법을 간단히 단계별로 공유하기로 했습니다.

저의 경우 다음을 사용하고 있습니다:

  • OVH VPS

  • 도메인 이름

  • 전문 이메일 (OVH Email Pro)

:warning: 참고: 저는 서버 설정 전문가가 아닙니다. 오류나 개선 사항이 보이면 편하게 말씀해 주세요.


0단계 – 사전 준비 사항

OVH에서 다음 제품들이 필요합니다:

  • VPS (구매 시 다음 옵션 선택):

    • 대상 고객이 위치한 국가에 위치한 데이터센터를 선택하세요 (권장).

    • 운영체제: Debian 12

  • 도메인 이름

  • 이메일 (OVH Email Pro)

참고: OVH에서 받을 두 가지 중요한 이메일을 읽어보세요.

추가 도구 및 계정:

  • (선택 사항) MaxMind – 추가 보안용:

    • 계정 생성: MaxMind 가입

    • 라이선스 키 관리 > 새 라이선스 키 생성으로 이동하세요 (ID와 키를 모두 저장하세요. 키는 다시 표시되지 않습니다).

  • PuTTY (이 가이드에서 사용하는 SSH 클라이언트): PuTTY 다운로드


1단계 – OVH 서비스 구성

  1. 도메인 → VPS

    • 이동: Web Cloud > 도메인 이름 > yourdomain.com > DNS 존

    • A 레코드의 타겟을 VPS의 IPv4 주소로 교체하세요.

  2. 도메인 → Email Pro

    • 이동: Web Cloud > Email Pro > 연결된 도메인

    • 구매한 도메인을 추가하세요.

  3. 이메일 생성

    • 이동: Web Cloud > Email Pro > 이메일 계정

    • 새 이메일 주소를 생성하세요 (예: contact@yourdomain.com).


2단계 – VPS 설정

  1. SSH로 연결

    • PuTTY를 엽니다.

    • 호스트 이름: VPS의 IPv4

    • 포트: 22

    • 콘솔에서: 이메일로 전송된 사용자 이름과 비밀번호로 로그인합니다.

  2. 서버 보안 설정

    • 비밀번호를 변경하세요.

    • SSH 포트 변경 (권장):
      sudo vi /etc/ssh/sshd_config

    • “Port”가 있는 줄을 찾으세요 (화살표 키 사용).

    • #를 제거하고 포트 번호를 49152에서 65535 사이의 숫자로 교체하세요 (i 키로 삽입 모드).

      저장 후 종료 (Esc > :wq)

  3. 의존성 설치 (Debian)
    sudo apt install docker.io -y
    sudo apt install git -y

  4. Discourse 설치
    sudo -s
    git clone https://github.com/discourse/discourse_docker.git /var/discourse
    cd /var/discourse
    chmod 700 containers

  5. 설정 스크립트 실행
    sudo ./discourse-setup

    프롬프트에 입력하세요:

    1. 호스트 이름: 도메인 (예: yourdomain.com)
    2. 관리자 이메일: 개인 이메일
    3. SMTP 서버 주소: OVH 클라이언트 영역 → Email Pro에서 확인 (예: proX.mail.ovh.net)
    4. SMTP 포트: 587
    5. SMTP 사용자 이름: 앞서 생성한 이메일 (예: contact@yourdomain.com)
    6. SMTP 비밀번호: 해당 이메일 계정의 비밀번호
    7. 알림 이메일: SMTP 사용자 이름과 동일
    8. Let’s Encrypt 이메일: 개인 이메일 (권장)
    9. MaxMind 계정 ID: MaxMind 계정에서 확인
    10. MaxMind 키: 생성한 라이선스 키
  6. SMTP 설정 세부 조정
    sudo nano containers/app.yml

    SMTP 섹션으로 스크롤합니다.

    1. 다음과 같이 편집하세요:
      • SMTP 도메인: SMTP 호스트 이름과 동일

      • SMTP 인증: “plain”을 “login”으로 교체

      • STARTTLS 활성화: 줄 앞의 # 제거

        저장 및 종료 (Ctrl + O, Enter, Ctrl + X).

  7. 앱 재빌드
    sudo ./launcher rebuild app


3단계 – 최종 테스트

이메일 전송이 정상적으로 작동하는지 확인:

sudo ./discourse-doctor

  • 테스트 메시지 수신용 테스트 이메일 주소를 입력하세요.

모든 것이 정상적으로 작동하면 이제 https://yourdomain.com에서 웹사이트를 통해 Discourse 설정을 완료할 수 있습니다.

Murffy

OVH의 이메일은 트랜잭션 이메일 서비스인가요? 대략적으로 검색해 보았지만 트랜잭션 이메일과 관련된 정보를 찾지 못했는데, 혹시 제가 잘못 알고 있는 걸까요?

훌륭해요! OVH는 제가 가장 좋아하는 프로바이더 중 하나인데, 그 문서가 꼭 필요했어요. 도메인 이름을 구매하면 무료 이메일 주소가 함께 제공된다는 점이 정말 마음에 들어요. (아직 Discourse 환경에서 이메일 주소를 테스트해 보진 않았지만, 나중에 테스트해서 여기서 보고할 수도 있겠네요.)

@murffy 참고로, OVH VPS에 docker와 discourse만 설치되어 있다면, 문서에 방화벽 설정(iptables/ufw)도 포함시켜 주시면 아마추어에게도 더 쉽게 바로 사용할 수 있는 문서가 될 거예요?

이렇게 하기를 권장하지 않습니다.
이것은 트랜잭션 이메일 서비스가 아니므로, 스팸으로 의심되어 OVH에서 자동으로 차단될 가능성이 높습니다.
저는 한동안 Discourse에 무료 OVH 이메일을 사용했지만, 좋지 않은 선택이었습니다. 대신 적절한 이메일 전송 서비스를 찾아보시는 것을 권장합니다. :slightly_smiling_face:

팁 감사합니다. OVH에 이 건에 대해 문의했는데, 어떤 답변이 올지 지켜봐야겠습니다. DKIM/SPF + 공식 헤더를 사용하고 구독 해지 버튼을 달아 주당 200~500통의 메일을 보내는 건 스팸으로 분류되지 않도록 해달라고 요청하는 게 과도한 요구는 아닌 것 같은데요.

OVH 측 업데이트 = 시간당 200통; 무료 메일 서비스치고 괜찮은 한도네요 :slight_smile: 그리고 스팸을 피하기 위해 다음과 같은 조언을 주었습니다:

  • 메일 제목에 대문자 3개 이상의 단어가 있는 경우. * 제목이 없거나 메일에 텍스트가 없는 경우. * 메일에 큰 이미지(> 1MB) 1개와 단 몇 단어, 또는 많은 이미지와 적은 텍스트만 포함된 경우. * 제목이나 메일 앞부분에 특정 키워드(예: Hello, FREE, BUY, BUYING 등)가 있는 경우. * 메일에 70% 이상의 여백(키보드의 SPACE 또는 ENTER 키의 과도한 사용)이 있는 경우. * 메일을 작성할 때 사용된 글꼴 크기가 너무 큰 경우. * 글꼴 색과 배경색이 동일하여 텍스트를 읽을 수 없는 경우. * 메일의 링크가 잘못된 경우. * URL이 안전하지 않은 경우(예: URL이 http://로만 존재하는데 https://로 선언된 경우) 또는 해킹당했거나 악성인 사이트로 연결되는 경우. * 메일에 포르노그래피나 유사한 용어가 포함된 경우. * 메일에 실행 파일(EXE, BAT, PIF, XML, XLSX 또는 매크로가 포함된 문서)이 포함된 경우, 압축된 파일일지라도 마찬가지입니다. * 메일링 리스트에 적합한 시스템을 사용하지 않고 있음에도 불구하고 수신자가 BCC에만 또는 주로 BCC에 나열된 경우.

팁: 6K ~ 200일