Mattermost Server의 tarball을 사용하여 설치하기

최소 시스템 요구 사항:

  • 하드웨어: 1 vCPU/core 및 2GB RAM (최대 1,000명의 사용자 지원)
  • 데이터베이스: PostgreSQL v11+
  • 네트워크:
    • 응용 프로그램 80/443, TLS, TCP Inbound
    • 관리자 콘솔 8065, TLS, TCP Inbound
    • SMTP 포트 10025, TCP/UDP Outbound

64비트 Linux 시스템에서 tarball을 사용하여 Mattermost 서버를 설치할 수 있습니다. 이는 가장 유연한 설치 방법이지만, 일반적으로 숙련된 시스템 관리자들이 선호하는 노력이 많이 필요한 방법입니다.

Mattermost Academy Learn about deploying Mattermost using a tarball

Tip

Mattermost 서버와 데이터베이스를 단일 시스템에서 실행 중인 경우, 업데이트를 위해 Mattermost Omnibus 설치 방법 을 권장합니다. 이는 설정 및 지속적인 유지보수를 크게 줄이고 Mattermost PPA를 사용하여 업데이트를 수행합니다. Mattermost Helm Chart나 Kubernetes Operator와 같은 더 현대적인 설치 방법도 이용할 수 있으며 강력히 권장합니다.

Note

PostgreSQL 데이터베이스가 필요합니다. 전제 조건에 대한 자세한 내용은 데이터베이스 준비 문서를 참조하세요.

Mattermost 배포는 다음 3단계로 진행됩니다: 다운로드 , 설치 , 그리고 설정 .

다운로드

터미널 창에서 Mattermost 서버를 호스팅 할 시스템에 ssh로 로그인하세요.

wget 을 사용하여 설치하려는 Mattermost 서버 릴리스를 다운로드하세요.

wget https://releases.mattermost.com/9.6.0/mattermost-9.6.0-linux-amd64.tar.gz 클립보드로 복사됨

설치

Mattermost 서버를 tarball을 풀고, 사용자 및 그룹을 생성하고, 파일/폴더 권한을 설정하여 설치합니다.

먼저 tarball을 푸세요:

  tar -xvzf mattermost*.gz

이제 전체 폴더를 /opt 디렉터리(또는 원하는 경로)로 이동하세요:

  sudo mv mattermost /opt

Note

사용자 정의 경로를 선택하는 경우, 나머지 단계에서 이 대안 경로를 사용해야 합니다.

기본적으로 Mattermost Server는 파일을 위한 폴더로 /opt/mattermost/data 를 사용합니다. 시스템 콘솔에서 설정 중에 이를 변경할 수 있습니다 (S3와 같은 대체 저장소 사용도 가능). 기본 저장소 폴더를 만드세요:

  sudo mkdir /opt/mattermost/data

이제 mattermost 라는 사용자 및 그룹을 설정하세요:

  sudo useradd --system --user-group mattermost

Note

사용자 및 그룹 이름을 사용자 정의하는 경우, 나머지 단계에서 이를 사용해야 합니다.

설치에 대한 파일 및 폴더 권한을 설정하세요:

  sudo chown -R mattermost:mattermost /opt/mattermost

mattermost 그룹에 애플리케이션 폴더에 대한 쓰기 권한을 부여하세요:

  sudo chmod -R g+w /opt/mattermost

이제 시스템에 최신 Mattermost Server 버전이 설치되었습니다. Mattermost Server를 시작하거나 중지하려면, systemd 를 사용하세요. systemd unit 파일을 만드세요:

  sudo touch /lib/systemd/system/mattermost.service

