Tarball로 Linux에 Mattermost 배포
Mattermost v11.8tarball을 사용하여 모든 64비트 Linux 시스템에 Mattermost 서버를 설치할 수 있습니다. 이 Mattermost 배포에는 다음 단계가 포함됩니다: PostgreSQL 데이터베이스 설치, 데이터베이스 준비, Mattermost 서버 다운로드, 서버 설치, 서버 설정.
Minimum system requirements:
- Hardware: 1 vCPU/core with 2GB RAM (support for up to 1,000 users)
- Database: PostgreSQL v14+
- Network:
- Application 80/443, TLS, TCP Inbound
- Administrator Console 8065, TLS, TCP Inbound
- SMTP port 10025, TCP/UDP Outbound
tarball을 사용하여 모든 64비트 Linux 시스템에 Mattermost 서버를 설치할 수 있습니다. 이것은 가장 유연한 설치 방법이지만 가장 많은 노력이 필요하며, 일반적으로 고급 시스템 관리자가 선호합니다.
이 Mattermost 배포에는 다음 단계가 포함됩니다: PostgreSQL 데이터베이스 설치, 데이터베이스 준비, Mattermost 서버 다운로드, 서버 설치, 서버 설정.
1단계: PostgreSQL 데이터베이스 설치 또는 데이터베이스 연결 자격증명 획득#
- PostgreSQL 설치 문서를 따라 동일한 서버에 PostgreSQL을 로컬로 설치합니다.
- 외부 PostgreSQL 데이터베이스 서버를 사용합니다. 호스트명, 포트, 데이터베이스 이름, 사용자명, 비밀번호를 포함한 연결 자격증명이 있는지 확인합니다.
- 관리형 데이터베이스 서비스를 사용합니다.
2단계: 데이터베이스 준비#
데이터베이스 준비 문서를 따라 Mattermost를 위한 PostgreSQL 데이터베이스를 설정합니다.
3단계: 다운로드#
터미널 창에서 Mattermost 서버를 호스팅할 시스템에 SSH로 접속합니다. wget을 사용하여 다음 명령 중 하나로 설치할 Mattermost 서버 릴리즈를 다운로드합니다. 필요에 따라 링크의 amd64를 적절한 아키텍처(예: ARM 기반 시스템의 경우 arm64)로 변경합니다.
wget https://releases.mattermost.com/11.8.0/mattermost-11.8.0-linux-amd64.tar.gz
wget https://releases.mattermost.com/11.7.3/mattermost-11.7.3-linux-amd64.tar.gz
이전 릴리즈를 찾고 있다면 Enterprise 및 Team Edition 릴리즈를 버전 아카이브 문서에서 찾을 수 있습니다.
4단계: Mattermost 서버 설치#
tarball을 압축 해제하고 사용자 및 그룹을 만들며 파일/폴더 권한을 설정하여 Mattermost 서버를 설치합니다.
- 먼저 tarball을 압축 해제합니다:
- 전체 폴더를
/opt디렉터리(또는 필요한 경로)로 이동합니다: - 기본 스토리지 폴더를 만듭니다. 기본적으로 Mattermost 서버는 파일 폴더로
/opt/mattermost/data를 사용합니다. 이는 설치 중 시스템 콘솔에서 변경할 수 있습니다(S3와 같은 대체 스토리지 사용 포함): mattermost라는 사용자와 그룹을 설정합니다:- 설치에 대한 파일 및 폴더 권한을 설정합니다:
mattermost그룹에 애플리케이션 폴더에 대한 쓰기 권한을 부여합니다:- systemd 유닛 파일을 만듭니다:
- root로
/lib/systemd/system/mattermost.service에 있는 systemd 유닛 파일을 편집하여 다음 줄을 추가합니다: - 파일을 저장하고
sudo systemctl daemon-reload를 사용하여 systemd를 다시 로드합니다. Mattermost 서버가 이제 설치되어 설정할 준비가 되었습니다.
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
이제 시스템에 최신 Mattermost 서버 버전이 설치되었습니다. Mattermost 서버의 시작 및 중지는 ``systemd``를 사용하여 수행됩니다.
sudo touch /lib/systemd/system/mattermost.service
[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
Note데이터베이스와 동일한 시스템에 Mattermost 서버를 설치하는 경우 systemd 유닛 파일의 ``[Unit]`` 섹션에 ``After=postgresql.service``와 ``BindsTo=postgresql.service``를 모두 추가하는 것을 고려할 수 있습니다.
5단계: 서버 설정#
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 아래에서 "SiteURL": Mattermost 애플리케이션의 도메인 이름(예: https://mattermost.example.com)을 설정합니다.
SupportSettings 아래의 지원 이메일을 구성하는 것을 권장합니다. "SupportEmail"을 설정합니다. 이는 사용자가 도움이 필요할 때 연락하는 이메일 주소입니다.
config.json 구성 파일을 수정한 후 이제 Mattermost 서버를 시작할 수 있습니다:
sudo systemctl start mattermost
Mattermost가 실행 중인지 확인합니다: curl http://localhost:8065. Mattermost 서버가 반환하는 HTML이 표시되어야 합니다.
마지막 단계는 요구 사항에 따라 sudo systemctl enable mattermost.service를 실행하여 Mattermost가 시스템 부팅 시 시작되도록 합니다.
6단계: 서버 업데이트#
tarball을 사용할 때 Mattermost 서버 설치 업데이트에는 여러 수동 단계가 필요합니다. 자세한 내용은 Mattermost 서버 업그레이드 문서를 참조하세요.
Mattermost 제거#
어떤 이유로든 Mattermost 서버를 제거하려면 Mattermost 서버를 중지하고, 모든 중요한 파일을 백업한 다음 다음 명령을 실행해야 합니다:
sudo rm - rf /opt/mattermost
구성에 따라 /opt/mattermost에 백업해야 할 여러 중요한 폴더가 있습니다. config, logs, plugins, client/plugins, data입니다. rm 명령을 실행하기 전에 이 위치를 백업하는 것을 강력히 권장합니다.
Mattermost systemd 유닛 파일과 애플리케이션 실행을 위해 만든 사용자/그룹도 제거할 수 있습니다.