Tarball로 Mattermost 수동 배포
Mattermost v12.0요약
릴리즈 tarball에서 직접 모든 64비트 Linux 배포판에 Mattermost Server를 설치합니다. Ubuntu / Debian을 사용한다면 자동 보안 업데이트를 받을 수 있는 APT 기반 설치를 사용하세요.
사용 가능 에디션: Free, Professional, Enterprise, Enterprise Advanced
사용 가능 배포 방식: 셀프 호스팅, 에어갭
릴리즈 tarball에서 직접 모든 64비트 Linux 배포판에 Mattermost Server를 설치합니다. 가장 유연한 설치 방법이며, 일반적으로 다음과 같은 경우에 선택합니다.
- Mattermost가 직접 패키지를 제공하지 않는 배포판(Arch, SUSE, Gentoo, Alpine 등)
- 내부 미러에 tarball을 준비해 두는 에어갭 환경
- 사용자 지정 경로, 사용자 또는 systemd 유닛 구성이 필요한 경우
- 모든 버전을 직접 고정하며 패키지 관리자의 자동 업그레이드를 원하지 않는 환경
Ubuntu / Debian을 사용한다면 자동 보안 업데이트를 받을 수 있는 APT 기반 설치를 사용하세요. RHEL / Rocky / Alma / Oracle을 사용한다면 SELinux, firewalld, fapolicyd 구성까지 다루는 RHEL 설치를 사용하세요.
- 운영 체제:
systemd(또는 이에 준하는 서비스 관리자)를 사용하는 모든 64비트 Linux 배포판. - 하드웨어: 1 vCPU 및 2 GB RAM(최대 약 1,000명의 사용자 지원).
- 데이터베이스: PostgreSQL 15+.
- 네트워크: TCP 80/443 인바운드(TLS), 8065 인바운드(System Console), 10025 아웃바운드(SMTP 릴레이를 사용하는 경우).
1단계: PostgreSQL 데이터베이스 준비#
다음 중 하나를 선택합니다.
- 같은 호스트에 PostgreSQL을 로컬로 설치합니다. PostgreSQL 설치 문서를 참조하세요.
- 외부 PostgreSQL 서버를 사용하고, 2단계 전에 연결 자격 증명을 확인해 둡니다.
- 관리형 데이터베이스 서비스(AWS RDS, Azure Database for PostgreSQL 등)를 사용합니다.
2단계: 데이터베이스 준비#
데이터베이스 준비 지침에 따라 Mattermost 데이터베이스, 사용자, 권한을 생성하세요.
3단계: Mattermost Server tarball 다운로드#
대상 호스트에 SSH로 접속하여 릴리즈를 다운로드합니다. ARM 기반 하드웨어에서는 amd64를 arm64로 바꾸세요.
wget https://releases.mattermost.com/12.0.0/mattermost-12.0.0-linux-amd64.tar.gz
wget https://releases.mattermost.com/11.7.12/mattermost-11.7.12-linux-amd64.tar.gz
Enterprise 및 Team Edition 릴리즈는 버전 아카이브에서 확인할 수 있습니다.
에어갭 환경에서는 운영자 워크스테이션에 tarball을 준비하고 SHA-256 및 PGP 서명을 검증한 다음 경계 너머로 전송합니다. 전체 절차는 에어갭 배포 런북을 참조하세요.
4단계: Mattermost Server 설치#
tarball을 압축 해제하고 지정한 위치로 옮긴 다음 소유권을 설정합니다.
tar -xvzf mattermost*.gz
sudo mv mattermost /opt
sudo mkdir /opt/mattermost/data
sudo useradd --system --user-group mattermost
sudo chown -R mattermost:mattermost /opt/mattermost
sudo chmod -R g+w /opt/mattermost
/opt/mattermost가 아닌 다른 경로나 mattermost가 아닌 다른 사용자/그룹 이름을 사용한다면, 이후의 모든 단계에서 해당 이름을 사용하세요.
/etc/systemd/system/mattermost.service에 systemd 유닛 파일을 생성합니다.
이전 버전의 이 가이드에서는 유닛 파일을 /lib/systemd/system/ 아래에 생성하도록 안내했습니다. 이 경로는 패키지 관리자가 설치하고 소유하는 유닛 파일 전용입니다.
[Unit]
Description=Mattermost
After=network.target
[Service]
Type=notify
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
KillMode=mixed
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
User=mattermost
Group=mattermost
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target
PostgreSQL이 같은 호스트에 있다면 [Unit] 섹션에 다음을 추가하여 데이터베이스가 준비되기 전에 Mattermost가 시작되지 않도록 합니다.
After=postgresql.service
BindsTo=postgresql.service
systemd를 다시 로드합니다.
sudo systemctl daemon-reload
5단계: 서버 구성 및 시작#
편집하기 전에 기본 구성을 백업합니다.
sudo cp /opt/mattermost/config/config.json /opt/mattermost/config/config.defaults.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: 사용자가 도움을 요청할 때 연락하는 이메일 주소.
서버를 시작합니다.
sudo systemctl start mattermost
curl http://localhost:8065
Mattermost HTML 응답이 표시되어야 합니다. 부팅 시 자동으로 시작하도록 활성화합니다.
sudo systemctl enable mattermost.service
6단계: 서버 업데이트#
tarball 설치는 새 버전을 가져올 패키지 관리자가 없으므로 수동으로 업그레이드합니다. 단계별 절차는 Mattermost Server 업그레이드를 참조하세요. 요약은 다음과 같습니다.
- 실행 중인 서버를 중지합니다(
sudo systemctl stop mattermost). config/,data/,plugins/및 PostgreSQL 데이터베이스를 백업합니다.- 새 tarball을 다운로드합니다.
- 설치 디렉터리에 덮어쓰며 압축을 해제합니다(
config/,data/,plugins/는 유지). - 소유권과 권한을 다시 설정합니다.
- 서버를 시작합니다.
Mattermost 제거#
서버를 중지하고 보관해야 할 데이터를 백업한 다음 설치 항목을 제거합니다.
sudo systemctl stop mattermost
sudo rm -rf /opt/mattermost
sudo rm /lib/systemd/system/mattermost.service
sudo userdel mattermost
/opt/mattermost에는 config/, logs/, plugins/, client/plugins/, data/가 들어 있습니다. 나중에 복원해야 할 수 있다면 rm -rf를 실행하기 전에 이 항목들을 백업하세요.
다음 단계#
- NGINX 리버스 프록시 설정
- TLS 설정
- 에어갭 배포의 경우: 에어갭 배포 런북, 에어갭 운영을 위한 구성