Linux에 Mattermost 배포하기#
Mattermost 서버는 다양한 Linux 배포판에 배포할 수 있으며, 소규모 팀과 비상업적 고객을 위한 유연하고 견고한 플랫폼을 제공합니다. 프로덕션 환경에서는 Mattermost 서버와 데이터베이스를 단일 시스템에 배포하는 것을 권장하지 않지만, 개발 및 테스트 목적으로는 좋은 옵션입니다.
이 페이지에서는 주요 Linux 배포판과 설치 방법에 대한 배포 옵션을 다룹니다. 특정 배포 지침을 보려면 아래에서 선호하는 플랫폼을 선택하세요:
Minimum system requirements:
- Operating System: 20.04 LTS, 22.04 LTS, 24.04 LTS
- Hardware: 1 vCPU/core with 2GB RAM (support for up to 1,000 users)
- Database: PostgreSQL v13+
- Network:
- Application 80/443, TLS, TCP Inbound
- Administrator Console 8065, TLS, TCP Inbound
- SMTP port 10025, TCP/UDP Outbound
Mattermost PPA(개인 패키지 아카이브)를 사용하여 서명된 .deb
패키지로 Mattermost 서버를 배포할 수 있습니다. 이는 자동 업데이트를 제공하는 Mattermost 서버를 설치하는 가장 빠른 방법입니다. 이 설치 방법은 단일 및 클러스터 설치 모두에 사용되며, Packer와 같은 도구를 사용하여 클러스터 배포를 할 수 있습니다.
팁
또는 Omnibus 패키지 배포는 Mattermost 서버, PostgreSQL 데이터베이스, 애플리케이션 프록시로 NGINX, 사용자 정의 CLI, 이러한 구성 요소를 구성하고 연결하기 위한 ansible 레시피를 포함하여 설정 및 지속적인 유지 관리를 크게 줄이는 모든 필수 구성 요소를 함께 번들로 제공합니다.
이 Mattermost 배포에는 4단계가 포함됩니다: PPA 저장소 추가, Mattermost 서버 설치, 서버 구성, 서버 업데이트.
1단계: Mattermost 서버 PPA 저장소 추가
중요
GPG 공개 키가 변경되었습니다. 새 공개 키 가져오기 또는 아래에서 제공하는 자동 Mattermost PPA 저장소 설정 스크립트를 실행할 수 있습니다. 설정에 따라 추가 단계가 필요할 수 있으며, 특히 저장소 설정 스크립트에 의존하지 않는 설치의 경우 그렇습니다. apt 저장소를 추가하기 전에 /etc/apt/trusted.gpg.d
에서 이전 키를 삭제하는 것을 권장합니다.
Ubuntu Focal - 20.04 LTS의 경우:
sudo apt-key del A1B31D46F0F3A10B02CF2D44F8F2C31744774B28
curl -sL -o- https://deb.packages.mattermost.com/pubkey.gpg | gpg --dearmor | sudo apt-key add
Ubuntu Jammy - 22.04 LTS 및 Ubuntu Noble - 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
터미널 창에서 다음 저장소 설정 명령을 실행하여 Mattermost 서버 저장소를 추가하세요:
curl -o- https://deb.packages.mattermost.com/repo-setup.sh | sudo bash -s mattermost
이 명령은 PostgreSQL 데이터베이스에 필요한 저장소를 구성하고, 프록시 역할을 하는 NGINX 웹 서버를 구성하며, SSL 인증서를 발급하고 갱신하도록 certbot을 구성하고, 설치 명령을 실행할 수 있도록 Mattermost Omnibus 저장소를 구성합니다.
2단계: Mattermost 서버 설치
Mattermost 서버를 설치하기 전에 다음 명령을 실행하여 모든 저장소를 업데이트하고 필요한 경우 기존 패키지를 업데이트하는 것이 좋습니다:
sudo apt update
모든 업데이트와 시스템 재부팅이 완료된 후 다음 명령을 실행하여 Mattermost 서버를 설치할 수 있습니다:
sudo apt install mattermost -y
이제 시스템에 최신 Mattermost 서버 버전이 설치되었습니다.
설치 경로는 /opt/mattermost
입니다. 패키지는 mattermost
라는 사용자와 그룹을 추가했습니다. 필요한 systemd 유닛 파일도 생성되었지만 활성화되지는 않습니다.
참고
Mattermost 저장소의 서명된 패키지는 여러 설치 유형에 사용되므로 systemd 유닛 파일에 의존성을 추가하지 않습니다. 데이터베이스와 동일한 시스템에 Mattermost 서버를 설치하는 경우, systemd 유닛 파일의 [Unit]
섹션에 After=postgresql.service
와 BindsTo=postgresql.service
를 모두 추가하는 것이 좋습니다.
3단계: 서버 구성
Mattermost 서버를 시작하기 전에 구성 파일을 편집해야 합니다. 샘플 구성 파일은 /opt/mattermost/config/config.defaults.json
에 있습니다.
올바른 권한으로 이 구성 파일의 이름을 변경하세요:
sudo install -C -m 600 -o mattermost -g mattermost /opt/mattermost/config/config.defaults.json /opt/mattermost/config/config.json
이 파일에서 다음 속성을 구성하세요:
SqlSettings
아래에서DriverName
을"postgres"
로 설정하세요. 이는 모든 Mattermost 설치에서 기본값이자 권장 데이터베이스입니다.SqlSettings
아래에서DataSource
를"postgres://mmuser:<mmuser-password>@<host-name-or-IP>:5432/mattermost?sslmode=disable&connect_timeout=10"
로 설정하고,mmuser
,<mmuser-password>
,<host-name-or-IP>
및mattermost
를 데이터베이스 이름으로 대체하세요.ServiceSettings
아래에서 Mattermost 애플리케이션의 도메인 이름인"SiteURL"
을 설정하세요 (예:https://mattermost.example.com
).
SupportSettings
아래에서 지원 이메일 인 "SupportEmail"
을 구성하는 것을 권장합니다. 이는 사용자가 도움이 필요할 때 연락할 이메일 주소입니다.
config.json
구성 파일을 수정한 후 Mattermost 서버를 시작할 수 있습니다:
sudo systemctl start mattermost
Mattermost가 실행 중인지 확인하세요: curl http://localhost:8065
. Mattermost 서버에서 반환된 HTML이 표시되어야 합니다.
요구 사항에 따라 마지막 단계는 시스템 부팅 시 Mattermost가 시작되도록 sudo systemctl enable mattermost.service
를 실행하는 것입니다.
참고
DataSource
구성의 sslmode
속성 값은 네이티브 환경에 완전히 의존합니다. 해당 값에 대한 지침은 네이티브 환경 설정 문서를 참조하세요. sslmode
의 사용 가능한 옵션은 disable
또는 require
입니다. 예를 들어, Amazon Lightsail을 데이터 소스로 사용하는 경우 데이터베이스에 성공적으로 연결하려면 sslmode
를 require
로 설정해야 합니다.
4단계: 서버 업데이트
새로운 Mattermost 버전이 출시되면 Mattermost 인스턴스를 다운로드하고 업데이트하기 위해 sudo apt update && sudo apt upgrade
를 실행하세요.
참고
sudo apt upgrade
명령을 실행하면 mattermost-server
가 다른 패키지와 함께 업데이트됩니다. apt
명령을 실행하기 전에 sudo systemctl stop mattermost
를 사용하여 Mattermost 서버를 중지하는 것을 강력히 권장합니다.
Mattermost 제거
Mattermost 서버를 제거하려면 다음 명령을 실행하세요:
sudo apt remove --purge mattermost
Minimum system requirements:
- Operating System: Enterprise Linux 7+, Oracle Linux 6+, Oracle Linux 7+
- Hardware: 1 vCPU/core with 2GB RAM (support for up to 1,000 users)
- Database: PostgreSQL v13+
- Network:
- Application 80/443, TLS, TCP Inbound
- Administrator Console 8065, TLS, TCP Inbound
- SMTP port 10025, TCP/UDP Outbound
Mattermost Yum 저장소를 통해 제공되는 서명된 rpm
패키지를 사용하여 Mattermost 서버를 배포할 수 있습니다.
이 Mattermost 배포는 4단계로 구성됩니다: 다운로드, Mattermost 서버 설치, 서버 설정, 서버 업데이트.
1단계: 최신 Mattermost 서버 tarball 다운로드
터미널 창에서 Mattermost 서버를 호스팅할 시스템에 ssh로 접속하세요. wget
을 사용하여 다음 명령 중 하나를 사용하여 설치하려는 Mattermost 서버 릴리스를 다운로드하세요. 필요에 따라 링크에서 amd64
를 적절한 아키텍처(예: ARM 기반 시스템의 경우 arm64
)로 대체하세요.
wget https://releases.mattermost.com/10.8.0/mattermost-10.8.0-linux-amd64.tar.gz
wget https://releases.mattermost.com/10.5.5/mattermost-10.5.5-linux-amd64.tar.gz
이전 릴리스를 찾고 있다면, Enterprise 및 Team Edition 릴리스는 버전 아카이브 문서에서 찾을 수 있습니다.
2단계: Mattermost 서버 설치
Mattermost 서버를 설치하기 전에 다음 명령을 실행하여 모든 저장소를 업데이트하고 필요한 경우 기존 패키지를 업데이트하는 것을 권장합니다:
sudo dnf update sudo dnf upgrade
모든 업데이트와 시스템 재부팅이 완료된 후, tarball을 추출하고 사용자와 그룹을 생성하며 파일/폴더 권한을 설정하여 Mattermost 서버를 설치하세요.
먼저 tarball을 추출하세요:
tar -xvzf mattermost*.gz
이제 전체 폴더를
/opt
디렉토리(또는 필요한 경로)로 이동하세요:sudo mv mattermost /opt
참고
사용자 지정 경로를 선택한 경우, 이후의 모든 단계에서 이 대체 경로가 사용되는지 확인하세요.
기본 저장소 폴더를 생성하세요. 기본적으로 Mattermost 서버는 파일을 위한 폴더로
/opt/mattermost/data
를 사용합니다. 설정 중에 시스템 콘솔에서 이를 변경할 수 있습니다(S3와 같은 대체 저장소 사용도 가능).
sudo mkdir /opt/mattermost/data
mattermost
라는 사용자와 그룹을 설정하세요:
sudo useradd --system --user-group mattermost
참고
사용자 지정 사용자 및 그룹 이름을 선택한 경우, 이후의 모든 단계에서 해당 이름이 사용되는지 확인하세요.
설치를 위한 파일 및 폴더 권한을 설정하세요:
sudo chown -R mattermost:mattermost /opt/mattermost
mattermost
그룹에 애플리케이션 폴더에 대한 쓰기 권한을 부여하세요:
sudo chmod -R g+w /opt/mattermost
이제 시스템에 최신 Mattermost 서버 버전이 설치되었습니다. Mattermost 서버의 시작과 중지는 systemd
를 사용하여 수행됩니다.
systemd 유닛 파일을 생성하세요:
sudo touch /lib/systemd/system/mattermost.service
root 권한으로 systemd 유닛 파일을 편집하여 다음 줄을 추가하세요:
[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
파일을 저장하고
sudo systemctl daemon-reload
를 사용하여 systemd를 다시 로드하세요. 이제 Mattermost 서버가 설치되었으며 설정할 준비가 되었습니다.
3단계: 서버 설정
Mattermost 서버를 시작하기 전에 구성 파일을 편집해야 합니다. 기본 구성 파일은 /opt/mattermost/config/config.json
에 있습니다. 변경하기 전에 이 기본 구성을 백업하는 것을 권장합니다:
sudo cp /opt/mattermost/config/config.json /opt/mattermost/config/config.defaults.json
이 파일에서 다음 속성을 구성하세요:
SqlSettings
아래에서DriverName
을"postgres"
로 설정하세요. 이는 모든 Mattermost 설치에서 기본값이자 권장 데이터베이스입니다.SqlSettings
아래에서DataSource
를"postgres://mmuser:<mmuser-password>@<host-name-or-IP>:5432/mattermost?sslmode=disable&connect_timeout=10"
로 설정하고,mmuser
,<mmuser-password>
,<host-name-or-IP>
및mattermost
를 데이터베이스 이름으로 대체하세요.ServiceSettings
아래에서 Mattermost 애플리케이션의 도메인 이름인"SiteURL"
을 설정하세요 (예:https://mattermost.example.com
).
참고
SupportSettings
아래에서 지원 이메일 인 "SupportEmail"
을 구성하는 것을 권장합니다. 이는 사용자가 도움이 필요할 때 연락할 이메일 주소입니다.
config.json
구성 파일을 수정한 후 Mattermost 서버를 시작할 수 있습니다:
sudo systemctl start mattermost
Mattermost가 실행 중인지 확인하세요: curl http://localhost:8065
. Mattermost 서버에서 반환된 HTML이 표시되어야 합니다.
요구 사항에 따라 마지막 단계는 Mattermost가 시스템 부팅 시 시작되도록 sudo systemctl enable mattermost.service
를 실행하는 것입니다. 이전 단계 후 Mattermost를 시작할 때 오류가 발생하지 않으면 완료된 것입니다. 오류가 발생했다면 계속 진행하세요.
중요
SELinux 설정 수정: 기본적으로 강제 모드가 활성화된 SELinux가 실행되는 RHEL9에서 Mattermost를 배포할 때 추가 구성이 필요합니다.
SELinux는 액세스 제어 보안 정책을 제공하는 보안 모듈입니다. RHEL 및 CentOS 시스템에서 기본적으로 활성화되어 있습니다. SELinux는 파일, 디렉토리 및 포트에 대한 액세스를 차단할 수 있으며, 이로 인해 Mattermost를 시작할 때 문제가 발생할 수 있습니다. 이러한 문제를 해결하려면 Mattermost 바이너리 및 디렉토리에 적절한 SELinux 컨텍스트를 설정하고 Mattermost가 포트에 바인딩할 수 있도록 허용해야 합니다.
sestatus
명령을 실행하여 SELinux가 활성화되어 있고 강제 모드인지 확인하세요.enforcing
인 경우 적절히 구성해야 합니다./opt/mattermost/bin
에 대한 bin 컨텍스트 설정: SELinux는 바이너리에 대한 보안 컨텍스트를 적용합니다. Mattermost 바이너리를 안전하게 표시하려면 아래 SELinux 컨텍스트로 설정해야 합니다.sudo semanage fcontext -a -t bin_t "/opt/mattermost/bin(/.*)?" sudo restorecon -RF /opt/mattermost/bin
이제 다음 명령으로 Mattermost를 다시 시작해보세요
sudo systemctl start mattermost
오류가 발생하지 않으면 Mattermost가 실행 중인지 확인하세요: curl
http://localhost:8065
. Mattermost 서버에서 반환된 HTML이 표시되어야 합니다. 이제 모든 설정이 완료되었습니다!Mattermost를 시작할 때 오류가 발생하면 계속 진행하기 전에
/opt/mattermost/logs
에 파일이 존재하는지 확인하세요 - 해당 디렉토리에mattermost.log
가 있다면config.json
의 구성 문제일 가능성이 높습니다. 계속하기 전에 이전 단계를 다시 확인하세요/opt/mattermost
에 대해 다른 컨텍스트를 시도하세요: SELinux는 파일과 디렉토리에 대한 보안 컨텍스트를 적용합니다. Mattermost 디렉토리를 안전하게 표시하려면 적절한 SELinux 컨텍스트를 설정해야 합니다.ls -Z /opt/mattermost
명령을 실행하여 현재 컨텍스트를 확인하세요.drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 mattermost
와 같은 결과가 반환되면,default_t
는 SELinux가 이 디렉토리의 용도를 모른다는 것을 나타냅니다.웹 서비스나 애플리케이션과 호환되는 SELinux 유형을 할당하여 안전한 컨텍스트를 설정하세요.
sudo semanage fcontext -a -t httpd_sys_content_t "/opt/mattermost(/.*)?"
명령을 실행하세요. 일반적으로 사용되는 것은 파일 제공에 사용되는httpd_sys_content_t
입니다. 디렉토리와 그 내용을 재귀적으로 일치시키도록 하세요. 변경사항을 적용하려면sudo restorecon -R /opt/mattermost
명령을 실행하세요.
Mattermost가 포트에 바인딩할 수 있도록 허용하세요: Mattermost가 특정 포트(예: 8065)가 필요할 때, SELinux가 이를 허용하도록 Mattermost가 포트에 바인딩할 수 있게 하세요.
sudo semanage port -l | grep 8065
명령을 실행하고, 포트가 나열되어 있지 않으면sudo semanage port -a -t http_port_t -p tcp 8065
명령을 실행하여 추가하세요. 여기서8065
를 필요한 포트로 대체하세요.사용자 정의 정책 처리: Mattermost가 SELinux가 차단하는 작업을 필요로 하는 경우, 사용자 정의 정책을 생성해야 합니다.
먼저
sudo ausearch -m avc -ts recent
명령을 실행하거나 감사 로그를 확인하여 SELinux 거부 사항을 확인하세요:sudo cat /var/log/audit/audit.log | grep denied
.필요한 경우 정책을 자동으로 생성하기 위해
audit2allow
를 설치하여 정책 모듈을 생성하세요.
sudo yum install -y policycoreutils-python-utils sudo grep mattermost /var/log/audit/audit.log | audit2allow -M mattermost_policy sudo semodule -i mattermost_policy.pp
구성을 테스트하세요:
sudo systemctl restart mattermost
명령을 실행하여 구성이 예상대로 작동하는지 확인하세요. 실패하는 경우 로그를 다시 확인하여 다른 SELinux 관련 문제를 식별하세요.테스트 목적으로 Mattermost를 빠르게 작동시키고 싶으신가요?
정책이 적용되지 않고 로깅만 되는
sudo setenforce 0
명령을 실행하여 SELinux를 허용 모드로 변경할 수 있습니다.이 명령은 SELinux 모드를 “허용” 모드로 변경합니다. 허용 모드에서는 정책이 적용되지 않고 위반 사항이 차단되지 않고 로깅됩니다. 이는 SELinux 정책과 관련된 문제를 디버깅하고 해결하는 데 도움이 될 수 있습니다.
컨텍스트가 필요에 따라 작동하면
sudo setenforce 1
명령을 실행하여 강제 모드를 다시 활성화하세요.
추가 세부 정보는 다음 SELinux 리소스를 참조하세요:
3단계: 서버 업데이트
tarball을 사용할 때 Mattermost 서버 설치를 업데이트하려면 여러 수동 단계가 필요합니다. 자세한 내용은 Mattermost 서버 업그레이드 문서를 참조하세요.
Mattermost 제거
Mattermost 서버를 제거하려면 Mattermost 서버를 중지하고, 모든 중요 파일을 백업한 다음 다음 명령을 실행해야 합니다:
sudo rm /opt/mattermost
참고
구성에 따라 /opt/mattermost
에 백업해야 할 여러 중요한 폴더가 있습니다. 이는 config
, logs
, plugins
, client/plugins
, data
입니다. rm
명령을 실행하기 전에 이러한 위치를 백업하는 것을 강력히 권장합니다.
애플리케이션 실행을 위해 생성된 Mattermost systemd 유닛 파일과 사용자/그룹도 제거할 수 있습니다.
Minimum system requirements:
- Hardware: 1 vCPU/core with 2GB RAM (support for up to 1,000 users)
- Database: PostgreSQL v13+
- Network:
- Application 80/443, TLS, TCP Inbound
- Administrator Console 8065, TLS, TCP Inbound
- SMTP port 10025, TCP/UDP Outbound
tarball을 사용하여 64비트 Linux 시스템에 Mattermost 서버를 설치할 수 있습니다. 이는 가장 유연한 설치 방법이지만 가장 많은 노력이 필요하며, 일반적으로 고급 시스템 관리자들이 선호합니다.
이 Mattermost 배포는 다운로드, Mattermost 서버 설치, 서버 설정의 3단계로 구성됩니다.
1단계: 다운로드
터미널 창에서 Mattermost 서버를 호스팅할 시스템에 ssh로 접속하세요. wget
을 사용하여 다음 명령 중 하나를 사용하여 설치하려는 Mattermost 서버 릴리스를 다운로드하세요. 필요에 따라 링크에서 amd64
를 적절한 아키텍처(예: ARM 기반 시스템의 경우 arm64
)로 대체하세요.
wget https://releases.mattermost.com/10.8.0/mattermost-10.8.0-linux-amd64.tar.gz
wget https://releases.mattermost.com/10.5.5/mattermost-10.5.5-linux-amd64.tar.gz
이전 릴리스를 찾고 있다면, Enterprise 및 Team Edition 릴리스는 버전 아카이브 문서에서 찾을 수 있습니다.
2단계: Mattermost 서버 설치
tarball을 추출하고, 사용자와 그룹을 생성하며, 파일/폴더 권한을 설정하여 Mattermost 서버를 설치하세요.
먼저 tarball을 추출하세요:
tar -xvzf mattermost*.gz
전체 폴더를
/opt
디렉토리(또는 필요한 경로)로 이동하세요:
sudo mv mattermost /opt
참고
사용자 정의 경로를 선택한 경우, 이후의 모든 단계에서 이 대체 경로가 사용되는지 확인하세요.
기본 저장소 폴더를 생성하세요. 기본적으로 Mattermost 서버는 파일을 위한 폴더로
/opt/mattermost/data
를 사용합니다. 설정 중에 시스템 콘솔에서 이를 변경할 수 있습니다(S3와 같은 대체 저장소 사용도 가능).
sudo mkdir /opt/mattermost/data
mattermost
라는 사용자와 그룹을 설정하세요:
sudo useradd --system --user-group mattermost
참고
사용자 지정 사용자 및 그룹 이름을 선택한 경우, 이후의 모든 단계에서 해당 이름이 사용되는지 확인하세요.
설치를 위한 파일 및 폴더 권한을 설정하세요:
sudo chown -R mattermost:mattermost /opt/mattermost
mattermost
그룹에 애플리케이션 폴더에 대한 쓰기 권한을 부여하세요:
sudo chmod -R g+w /opt/mattermost
이제 시스템에 최신 Mattermost 서버 버전이 설치되었습니다. Mattermost 서버의 시작과 중지는 systemd
를 사용하여 수행됩니다.
systemd 유닛 파일을 생성하세요:
sudo touch /lib/systemd/system/mattermost.service
root 권한으로 systemd 유닛 파일을 편집하여 다음 줄을 추가하세요:
[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
참고
데이터베이스와 동일한 시스템에 Mattermost 서버를 설치하는 경우, systemd 유닛 파일의 [Unit]
섹션에 After=postgresql.service
와 BindsTo=postgresql.service
를 모두 추가하는 것이 좋습니다.
파일을 저장하고
sudo systemctl daemon-reload
를 사용하여 systemd를 다시 로드하세요. 이제 Mattermost 서버가 설치되었으며 설정할 준비가 되었습니다.
3단계: 서버 설정
Mattermost 서버를 시작하기 전에 구성 파일을 편집해야 합니다. 기본 구성 파일은 /opt/mattermost/config/config.json
에 있습니다. 변경하기 전에 이 기본 구성을 백업하는 것을 권장합니다:
sudo cp /opt/mattermost/config/config.json /opt/mattermost/config/config.defaults.json
이 파일에서 다음 속성을 구성하세요:
SqlSettings
아래에서DriverName
을"postgres"
로 설정하세요. 이는 모든 Mattermost 설치에서 기본값이자 권장 데이터베이스입니다.SqlSettings
아래에서DataSource
를"postgres://mmuser:<mmuser-password>@<host-name-or-IP>:5432/mattermost?sslmode=disable&connect_timeout=10"
로 설정하고,mmuser
,<mmuser-password>
,<host-name-or-IP>
및mattermost
를 데이터베이스 이름으로 대체하세요.ServiceSettings
아래에서 Mattermost 애플리케이션의 도메인 이름인"SiteURL"
을 설정하세요 (예:https://mattermost.example.com
).
SupportSettings
아래에서 지원 이메일 인 "SupportEmail"
을 구성하는 것을 권장합니다. 이는 사용자가 도움이 필요할 때 연락할 이메일 주소입니다.
config.json
구성 파일을 수정한 후 Mattermost 서버를 시작할 수 있습니다:
sudo systemctl start mattermost
Mattermost가 실행 중인지 확인하세요: curl http://localhost:8065
. Mattermost 서버에서 반환된 HTML이 표시되어야 합니다.
요구사항에 따라 마지막 단계는 시스템 부팅 시 Mattermost가 시작되도록 sudo systemctl enable mattermost.service
를 실행하는 것입니다.
4단계: 서버 업데이트
tarball을 사용할 때 Mattermost 서버 설치를 업데이트하려면 여러 수동 단계가 필요합니다. 자세한 내용은 Mattermost 서버 업그레이드 문서를 참조하세요.
Mattermost 제거
어떤 이유로든 Mattermost 서버를 제거하려면 Mattermost 서버를 중지하고, 모든 중요 파일을 백업한 다음 이 명령을 실행해야 합니다:
sudo rm - rf /opt/mattermost
참고
구성에 따라 /opt/mattermost
에 백업해야 할 여러 중요한 폴더가 있습니다. 이는 config
, logs
, plugins
, client/plugins
, data
입니다. rm
명령을 실행하기 전에 이러한 위치를 백업하는 것을 강력히 권장합니다.
애플리케이션 실행을 위해 생성된 Mattermost systemd 유닛 파일과 사용자/그룹도 제거할 수 있습니다.
Minimum system requirements:
- Hardware: 1 vCPU/core with 2GB RAM (support for up to 1,000 users)
- Operating System: Ubuntu 20.04 or greater
- Database: PostgreSQL v13+
- Network ports required:
- Application ports 80/443, TLS, TCP Inbound
- Administrator Console port 8065, TLS, TCP Inbound
- SMTP port 10025, TCP/UDP Outbound
경고
Mattermost Omnibus는 향후 몇 개월 내에 더 이상 사용되지 않고 단계적으로 중단될 예정입니다. 더 많은 유연성과 더 나은 유지보수성을 제공하는 표준 Ubuntu 배포 또는 RHEL/CentOS 배포를 사용하는 것을 권장합니다.
Mattermost Omnibus는 모든 필수 구성 요소를 함께 패키징합니다: 무료 버전 Mattermost Enterprise, PostgreSQL 데이터베이스, 그리고 애플리케이션 프록시로 NGINX를 사용합니다. 이러한 구성 요소를 구성하고 연결하기 위해 사용자 정의 CLI(mmomni
)와 ansible 레시피를 사용합니다. Omnibus는 Ubuntu 배포판만 지원합니다.
이 Mattermost 배포는 Mattermost PPA 저장소 추가, Mattermost Omnibus 설치, Omnibus 설정, Omnibus 업데이트의 4단계로 구성됩니다.
1단계: Mattermost PPA 저장소 추가
터미널 창에서 다음 저장소 설정 명령을 실행하세요:
curl -o- https://deb.packages.mattermost.com/repo-setup.sh | sudo bash
이 명령은 필요한 모든 저장소를 설정하고 다음을 구성합니다:
PostgreSQL 데이터베이스
프록시로 사용되는 NGINX 웹 서버
SSL 인증서 관리를 위한 Certbot
Mattermost Omnibus 저장소
2단계: Mattermost Omnibus 설치
Mattermost Omnibus 설치 시 Mattermost 서버와 Mattermost 클라이언트 간의 보안 연결을 제공하기 위해 SSL이 기본적으로 활성화됩니다. SSL로 설치하려면 다음 명령을 실행하세요:
// Install Mattermost Omnibus with SSL enabled
sudo apt install mattermost-omnibus -y
팁
Mattermost를 시험해보고 싶으신가요? SSL 없이 Omnibus를 설치하려면 다음 명령을 실행하세요:
// Install Mattermost Omnibus without SSL
sudo MMO_HTTPS=false apt install mattermost-omnibus -y
SSL 인증서 생성 및 관련 통신 전달에 사용될 도메인 이름과 이메일 주소를 지정하라는 메시지가 표시됩니다.
모든 패키지가 설치된 후 Omnibus는 모든 플랫폼 구성 요소를 구성하고 서버를 시작하는 ansible 스크립트를 실행합니다.
브라우저를 열고 도메인 이름(예:
mymattermostserver.com
) 또는 도메인 이름을 사용하지 않는 경우 서버의 IP 주소를 통해 Mattermost 도메인으로 이동하세요.첫 번째 Mattermost 사용자를 생성하고, 더 많은 사용자를 초대하고, Mattermost 플랫폼을 탐색하세요.
3단계: Mattermost Omnibus 구성
참고
플러그인 업로드, 로컬 모드, HTTPS는 기본적으로 활성화되어 있습니다. 이러한 설정은 아래 설명된 대로 yaml
파일에서 수정됩니다.
기존 Mattermost 설치와 달리 Omnibus는 config.json
파일이 필요 없도록 구성을 데이터베이스에 직접 저장합니다. 그러나 Omnibus 자체는 자체 설정과 서비스 상호 연결을 관리하기 위해 /etc/mattermost/mmomni.yml
에 위치한 구성 파일이 필요합니다.
Omnibus 환경에서 Mattermost 서버 설정을 수정하려면(아래에 나열된 항목 제외) mmctl
명령줄 도구를 사용해야 합니다. 특히 mmctl --local config edit
명령을 사용하여 필요한 조정을 할 수 있습니다. 자세한 지침과 옵션은 mmctl 문서를 참조하세요.
Mattermost 서버 포트와 같은 특정 구성 매개변수는 최적의 Omnibus 기능을 보장하기 위해 변경되지 않아야 합니다. 다음 매개변수는 mmomni.yml
파일을 사용하여 직접 구성해야 합니다:
db_user
: PostgreSQL 데이터베이스 사용자입니다. 이 값은 Omnibus 설치 중에 생성되며 변경하면 안 됩니다.db_password
: PostgreSQL 데이터베이스 비밀번호입니다. 이 값은 Omnibus 설치 중에 생성되며 변경하면 안 됩니다.fqdn
: Mattermost 애플리케이션의 도메인 이름입니다. 이는 설치 과정에서 입력하라는 메시지가 표시되는 값으로,ServiceSettings.SiteURL
Mattermost 구성 속성을 채우고 서버의 SSL 인증서를 검색하고 구성하는 데 사용됩니다.email
: 인증서 통신에 사용되는 이메일 주소입니다. 이는 설치 과정에서 입력하라는 메시지가 표시되는 값이며, HTTPS가 비활성화된 경우 사용되지 않습니다.https
: 플랫폼이true
또는false
값을 사용하여 HTTPS 또는 HTTP를 사용하도록 구성해야 하는지 여부를 나타냅니다. Mattermost를 설치하는 권장 방법은 HTTPS를 사용하는 것이지만, 필요한 경우 비활성화할 수 있습니다.data_directory
: Mattermost가 데이터를 저장하는 디렉토리입니다.enable_plugin_uploads
: 이 설정은true
또는false
일 수 있으며,PluginSettings.EnableUploads
Mattermost 구성 속성을 구성하는 데 사용됩니다.enable_local_mode
: 이 설정은true
또는false
일 수 있으며,ServiceSettings.EnableLocalMode
Mattermost 구성 속성을 구성하는 데 사용됩니다.nginx_template
: 사용자 정의 NGINX 템플릿의 선택적 경로입니다.
mmomni.yml
구성 파일을 수정한 후, 변경사항을 적용하기 위해 mmomni reconfigure
를 실행하고, 그런 다음 systemctl restart mattermost
로 Mattermost 서버를 재시작하세요.
4단계: Mattermost Omnibus 업데이트
Mattermost Omnibus는 apt 패키지 관리자와 통합되어 있습니다.
Mattermost를 업데이트하기 전에 sudo systemctl stop mattermost
명령을 실행하여 Mattermost 서버를 중지하는 것을 강력히 권장합니다.
Mattermost 인스턴스(및 기타 패키지)를 다운로드하고 업데이트하려면 다음 명령을 실행하세요:
sudo apt update && sudo apt upgrade
백업 및 복원
Mattermost Omnibus CLI 도구 mmomni
는 서버 및 도메인 마이그레이션과 백업 및 복원을 간소화합니다. 모든 콘텐츠, 사용자, 플러그인, 구성 및 데이터베이스를 포함한 전체 Mattermost 서버의 스냅샷을 쉽게 생성할 수 있습니다. 이러한 스냅샷은 동일한 서버나 다른 서버에 복원할 수 있습니다.
Mattermost 서버의 내용을 백업하려면 다음 명령을 실행하세요:
mmomni backup -o /tmp/mm_backup_datetime.tgz
Mattermost 서버의 내용을 복원하려면 다음 두 명령을 실행하세요:
mmomni restore /tmp/mm_backup_datetime.tgz
mmomni reconfigure
Mattermost Omnibus 제거
Mattermost와 Mattermost Omnibus를 완전히 제거하려면 다음 명령을 실행하세요:
sudo apt remove --purge mattermost mattermost-omnibus
자주 묻는 질문
Omnibus에서 라이선스를 사용할 수 있나요? 네. Mattermost Omnibus는 무료, 라이선스가 없는 Mattermost Enterprise Edition을 번들로 제공하며, 라이선스를 구매하고 업로드하면 Enterprise 기능이 잠금 해제됩니다.
Omnibus 서버를 클러스터의 일부로 사용할 수 있나요? 아니요. Omnibus는 독립적인 단일 서버 Mattermost 플랫폼으로 설계되었습니다. 모든 필수 구성 요소가 동일한 서버에 있어야 합니다.
SSL 인증서가 자동으로 갱신되나요? 네. SSL 인증서는 자동으로 업데이트되고 갱신됩니다. Omnibus는 인증서를 관리하기 위해 certbot 패키지를 설치하며, /etc/cron.d/certbot에서 찾을 수 있는 cron 작업이 갱신 프로세스를 자동으로 시작합니다.
업그레이드 시 EXPKEYSIG 오류를 어떻게 수정하나요? 이 오류는 인증서가 만료되었음을 나타냅니다. 새 인증서를 얻으려면 다음 명령을 실행하세요:
sudo apt-key remove 44774B28
sudo curl -o- https://deb.packages.mattermost.com/pubkey.gpg | sudo apt-key add -
sudo apt update
사용자 정의 NGINX 템플릿을 사용할 수 있나요? 네. Mattermost Omnibus는 구성을 생성하기 위해 사용자 정의 NGINX 템플릿 사용을 지원합니다.
이 기능을 사용하려면
/opt/mattermost/mmomni/ansible/playbooks/mattermost.conf
에 있는 원본 템플릿을 새 위치에 복사하고 수정해야 합니다.이 기능을 사용할 때 주의하세요. 사용자 정의 템플릿을 변경하면 재구성 프로세스가 실패하거나 생성된 NGINX 구성이 유효하지 않을 수 있습니다.
그런 다음 템플릿에 이미 번들로 제공된 변수와 내부 로직을 사용하여 필요한 부분을 수정하거나, 대신 완전히 정적인 구성을 사용할 수 있습니다.
템플릿을 사용자 정의한 후
/etc/mattermost/mmomni.yml
구성 파일에nginx_template
속성을 추가하고mmomni reconfigure
를 실행하세요. 재구성 프로세스는 새 템플릿을 사용하여 NGINX 최종 구성을 생성합니다. 변경 사항이 성공적으로 적용되었는지 확인하려면/etc/nginx/conf.d/mattermost.conf
파일의 내용을 확인할 수 있습니다.
어떤 mmomni
명령어들을 사용할 수 있나요?
mmomni backup
: Mattermost 서버의 전체 스냅샷을 생성하고 백업 파일을 지정된 파일 위치에 저장합니다.mmomni restore
: 지정된 백업 파일을 Mattermost 서버에 복원합니다.mmomni reconfigure
: 도메인, SSL 또는 플러그인 업로드 기능과 같은 Omnibus 지정 제한 사항을 변경하는 프로세스를 다시 실행합니다. 또한 mmomni.yml 구성 파일에 대한 모든 변경 사항을 적용합니다.mmomni status
: 모든 Omnibus 구성 요소의 현재 상태를 표시합니다.mmomni tail
: 모든 Omnibus 구성 요소의 로그를 결합하여 표시합니다.
Mattermost 배포 보안 설정#
TLS 구성 및 NGINX 프록시 설정은 클라이언트와 Mattermost 서버 간의 안전한 통신을 보장합니다. 이 설정을 통해 Mattermost로 요청을 프록시하면서 HTTPS 트래픽을 제공할 수 있습니다. NGINX가 HTTPS 트래픽을 처리하므로 Mattermost 자체에서 TLS를 활성화할 필요가 없습니다.
호스트 서버에 NGINX를 설치하세요. 자세한 내용은 NGINX 프록시 설정 문서를 참조하세요.
신뢰할 수 있는 인증 기관(CA)에서 TLS 인증서를 얻거나 테스트 목적으로 자체 서명된 인증서를 사용하세요.
HTTPS 트래픽을 제공하기 위해 TLS 인증서로 NGINX를 구성하세요. NGINX는 프록시 역할을 하며 로컬 또는 별도 서버에서 실행 중인 Mattermost 애플리케이션으로 요청을 전달합니다.