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 서버를 설치할 수 있습니다. 이는 가장 유연한 설치 방법이지만, 일반적으로 숙련된 시스템 관리자들이 선호하는 노력이 많이 필요한 방법입니다.
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
클립보드로 복사됨
wget https://releases.mattermost.com/9.5.2/mattermost-9.5.2-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.service
및 BindsTo=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.service
및 BindsTo=postgresql.service
를 추가하는 것을 권장합니다.
프록시 없이 Mattermost를 실행할 수 있나요?
네. Mattermost는 8065 대신 443에 바인딩됩니다. 이를 위해 올바른 권한이있는 Mattermost 이진 파일이 필요합니다. 다음 명령을 실행하여 포트가 1024보다 낮은 값에 바인딩하도록 CAP_NET_BIND_SERVICE
기능을 활성화해야 합니다:
sudo setcap cap_net_bind_service=+ep ./mattermost/bin/mattermost