Ubuntu 또는 Debian에 Mattermost 배포
Mattermost v12.0요약
서명된 Mattermost APT 리포지터리에서 Ubuntu 또는 Debian에 Mattermost Server를 설치합니다. Mattermost에는 PostgreSQL이 필요합니다. 데이터베이스 준비 지침에 따라 Mattermost 데이터베이스, 사용자, 권한을 생성하세요.
사용 가능 에디션: Free, Professional, Enterprise, Enterprise Advanced
사용 가능 배포 방식: 셀프 호스팅
서명된 Mattermost APT 리포지터리에서 Ubuntu 또는 Debian에 Mattermost Server를 설치합니다. 동일한 .deb 패키지로 단일 호스트 설치는 물론 Packer 같은 도구를 사용한 클러스터 배포도 처리할 수 있습니다.
- 운영 체제: Ubuntu 22.04 / 24.04 LTS, 또는 Debian 12(Bookworm) 이상. v12.0부터 서버 바이너리는 glibc 2.34 이상이 필요하므로, Ubuntu 20.04와 Debian 11(glibc 2.31)에서는 v11.7 ESR을 포함한 Mattermost v11.11 이하 버전만 실행할 수 있습니다. 그 밖의 Debian 계열 배포판도 대체로 동작하지만 Mattermost가 테스트하지는 않았습니다.
- 하드웨어: 1 vCPU 및 2 GB RAM(최대 약 1,000명의 사용자 지원).
- 데이터베이스: PostgreSQL 15+.
- 네트워크: TCP 80/443 인바운드(TLS), 8065 인바운드(System Console), 10025 아웃바운드(SMTP 릴레이를 사용하는 경우).
1단계: PostgreSQL 데이터베이스 준비#
Mattermost에는 PostgreSQL이 필요합니다. 다음 중 하나를 선택합니다.
- 같은 호스트에 PostgreSQL을 로컬로 설치합니다. PostgreSQL 설치 문서를 따르세요.
- 외부 PostgreSQL 서버를 사용합니다. 2단계를 시작하기 전에 연결 자격 증명(호스트 이름, 포트, 데이터베이스, 사용자 이름, 비밀번호)을 확인해 둡니다.
- 관리형 데이터베이스 서비스(AWS RDS, Azure Database for PostgreSQL 등)를 사용합니다.
2단계: 데이터베이스 준비#
데이터베이스 준비 지침에 따라 Mattermost 데이터베이스, 사용자, 권한을 생성하세요.
3단계: Mattermost APT 리포지터리 추가#
GPG 공개 키가 변경되었습니다. 새 공개 키를 가져오거나 다음 단계의 리포지터리 설정 스크립트를 실행하세요(권장). 기존 설치 환경에서는 새 키를 추가하기 전에 이전 키를 제거해야 합니다.
Ubuntu 22.04 LTS 및 24.04 LTS의 경우:
sudo rm /usr/share/keyrings/mattermost-archive-keyring.gpg
curl -sL -o- https://deb.packages.mattermost.com/pubkey.gpg \
| gpg --dearmor \
| sudo tee /usr/share/keyrings/mattermost-archive-keyring.gpg > /dev/null
리포지터리 설정 스크립트를 실행합니다.
curl -o- https://deb.packages.mattermost.com/repo-setup.sh | sudo bash -s mattermost
이 스크립트는 Mattermost APT 리포지터리, PostgreSQL 리포지터리, NGINX 웹 서버(리버스 프록시로 사용), SSL 인증서 발급 및 갱신을 위한 certbot을 구성합니다.
4단계: Mattermost Server 설치#
APT 캐시와 대기 중인 시스템 패키지를 업데이트합니다.
sudo apt update
최신 Mattermost Server를 설치합니다.
sudo apt install mattermost -y
Mattermost는 /opt/mattermost에 설치됩니다. 패키지는 mattermost 사용자와 그룹, 그리고 systemd 유닛 파일을 생성합니다. 이 시점에는 서비스가 활성화되거나 시작되지 않습니다.
Mattermost 패키지는 systemd 유닛에 데이터베이스 의존성을 선언하지 않습니다(이 패키지는 단일 호스트 설치와 외부 데이터베이스 설치 모두에 사용됩니다). 같은 호스트에 PostgreSQL을 설치했다면 /lib/systemd/system/mattermost.service의 [Unit] 섹션에 다음을 추가하세요.
After=postgresql.service
BindsTo=postgresql.service
5단계: 서버 구성#
기본 구성을 올바른 소유권과 권한으로 활성 구성 파일에 복사합니다.
sudo install -C -m 600 -o mattermost -g mattermost \
/opt/mattermost/config/config.defaults.json \
/opt/mattermost/config/config.json
/opt/mattermost/config/config.json을 편집하여 다음을 설정합니다.
SqlSettings.DriverName:"postgres"SqlSettings.DataSource:"postgres://mmuser:<mmuser-password>@<host>:5432/mattermost?sslmode=disable&connect_timeout=10"— 각 플레이스홀더를 실제 값으로 바꾸세요.ServiceSettings.SiteURL: 배포 환경의 공개 URL(예:https://mattermost.example.com).- (권장)
SupportSettings.SupportEmail: 사용자가 도움을 요청할 때 연락하는 이메일 주소.
DataSource의 TLS 모드sslmode 값은 데이터베이스 환경에 따라 달라집니다. 관련된 옵션은 disable과 require 두 가지입니다. AWS Lightsail 같은 관리형 서비스는 sslmode=require가 필요합니다. 사용 중인 제공업체의 문서를 확인하세요.
서버를 시작합니다.
sudo systemctl start mattermost
실행 중인지 확인합니다.
curl http://localhost:8065
Mattermost HTML 응답이 표시되어야 합니다. 부팅 시 자동으로 시작하도록 서비스를 활성화합니다.
sudo systemctl enable mattermost.service
6단계: Mattermost 업데이트#
새 릴리즈가 게시되면 APT를 통해 업데이트합니다.
sudo systemctl stop mattermost
sudo apt update && sudo apt upgrade
sudo systemctl start mattermost
apt upgrade는 Mattermost 바이너리가 실행 중인 상태에서 이를 교체합니다. 상태 손상을 방지하려면 먼저 systemd 서비스를 중지하세요.
Mattermost 제거#
sudo systemctl stop mattermost
sudo apt remove --purge mattermost
이 명령은 패키지를 제거하지만 /opt/mattermost/data, /opt/mattermost/logs, /opt/mattermost/plugins, /opt/mattermost/config는 그대로 남겨 둡니다. 나중에 복원해야 할 수 있다면 삭제하기 전에 이 항목들을 백업하세요.