업그레이드 Mattermost 서버

plans-img 모든 플랜 에서 사용 가능

deployment-img self-hosted 배포판

대부분의 경우, 몇 분 안에 Mattermost 서버를 업그레이드할 수 있습니다. 그러나 설치의 크기와 복잡성 및 업그레이드하려는 버전에 따라 업그레이드에 시간이 더 걸릴 수 있습니다.

Mattermost Academy Learn about upgrading Mattermost using a tarball

시작하기 전에

이 지침을 처음부터 신중하게 읽으세요.

업그레이드를 준비하는 방법 을 이해하고, 모든 소프트웨어 및 하드웨어 요구 사항 에 익숙해지고, 중요한 업그레이드 노트 를 읽고, 아래에 문서화된 업그레이드 프로세스의 각 단계를 이해하는지 확인하세요. 질문이나 걱정 사항이 있으시면, https://forum.mattermost.com/ 의 Mattermost 포럼에서 질문하세요.

업그레이드를 시작하기 전에 다음 정보를 수집하세요:

  • 기존 설치 디렉터리 - {install-path} : Mattermost 서버가 설치된 위치를 모르는 경우, 표준 이진 파일 위치와 $PATH를 찾기 위해 whereis mattermost 명령을 사용하세요.

  • 이 명령은 /opt/mattermost/bin 이 PATH에 추가되지 않았다면 아무것도 반환하지 않습니다.

  • 또는 find / -executable -type f -iname mattermost 2> /dev/null 명령을 사용하여 mattermost 이진 파일을 찾을 수 있습니다.

  • 출력은 /opt/mattermost/bin/mattermost 와 유사해야 합니다.

  • 설치 디렉터리는 /mattermost 문자열의 첫 번째 발생직전까지의 모든 것입니다. 이 예제에서 {install-path}/opt 입니다.

  • 해당 명령에서 결과가 없는 경우, 버전이 더 오래될 수 있으므로 whereis platform 을 대신 사용해보세요.

  • 로컬 저장소 디렉터리의 위치와 크기 : 로컬 저장소 디렉터리에는 사용자가 메시지에 첨부한 모든 파일이 포함되어 있습니다.

  • 해당 위치를 모르는 경우, 시스템 콘솔을 열고 Environment > File Storage 로 이동한 다음 Local Storage Directory 의 값을 읽으세요.

  • 경로는 mattermost 디렉터리를 기준으로 상대 경로입니다. 예를 들어 로컬 저장소 디렉터리가 ./data/ 이면 절대 경로는 {install-path}/mattermost/data 입니다.

  • 데이터베이스 디스크 공간 : 데이터베이스와 동일한 서버에 Mattermost 배포를 업그레이드하는 경우, 추출, 복사 및 정리를 위해 최소 2GB의 무료 디스크 공간과 데이터베이스에 사용 가능한 Mattermost 설치 용량의 두 배에 해당하는 최소 디스크 공간을 권장합니다.

업그레이드 Mattermost 서버

  1. Mattermost를 호스팅하는 서버의 터미널 창에서 홈 디렉터리로 이동하세요. 이전 다운로드로부터 아직 존재할 수 있는 파일 및 디렉터리를 삭제하세요.

    cd /tmp
    
  2. Mattermost 서버의 최신 버전을 다운로드하세요 . 다음 명령에서 X.X.X 를 원하는 버전으로 바꿔주세요.

# 기업 에디션
wget https://releases.mattermost.com/X.X.X/mattermost-X.X.X-linux-amd64.tar.gz