루트로, systemd unit 파일을 편집하여 다음 줄을 추가하세요:

  [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 Server가 이제 설치되어 설정할 준비가 되었습니다.

Note

만약 데이터베이스와 같은 시스템에 Mattermost 서버를 설치하는 경우, [Unit] 섹션에 After=postgresql.serviceBindsTo=postgresql.service 를 추가하는 것이 좋습니다.

설정

Mattermost 서버를 시작하기 전에 구성 파일을 편집해야합니다. 기본 구성 파일은 /opt/mattermost/config/config.json 에 있습니다.

변경 사항을 가하기 전에 기본 구성 파일을 백업하는 것을 권장합니다:

  sudo cp /opt/mattermost/config/config.json /opt/mattermost/config/config.defaults.json

이 파일에서 다음 속성을 구성하세요:

  • DriverName"postgres" 로 설정합니다. 이는 모든 Mattermost 설치에 대한 기본 및 권장되는 데이터베이스입니다.

  • DataSource"postgres://mmuser: <mmuser-password>@ <host-name-or-IP>:5432/mattermost?sslmode=disable&connect_timeout=10" 로 설정하고 mmuser , <mmuser-password> , <host-name-or-IP> , 그리고 mattermost 를 귀하의 데이터베이스 이름으로 대체합니다.

  • "SiteURL" 을 설정합니다: Mattermost 애플리케이션의 도메인 이름 (예: https://mattermost.example.com ).

config.json 구성 파일을 수정한 후에 Mattermost 서버를 시작할 수 있습니다:

  sudo systemctl start mattermost

Mattermost가 실행 중인지 확인하세요: curl http://localhost:8065 . Mattermost 서버에서 반환된 HTML을 볼 수 있어야 합니다.

최종 단계는 귀하의 요구 사항에 따라, Mattermost가 시스템 부팅 시 시작하도록 sudo systemctl enable mattermost.service 를 실행하는 것입니다.

업데이트

tarball을 사용하여 Mattermost 서버 설치를 업데이트하려면 수동으로 여러 단계를 수행해야 합니다. 자세한 내용은 Mattermost 서버 업그레이드 문서를 참조하세요.

Mattermost 제거

어떠한 이유로든 Mattermost 서버를 제거하고자 하는 경우, Mattermost 서버를 중지하고 모든 중요한 파일을 백업한 후 다음 명령을 실행해야 합니다.

 sudo rm /opt/mattermost

Note

구성, 로그, 플러그인, 클라이언트/플러그인 및 데이터와 같은 /opt/mattermost 의 여러 중요한 폴더가 있을 수 있습니다. rm 명령을 실행하기 전에 이러한 위치를 꼭 백업하는 것을 강력히 권장합니다.

또한 응용 프로그램을 실행하는 데 생성된 Mattermost systemd 단위 파일 및 사용자/그룹을 제거할 수 있습니다.

자주 묻는 질문

Mattermost가 시스템 부팅 시 시작되지 않는 이유는 무엇인가요?

Mattermost 서버를 시스템 부팅 시 시작하려면, systemd 유닛 파일을 활성화해야 합니다. 다음 명령을 실행하세요:

  sudo systemctl enable mattermost.service

Mattermost가 시스템 부팅 시 시작하지 못하는 이유는 무엇인가요?

만약 데이터베이스가 Mattermost 서버와 동일한 시스템에 있다면, /lib/systemd/system/mattermost.service systemd 유닛 파일을 편집하여 [Unit] 섹션에 After=postgresql.serviceBindsTo=postgresql.service 를 추가하는 것을 권장합니다.

프록시 없이 Mattermost를 실행할 수 있나요?

네. Mattermost는 8065 대신 443에 바인딩됩니다. 이를 위해 올바른 권한이있는 Mattermost 이진 파일이 필요합니다. 다음 명령을 실행하여 포트가 1024보다 낮은 값에 바인딩하도록 CAP_NET_BIND_SERVICE 기능을 활성화해야 합니다:

  sudo setcap cap_net_bind_service=+ep ./mattermost/bin/mattermost

Note

  • 200명 이하의 동시 사용자에 대해서는 Mattermost 서버 앞에 프록시를 사용하는 것을 강력히 권장합니다. 200명 이하의 동시 사용자가 있는 경우, TLS 설정 을 할 수 있습니다. 200명을 초과하는 동시 사용자가 있는 경우, 트래픽을 관리하기 위해 NGINX와 같은 프록시 가 필요합니다.