업그레이드 Mattermost 서버
모든 플랜 에서 사용 가능
self-hosted 배포판
대부분의 경우, 몇 분 안에 Mattermost 서버를 업그레이드할 수 있습니다. 그러나 설치의 크기와 복잡성 및 업그레이드하려는 버전에 따라 업그레이드에 시간이 더 걸릴 수 있습니다.
시작하기 전에
이 지침을 처음부터 신중하게 읽으세요.
업그레이드를 준비하는 방법 을 이해하고, 모든 소프트웨어 및 하드웨어 요구 사항 에 익숙해지고, 중요한 업그레이드 노트 를 읽고, 아래에 문서화된 업그레이드 프로세스의 각 단계를 이해하는지 확인하세요. 질문이나 걱정 사항이 있으시면, 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 서버
Mattermost를 호스팅하는 서버의 터미널 창에서 홈 디렉터리로 이동하세요. 이전 다운로드로부터 아직 존재할 수 있는 파일 및 디렉터리를 삭제하세요.
cd /tmp
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
다른 버전의 zip 폴더가
/tmp
디렉터리에 존재하지 않은지 확인하세요. 다른 버전의 zip 파일이 있다면 해당 파일을 삭제하거나 이름을 변경하세요.ls -- mattermost*.gz
위 명령어에서 새 릴리스 이외의 것이 반환된 경우, 해당 파일의 이름을 변경하거나 완전히 삭제하세요.
Mattermost 서버 파일을 추출하세요.
tar -xf mattermost*.gz --transform='s,^[^/]\+,\0-upgrade,' ``transform`` 옵션은 일반적인 설치 디렉터리와 충돌하지 않도록 최상위 추출 디렉터리에 접미사를 추가합니다.
Mattermost 서버를 중지하세요.
sudo systemctl stop mattermost
데이터 및 응용 프로그램을 백업하세요. 업그레이드를 계속하기 전에 데이터베이스를 적절히 백업했는지 확인하세요. 예기치 않은 실패의 경우, 이전 데이터베이스 스냅샷을 로드할 수 있는 상태여야 합니다.
조직의 표준 프로시저를 사용하여 데이터베이스를 백업하세요.
아카이브 폴더에 복사하여 응용 프로그램을 백업하세요 (예:
mattermost-back-YYYY-MM-DD-HH-mm
).cd {install-path} sudo cp -ra mattermost/ mattermost-back-$(date +'%F-%H-%M')/
데이터 및 사용자 정의 디렉터리를 제외한 현재
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 -rImportant
기본적으로 업그레이드 시 다음 하위 디렉터리들이 보존됩니다:
config
,logs
,plugins
,client/plugins
및data
. 기본 값으로 보존하지 않는 사용자 정의 디렉터리 및 모든 다른 디렉터리를 삭제하기 전에 아래 중요한 노트를 꼭 읽는 것을 강력히 추천합니다. 일반적으로 TLS 키 또는 기타 사용자 정의 정보가 포함되지만,data
이외의 로컬 저장소에 구성된 다른 디렉터리 및 첨부 파일을 저장하는 사용자 정의 디렉터리를 포함할 수 있습니다.업그레이드를 계속하기 전에 다음을 강력히 권장 합니다:
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다음 명령을 실행하여
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
/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
만약 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
새 파일을 설치 디렉터리로 복사합니다.
sudo cp -an /tmp/mattermost-upgrade/. mattermost/
Note
n
(no-clobber) 플래그와 원본에 있는 뒤쪽의.
은 매우 중요합니다.n
(no-clobber) 플래그는 설치 경로에 있는 기존 구성 및 로그를 보존합니다. 원본의 뒤쪽의.
는 모든 설치 파일이 복사되도록 보장합니다.복사 후 새 파일의 소유권을 변경합니다. 예를 들어:
sudo chown -R mattermost:mattermost mattermost
Note
설치 디렉터리의 소유자 및 그룹으로
mattermost
를 사용하지 않은 경우,sudo chown -hR {owner}:{group} {install-path}/mattermost
명령을 실행하세요.정의된 소유자 또는 그룹이 무엇인지 확실하지 않은 경우,
ls -l {install-path}/mattermost/bin/mattermost
명령을 사용하여 확인하세요.
서버를 제공하려면 포트 80 또는 443을 사용하거나 Mattermost 서버에 TLS를 설정했다면, 새로운 Mattermost 이진 파일이 1024보다 낮은 포트에 바인딩되도록
CAP_NET_BIND_SERVICE
기능을 활성화해야 합니다. 예를 들어:sudo setcap cap_net_bind_service=+ep ./mattermost/bin/mattermost
Mattermost 서버를 시작합니다.
sudo systemctl start mattermost
임시 파일들을 제거합니다.
sudo rm -r /tmp/mattermost-upgrade/ sudo rm -i /tmp/mattermost*.gz
고가용성 배포를 사용 중인 경우 클러스터의 각 노드에 위 단계를 적용해야 합니다. 완료한 후에 시스템 콘솔의 고가용성 섹션에서 구성 파일 MD5 열이 초록색으로 표시될 것입니다. 노란색으로 표시된다면, 모든 노드가 동일한 서버 버전과 구성을 가지고 있는지 확인하세요.
계속해서 노란색으로 표시된다면, 시스템 콘솔을 열어 클러스터 전파를 트리거하기 위해 설정을 변경한 뒤 되돌릴 수 있습니다. 이렇게 하면 해당 페이지에 저장 버튼이 활성화됩니다. 그런 다음 저장 을 선택하세요. 이로써 구성은 변경되지 않지만 기존 구성이 클러스터의 모든 노드로 전송됩니다.
서버가 업그레이드된 후, 사용자들은 새로운 기능을 경험하기 위해 브라우저를 새로고침해야 할 수 있습니다.
팀 에디션을 엔터프라이즈 에디션으로 업그레이드하기
팀 에디션에서 엔터프라이즈 에디션으로 업그레이드하려면, 위에서 제공된 일반적인 업그레이드 지침을 따르되 단계 2에서 Mattermost 서버의 엔터프라이즈 에디션을 다운로드하는지 확인하세요.
라이선스 키 업로드
엔터프라이즈 에디션을 실행 중일 때, 시스템 콘솔 > 정보 > 에디션 및 라이선스 를 열고 라이선스 키를 업로드하세요.