Ubuntu 16.04에서 PostgreSQL 및 Nginx와 함께 Mattermost를 설치하는 방법
이 페이지에서
- 1단계 - PostgreSQL 데이터베이스 설치 및 구성
- 2단계 - Mattermost 설치 및 구성
- 3단계 - Mattermost Systemd 서비스 구성
- 4단계 - Nginx 설치 및 구성
- 5단계 - 테스트
- 참조
Mattermost는 Golang 및 React 프로그래밍 언어로 작성된 오픈 소스 메시징 시스템입니다. Slack 대안으로 slack 또는 hipchat과 같은 자체 메시징 서비스를 구축할 수 있습니다. Mattermost는 팀 커뮤니케이션을 한 곳으로 가져오고 어디서나 액세스할 수 있도록 합니다. 데스크톱, Android 기기 및 iPhone에서 액세스할 수 있습니다.
이 튜토리얼에서는 PostgreSQL을 데이터베이스 시스템으로 사용하고 Nginx를 Mattermost의 리버스 프록시로 사용하는 자체 Mattermost 서버를 만드는 방법을 안내합니다. 운영 체제로 우분투 16.04를 사용하겠습니다.
전제 조건
- 우분투 16.04 - 64비트
- 루트 권한\n
1단계 - PostgreSQL 데이터베이스 설치 및 구성
Mattermost는 MySQL 및 PostgreSQL 데이터베이스를 지원합니다. 이 자습서에서는 PostgreSQL을 기본 데이터베이스로 사용합니다. 서버에 연결하고 리포지토리를 업데이트합니다.
SSH로 서버에 연결하거나 터미널에 로그인하고 Ubuntu 리포지토리를 업데이트합니다.
ssh
sudo apt-get update
루트 사용자로서 이 apt 명령으로 PostgreSQL을 설치합니다.
sudo apt-get install postgresql postgresql-contrib
설치가 완료되면 postgres 사용자로 로그인하고 psql 명령을 입력하여 postgresql 셸에 로그인합니다.
su - postgres
psql
아래 명령을 사용하여 postgres 사용자 비밀번호를 변경하십시오.
\password postgres
Enter new password:
다음으로 Mattermost 설치를 위해 새 데이터베이스와 사용자를 구성해야 합니다. 나는 mattermostdb라는 이름의 새 데이터베이스를 만들고 암호 matterpassword를 사용하여 사용자 matteruser를 생성합니다. 설치를 위한 보안 암호를 선택하십시오.
아래의 PostgreSQL 쿼리를 사용하여 새 데이터베이스와 사용자를 생성합니다.
CREATE DATABASE mattermostdb;
CREATE USER matteruser WITH PASSWORD 'matterpassword';
mattermostdb 데이터베이스에 matteruser 권한을 부여하고 종료합니다.
GRANT ALL PRIVILEGES ON DATABASE mattermostdb TO matteruser;
\q

2단계 - Mattermost 설치 및 구성
루트 사용자가 아닌 일반 Linux 사용자로 Mattermost를 설치하고 구성합니다. Mattermost를 사용자 문제로 실행할 것이므로 서버에서 문제라는 새 Linux 사용자를 생성해야 합니다.
새 문제 사용자 및 암호를 생성합니다.
useradd -m -s /bin/bash matter
passwd matter
문제 사용자가 생성되었으므로 이제 사용자로 로그인하고 wget으로 최신 Mattermost 버전을 다운로드합니다.
su - matter
wget https://releases.mattermost.com/3.4.0/mattermost-3.4.0-linux-amd64.tar.gz
Mattermost 파일을 추출하면 Mattermost 새 디렉토리가 표시됩니다. cd 명령으로 해당 디렉토리를 입력하십시오.
tar -xzvf mattermost-3.4.0-linux-amd64.tar.gz
cd mattermost/
다음으로 사용자 파일을 저장할 새 데이터 디렉토리를 만든 다음 vim으로 가장 중요한 구성 파일 config/config.json을 편집합니다.
mkdir data/
vim config/config.json
Mattermost는 Nginx 리버스 프록시 뒤에서 실행되므로 로컬 IP 주소에서 수신 대기하도록 Mattermost를 구성하는 것이 좋습니다. ServiceSettings 블록에서 localhost IP 주소를 4행의 구성에 추가합니다.
"ListenAddress": "127.0.0.1:8065",
이제 48행의 SqlSettings로 이동합니다. 아래 구성으로 PostgreSQL 데이터베이스를 사용하도록 DriverName 및 DataSource 구성을 변경합니다.
"DriverName": "postgres",
"DataSource": "postgres://matteruser::5432/mattermostdb?sslmode=disable&connect_timeout=10",
참고:
matteruser = postgresql 사용자.
matterpassword = 암호.
mattermostdb = 데이터베이스.
저장 및 종료.
이 작업이 완료되면 bin 디렉토리로 이동하여 가장 중요한 것을 실행하십시오.
cd bin/
./platform
이제 mattermost가 포트 8065를 사용하는 localhost IP에서 실행되고 있음을 알 수 있습니다.
종료하려면 Ctrl + c를 누르십시오.

