본문 바로가기
Dev

리눅스 Mattermost HTTPS(SSL)로 운영하는 방법

by 아ZN2 2024. 8. 15.

목차

    리눅스 Mattermost HTTPS(SSL)로 운영하는 방법

    리눅스 환경에서 Slack의 대안으로 많은 사용자들에게 사랑받고 있는 Mattermost를 HTTPS(SSL)로 운영하는 방법에 대해 알아보겠습니다. 지난 포스트에서는 Mattermost의 기본 설치 방법에 대해 다루었고, 이번 포스트에서는 Mattermost를 HTTPS 모드로 설정하는 과정에 대해 자세히 설명드리겠습니다. 현재 저는 Mattermost를 성공적으로 HTTPS 모드로 운영하고 있으며, 이와 관련된 설정 방법을 공유하고자 합니다.

    도메인 구매 및 SSL 인증서 설치

    1. 도메인 구매
    2. HTTPS를 설정하기 위해서는 우선 도메인을 구매해야 합니다. 요즘 저는 https://www.hosting.kr에서 도메인을 구매하고 있습니다. 이곳은 비교적 저렴한 가격에 도메인을 제공하므로 추천드립니다.
    3. Certbot 설치
      sudo apt update
      sudo apt install certbot python3-certbot-nginx
      NGINX는 선택 사항이지만, 궁극적으로 NGINX 위에 HTTPS를 올리고 Mattermost를 운영할 계획이기 때문에 설치하는 것이 좋습니다.
    4. SSL 인증서를 발급받기 위해 certbot이라는 프로그램을 설치해야 합니다. Certbot은 무료 SSL 인증서인 Let's Encrypt를 이용하여 인증서를 발급받는 도구입니다. 다음 명령어를 사용하여 Certbot을 설치합니다:

    Mattermost HTTPS 설정

    1. Mattermost 시스템 설정
      • Site URL 설정
        • Site URLhttps://구매한도메인:443으로 변경합니다.
      • Listen Address 설정
        • Listen Address:443으로 설정합니다.
      • Forward Port 설정
        • Forward port 80 to 443true로 설정합니다.
      • Connection Security 설정
        • Connection SecurityTLS로 설정합니다.
      • Use Let's Encrypt 설정
        • Use Let's Encrypttrue로 설정합니다.
      모든 설정을 마친 후, 하단의 Save 버튼을 클릭하여 변경 사항을 저장합니다.
    2. HTTP 모드로 Mattermost가 정상적으로 작동한 후, HTTPS 모드로 변경하기 위한 설정을 진행합니다. Mattermost의 시스템 콘솔에 접속하여 설정을 변경해야 합니다. 설정 변경은 다음과 같은 단계를 포함합니다:
    3. 포트 바인딩 설정
      sudo setcap cap_net_bind_service=+ep /opt/mattermost/bin/mattermost
      이 명령어는 Mattermost가 1000번대 이하의 포트에서 실행될 수 있도록 권한을 부여합니다.
    4. Mattermost가 1000번대 이하의 포트에서도 실행될 수 있도록 포트 바인딩을 변경해야 합니다. 다음 명령어를 사용하여 이 설정을 적용합니다:
    5. Mattermost 재시작
      sudo systemctl restart mattermost
    6. 변경 사항을 적용하기 위해 Mattermost를 재시작합니다:

    NGINX와의 충돌 해결

    Mattermost를 HTTPS로 설정하는 과정에서 NGINX와의 충돌이 발생할 수 있습니다. NGINX가 설치되어 있지 않거나, NGINX를 사용하지 않으려면 다음 명령어로 NGINX를 중지하고 자동 시작을 비활성화합니다:

    sudo systemctl stop nginx
    sudo systemctl disable nginx

    만약 다른 사이트와 함께 운영해야 한다면, NGINX를 사용할 수도 있지만, 이 경우에는 HTTP 모드를 사용하시는 것이 좋습니다.

    결론

    이로써 Mattermost를 HTTPS 모드로 성공적으로 설정할 수 있었습니다. HTTPS를 사용하면 데이터 전송 시 보안이 강화되므로, 보안이 중요한 경우 꼭 HTTPS 모드로 설정하는 것이 좋습니다. 다음에는 NGINX를 프록시 서버로 사용하는 방법에 대해서도 다룰 계획입니다.


    키워드: Mattermost, 리눅스, HTTPS, SSL, Certbot, Ubuntu, 도메인, NGINX, 포트 바인딩, 보안 설정

    반응형

    댓글