# 팀 에디션
wget https://releases.mattermost.com/X.X.X/mattermost-team-X.X.X-linux-amd64.tar.gz
  1. 다른 버전의 zip 폴더가 /tmp 디렉터리에 존재하지 않은지 확인하세요. 다른 버전의 zip 파일이 있다면 해당 파일을 삭제하거나 이름을 변경하세요.

    ls -- mattermost*.gz
    

    위 명령어에서 새 릴리스 이외의 것이 반환된 경우, 해당 파일의 이름을 변경하거나 완전히 삭제하세요.

  2. Mattermost 서버 파일을 추출하세요.

    tar -xf mattermost*.gz --transform='s,^[^/]\+,\0-upgrade,'
    
    ``transform``   옵션은 일반적인 설치 디렉터리와 충돌하지 않도록 최상위 추출 디렉터리에 접미사를 추가합니다.
    
  3. Mattermost 서버를 중지하세요.

    sudo systemctl stop mattermost
    
  4. 데이터 및 응용 프로그램을 백업하세요. 업그레이드를 계속하기 전에 데이터베이스를 적절히 백업했는지 확인하세요. 예기치 않은 실패의 경우, 이전 데이터베이스 스냅샷을 로드할 수 있는 상태여야 합니다.

    1. 조직의 표준 프로시저를 사용하여 데이터베이스를 백업하세요.

    2. 아카이브 폴더에 복사하여 응용 프로그램을 백업하세요 (예: mattermost-back-YYYY-MM-DD-HH-mm ).

      cd {install-path}
      sudo cp -ra mattermost/ mattermost-back-$(date +'%F-%H-%M')/
      
  5. 데이터사용자 정의 디렉터리를 제외한 현재 mattermost 디렉터리 내의 모든 파일을 제거하세요. 아래 명령어를 실행하기 전에 아래 중요한 노트를 꼭 읽는 것을 강력히 권장합니다.

sudo find mattermost/ mattermost/client/ -mindepth 1 -maxdepth 1 \! \( -type d \( -path mattermost/client -o -path mattermost/client/plugins -o -path mattermost/config -o -path mattermost/logs -o -path mattermost/plugins -o -path mattermost/data \) -prune \) | sort | sudo xargs rm -r

Important

기본적으로 업그레이드 시 다음 하위 디렉터리들이 보존됩니다: config , logs , plugins , client/pluginsdata . 기본 값으로 보존하지 않는 사용자 정의 디렉터리 및 모든 다른 디렉터리를 삭제하기 전에 아래 중요한 노트를 꼭 읽는 것을 강력히 추천합니다. 일반적으로 TLS 키 또는 기타 사용자 정의 정보가 포함되지만, data 이외의 로컬 저장소에 구성된 다른 디렉터리 및 첨부 파일을 저장하는 사용자 정의 디렉터리를 포함할 수 있습니다.

업그레이드를 계속하기 전에 다음을 강력히 권장 합니다:

  1. Mattermost 설치 디렉터리에서 ls 를 실행하여 업그레이드 전에 존재하는 모든 기본 폴더를 식별하세요.

    기본 Mattermost 설치에는 다음 파일과 디렉터리가 있습니다:

    $ ls /opt/mattermost
    ENTERPRISE-EDITION-LICENSE.txt README.md  client  data   i18n  manifest.txt  prepackaged_plugins
    NOTICE.txt                      bin        config  fonts  logs  plugins       templates
    
  2. 다음 명령을 실행하여 mattermost 폴더의 내용을 삭제하고 지정된 디렉터리 및 해당 내용만 보존하는 시범 실행을 수행하세요. 위와 동일한 명령이지만 sudo xargs rm -r 를 생략했습니다:

    sudo find mattermost/ mattermost/client/ -mindepth 1 -maxdepth 1 \! \( -type d \( -path mattermost/client -o -path mattermost/client/plugins -o -path mattermost/config -o -path mattermost/logs -o -path mattermost/plugins -o -path mattermost/data \) -prune \) | sort
    
  1. /opt/mattermost 폴더에 TLSCert/TLSKey 파일 또는 다른 정보를 저장하는 경우, 새 설치로 TLS 키 파일을 수동으로 복사하지 않고 식별된 디렉터리에 -o -path mattermost/yourFolderHere 를 추가해야 합니다.

sudo find mattermost/ mattermost/client/ -mindepth 1 -maxdepth 1 \! \( -type d \( -path mattermost/client -o -path mattermost/client/plugins -o -path mattermost/config -o -path mattermost/logs -o -path mattermost/plugins -o -path mattermost/data -o -path  mattermost/yourFolderHere \) -prune \) | sort
  1. 만약 Bleve search 를 사용 중이고, 디렉터리가 mattermost 디렉터리 *내부*에 존재하는 경우, 위 명령어를 사용하여 색인 디렉터리 경로가 보존되지 않을 것입니다.

  • 업그레이드 전에 bleve 색인 디렉터리를 mattermost 디렉터리 바깥으로 이동하거나, 업그레이드 이후에 bleve 색인 디렉터리 내용을 backup 디렉터리에서 복사할 수 있습니다.

  • 그런 다음 해당 디렉터리를 저장하거나 필요에 따라 다시 색인할 수 있습니다.

  • Bleve 색인은 Mattermost 버전 간에 재색인하지 않고 이전 버전에서 이동할 수 있습니다. Bleve 색인 디렉터리를 구성하는 방법에 대한 자세한 내용은 구성 설정 문서를 참조하세요.