3단계 - Mattermost Systemd 서비스 구성
systemd 시스템 디렉토리로 이동하여 새로운 중요한 서비스 파일을 만듭니다.
cd /etc/systemd/system/
vim mattermost.service
아래에 구성 붙여넣기:
[Unit]
Description=Mattermost is an open source, self-hosted Slack-alternative
After=syslog.target network.target
[Service]
Type=simple
User=matter
Group=matter
ExecStart=/home/matter/mattermost/bin/platform
PrivateTmp=yes
WorkingDirectory=/home/matter/mattermost
Restart=always
RestartSec=30
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target
저장 및 종료.
systemd 데몬을 다시 로드하고 위에서 생성한 Mattermost 서비스를 시작합니다.
systemctl daemon-reload
systemctl start mattermost
오류가 없는지 확인하십시오. Mattermost 서비스가 실행 중인지 확인합니다.
netstat -plntu
systemctl status mattermost

4단계 - Nginx 설치 및 구성
이 단계에서는 Nginx를 설치하고 Nginx를 Mattermost의 역방향 프록시로 구성합니다. 가장 중요한 포트 8056을 HTTP 및 HTTPS 포트에 매핑합니다.
이 apt 명령을 사용하여 Ubuntu 리포지토리에서 Nginx를 설치합니다.
sudo apt-get install nginx
이제 Nginx 구성 디렉터리로 이동하여 SSL 하위 디렉터리를 만듭니다.
cd /etc/nginx/
mkdir ssl/; cd ssl/
OpenSSL을 사용하여 자체 서명된 새 SSL 인증서 파일을 생성하고 개인 키의 권한을 변경합니다.
openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/mattermost.crt -keyout /etc/nginx/ssl/mattermost.key
chmod 400 mattermost.key
sites-available 디렉터리에 Mattermost용 새 가상 호스트 파일을 생성합니다.
cd /etc/nginx/sites-available/
vim mattermost
아래에 가상 호스트 구성을 붙여넣으십시오.
server {
listen 80;
server_name mattermost.mydomain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name mattermost.mydomain.com;
ssl on;
ssl_certificate /etc/nginx/ssl/mattermost.crt;
ssl_certificate_key /etc/nginx/ssl/mattermost.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
location / {
gzip off;
proxy_set_header X-Forwarded-Ssl on;
client_max_body_size 50M;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_pass http://127.0.0.1:8065;
}
}
도메인 이름을 자신의 도메인으로 변경하고 저장하고 종료합니다.
사이트 활성화 디렉토리에서 가장 중요한 파일에 대한 심볼릭 링크를 생성하여 가상 호스트를 활성화합니다.
ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/
Nginx 구성을 테스트하고 오류가 없는지 확인한 다음 nginx를 다시 시작하십시오.
nginx -t
systemctl restart nginx
5단계 - 테스트
웹 브라우저를 열고 가장 중요한 도메인 이름(제 경우에는 mattermost.mydomain.com)을 방문합니다.
자동으로 HTTPS 연결로 리디렉션됩니다.
먼저 새 계정을 만들고 계정 만들기를 클릭합니다.

그런 다음 새 팀을 만들거나 관리자/시스템 콘솔에 액세스하기 위한 링크를 볼 수 있습니다.

시스템 콘솔로 이동을 클릭하면 아래와 같은 시스템 콘솔 대시보드가 표시됩니다.

새 팀 만들기를 클릭하고 팀 이름을 입력한 후 다음을 클릭합니다. 그런 다음 팀 URL을 구성하고 마침 버튼을 클릭합니다.

마지막으로 팀 대시보드가 표시됩니다.

Mattermost 팀 채팅.

Ubuntu 16.04의 PostgreSQL 및 Nginx 웹 서버에서 Mattermost가 성공적으로 설치되었습니다.
참조
- https://docs.mattermost.com/install/prod-debian.html