Mattermost 설치 노트 [Apache & Subdirectry 운영]
8279 단어 우분투20.04Mattermost
Apache & Subdirectry 운영 설정
※ gitlab의 [Omnibus] 패키지에 [GitLabMattermost]로 동봉되어 있으므로 Subdirectry 운용이 필요하지 않으면 여기 설치가 편합니다. 하지만 이 동봉판 [GitLabMattermost]에서는 서브디렉토리 운용 방법을 모르고 이번 설치 방법으로 하고 있습니다.
htps : // 멈추고 r도 st. 코m/
↑ 여기 링크는 엔터프라이즈 버전의 링크입니다.
엔터프라이즈 버전에서도 상관없다고 설명은 있지만 오픈 소스 버전으로 명시된 Team Edition을 설치하고 있습니다.
※이 페이지에서의 링크처는 사용하지 않고, 우하의 Version archive로부터 링크처를 따릅니다.
· × Mattermost Enterprise Edition v5.34.2
htps : // / ぇ あせ s. 멈춰서 r도 st. 이 m/5.34.2/두고 r도 stー5.34.2ーぃないxーあmd64. r. gz
・ 〇Mattermost Team Edition v5.34.2('-team-'의 문자가 붙습니다.)
htps : // / ぇ あせ s. 멈춰서 r도 st. 이 m/5.34.2/두고 r도 st-아 m-5.34. r. gz
■↓ 기본적인 설치 순서는 기본적으로 여기에 실려 있는 커멘드를 그대로 사용했습니다.
■설치 설정 내용
설치 대상:/opt/mattermost
사용자 & 그룹: mattermost : mattermost
설정 파일 :/opt/mattermost/config/config.json
부팅 포트: 8065
■사전의 DB설정(설명대로 커맨드를 친다.)
sudo usermod -aG sudo postgres ##※私の環境では必要でした。postgresをsudoユーザーへ
sudo apt install postgresql postgresql-contrib
sudo --login --user postgres
sudo -u postgres psql
postgres=# CREATE DATABASE mattermost;
postgres=# CREATE USER mmuser WITH PASSWORD 'mmuserのパスワード';
postgres=# GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
postgres=# \q
exit
sudo systemctl reload postgresql
postgresql 설정 파일을 편집합니다. 다음을 trust로 변경합니다.
/etc/postgresql/12/main/pg_hba.conf
local all all trust
host all all ::1/128 trust
↓ 데이터베이스 설정 테스트 확인 명령
psql --dbname=mattermost --username=mmuser --password
psql --host=localhost --dbname=mattermost --username=mmuser --password
■ 프로그램의 다운로드, 전개, 배치(설명대로 커맨드를 친다.)
sudo apt update
sudo apt upgrade
cd /usr/local/src
sudo wget https://releases.mattermost.com/5.34.2/mattermost-team-5.34.2-linux-amd64.tar.gz
sudo 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의 설정 파일 ※필요한 부분을 수정합니다.
sudo vi /opt/mattermost/config/config.json
/opt/mattermost/config/config.json
##3行
"SiteURL": "http://mattermost.example.com/mattermost",
##149-150行
"DriverName": "postgres",
"DataSource": "postgres://mmuser:パスワード@localhost:5432/mattermost?sslmode=disable\u0026connect_timeout=10",
■ Mattermost 의 기동 테스트를 실시합니다. (다음 명령을 실행하고 CTRL + C로 중지합니다)
cd /opt/mattermost
sudo -u mattermost ./bin/mattermost
http://localhost:8065/mattermost
같은 주소로 초기 설정 화면이 표시되는지 확인합니다.■ 프로그램의 기동 설정 ① 서비스 자동 기동 설정
sudo touch /lib/systemd/system/mattermost.service
sudo vi /lib/systemd/system/mattermost.service
/lib/systemd/system/mattermost.service
[Unit]
Description=Mattermost
After=network.target
After=postgresql.service
BindsTo=postgresql.service
[Service]
Type=notify
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
User=mattermost
Group=mattermost
LimitNOFILE=49152
[Install]
WantedBy=postgresql.service
■ 프로그램 시작 설정 ② Apache 설정
default-ssl.conf에 추가했습니다.
/etc/apache2/sites-available/default-ssl.conf
<VirtualHost _default_:443>
--------
ProxyPreserveHost On ##←この記載がないとWebSocketのエラーが発生します。
######## mattermost ########################################
RewriteCond %{REQUEST_URI} /mattermost/api/v[0-9]+/(users/)?websocket [NC,OR]
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC,OR]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule .* ws://127.0.0.1:8065%{REQUEST_URI} [P,QSA,L]
<Location /mattermost>
Require all granted
ProxyPass http://127.0.0.1:8065/mattermost
ProxyPassReverse http://127.0.0.1:8065/mattermost
ProxyPassReverseCookieDomain 127.0.0.1 mattermost.example.com/mattermost
</Location>
--------
</VirtualHost>
■ 시작에 대한 주요 명령의 예
①mattermost.service
②apache2.service 두 기동이 필요
sudo systemctl daemon-reload
sudo systemctl status mattermost.service
sudo systemctl start mattermost.service
sudo systemctl enable mattermost.service
sudo a2ensite default-ssl
sudo apache2ctl configtest
sudo systemctl start apache2
sudo systemctl stop apache2
sudo systemctl reload apache2
■ 설정을 잘못했을 때의 제거 명령
sudo systemctl stop mattermost.service
sudo systemctl disable mattermost.service
sudo rm -rf /opt/mattermost
##mattermostデータベースを削除して再度作成
sudo -u postgres psql
postgres=# DROP DATABASE mattermost;
postgres=# CREATE DATABASE mattermost;
postgres=# GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
postgres=# \q
■ 트러블 발생 대응
시작 후 이러한 경고가 표시됩니다.
Mattermost에 연결할 수 없습니다. 연결을 확인합니다. 이 문제가 계속되면 시스템 관리자에게 WebSocket 포트를 확인하도록 요청하십시오. (Please check connection, Mattermost unreachable. If issue persists, ask administrator to check WebSocket port.)
원인 : 아파치 설정 문제였습니다.
① 다음 설정을 VirtualHost에 추가하면 수정되었습니다.
/etc/apache2/sites-available/default-ssl.conf
ProxyPreserveHost On
②이하, Apache에 모듈을 추가했습니다.
$ sudo a2enmod proxy
$ sudo a2enmod proxy_http
$ sudo a2enmod proxy_wstunnel
■ 참고로 한 페이지
htps : // 기주 b. 코 m / 멈춰서 r도 st / 두 cs / 이스에 s / 1295
htps : // 흠 m. 멈춰서 r도 st. rg / t / m-m r ゔ ぇ r-b b th th issue / 5391/15
https://notes.only-weekend.net/2018/11/28/mattermost%E3%82%92%E3%82%B5%E3%83%96%E3%83%87%E3%82%A3% E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%A7%E4%BD%BF%E3%81%86apache%E3%81%AE%E8% A8%AD%E5%AE%9A%E3%81%AB%E6%88%90%E5%8A%9F%E3%81%97%E3%81%9F/
Reference
이 문제에 관하여(Mattermost 설치 노트 [Apache & Subdirectry 운영]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/0to9/items/d1904779a7ac10d96f96텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)