한번 위 모든 단계 (해당하는 경우)를 완료했다면, xargs rm -r 을 포함한 전체 명령어를 실행할 준비가 되었습니다. 다음 예는 중요한 부분을 나타냅니다. -o -path mattermost/yourFolderHere :

sudo find mattermost/ mattermost/client/ -mindepth 1 -maxdepth 1 \! \( -type d \( -path mattermost/client -o -path mattermost/client/plugins -o -path mattermost/config -o -path mattermost/logs -o -path mattermost/plugins -o -path mattermost/data -o -path  mattermost/yourFolderHere \) -prune \) | sort | sudo xargs rm -r
  1. 새 파일을 설치 디렉터리로 복사합니다.

    sudo cp -an /tmp/mattermost-upgrade/. mattermost/
    

    Note

    n (no-clobber) 플래그와 원본에 있는 뒤쪽의 . 은 매우 중요합니다. n (no-clobber) 플래그는 설치 경로에 있는 기존 구성 및 로그를 보존합니다. 원본의 뒤쪽의 . 는 모든 설치 파일이 복사되도록 보장합니다.

  2. 복사 후 새 파일의 소유권을 변경합니다. 예를 들어:

    sudo chown -R mattermost:mattermost mattermost
    

    Note

    • 설치 디렉터리의 소유자 및 그룹으로 mattermost 를 사용하지 않은 경우, sudo chown -hR {owner}:{group} {install-path}/mattermost 명령을 실행하세요.

    • 정의된 소유자 또는 그룹이 무엇인지 확실하지 않은 경우, ls -l {install-path}/mattermost/bin/mattermost 명령을 사용하여 확인하세요.

  3. 서버를 제공하려면 포트 80 또는 443을 사용하거나 Mattermost 서버에 TLS를 설정했다면, 새로운 Mattermost 이진 파일이 1024보다 낮은 포트에 바인딩되도록 CAP_NET_BIND_SERVICE 기능을 활성화해야 합니다. 예를 들어:

    sudo setcap cap_net_bind_service=+ep ./mattermost/bin/mattermost
    
  4. Mattermost 서버를 시작합니다.

    sudo systemctl start mattermost
    
  5. 임시 파일들을 제거합니다.

    sudo rm -r /tmp/mattermost-upgrade/
    sudo rm -i /tmp/mattermost*.gz
    
  6. 고가용성 배포를 사용 중인 경우 클러스터의 각 노드에 위 단계를 적용해야 합니다. 완료한 후에 시스템 콘솔의 고가용성 섹션에서 구성 파일 MD5 열이 초록색으로 표시될 것입니다. 노란색으로 표시된다면, 모든 노드가 동일한 서버 버전과 구성을 가지고 있는지 확인하세요.

계속해서 노란색으로 표시된다면, 시스템 콘솔을 열어 클러스터 전파를 트리거하기 위해 설정을 변경한 뒤 되돌릴 수 있습니다. 이렇게 하면 해당 페이지에 저장 버튼이 활성화됩니다. 그런 다음 저장 을 선택하세요. 이로써 구성은 변경되지 않지만 기존 구성이 클러스터의 모든 노드로 전송됩니다.

서버가 업그레이드된 후, 사용자들은 새로운 기능을 경험하기 위해 브라우저를 새로고침해야 할 수 있습니다.

팀 에디션을 엔터프라이즈 에디션으로 업그레이드하기

팀 에디션에서 엔터프라이즈 에디션으로 업그레이드하려면, 위에서 제공된 일반적인 업그레이드 지침을 따르되 단계 2에서 Mattermost 서버의 엔터프라이즈 에디션을 다운로드하는지 확인하세요.

라이선스 키 업로드

엔터프라이즈 에디션을 실행 중일 때, 시스템 콘솔 > 정보 > 에디션 및 라이선스 를 열고 라이선스 키를 업로드하세요.