Π―ΠΊ Π²ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠΈ Mattermost Π½Π° Ubuntu
Mattermost – ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π»Ρ ΠΎΠ±ΠΌΡΠ½Ρ ΠΏΠΎΠ²ΡΠ΄ΠΎΠΌΠ»Π΅Π½Π½ΡΠΌΠΈ Π· Π²ΡΠ΄ΠΊΡΠΈΡΠΈΠΌ Π²ΠΈΡ ΡΠ΄Π½ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΡΠΈΠ·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΡ ΡΠΏΡΠ²ΠΏΡΠ°ΡΡ ΡΠ° ΠΊΠΎΠΌΡΠ½ΡΠΊΠ°ΡΡΡ. ΠΠΎΠ½Π° Ρ Π±Π΅Π·ΠΏΠ΅ΡΠ½ΠΎΡ ΡΠ° ΡΠ°ΠΌΠΎΡΡΡΠΉΠ½ΠΎΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΡ ΡΠ°ΠΊΠΈΠΌ ΡΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ, ΡΠΊ Slack. Π¦Π΅ΠΉ ΠΏΠΎΡΡΠ±Π½ΠΈΠΊ ΠΏΡΠΎΠ²Π΅Π΄Π΅ Π²Π°Ρ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΡΠ΅Ρ Π²ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Ρ Mattermost Π½Π° ΡΠ΅ΡΠ²Π΅ΡΡ Ubuntu
1. ΠΠ΅ΡΠ΅Π΄ΡΠΌΠΎΠ²ΠΈ
ΠΠ΅ΡΡ Π½ΡΠΆ ΠΏΠΎΡΠ°ΡΠΈ, ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ½Π°ΠΉΡΠ΅ΡΡ, ΡΠΎ Ρ Π²Π°Ρ Ρ Π½Π°ΡΡΡΠΏΠ½Π΅
- Π‘Π΅ΡΠ²Π΅Ρ ΠΏΡΠ΄ ΡΠΏΡΠ°Π²Π»ΡΠ½Π½ΡΠΌ Ubuntu 18.04 Π°Π±ΠΎ Π½ΠΎΠ²ΡΡΠΎΡ Π²Π΅ΡΡΡΡ.
- ΠΡΠΈΠ²ΡΠ»Π΅Ρ Sudo Π½Π° ΡΠ΅ΡΠ²Π΅ΡΡ.
- ΠΠΎΠΌΠ΅Π½Π½Π΅ ΡΠΌ’Ρ, ΡΠΎ Π²ΠΊΠ°Π·ΡΡ Π½Π° Π²Π°Ρ ΡΠ΅ΡΠ²Π΅Ρ (Π½Π΅ΠΎΠ±ΠΎΠ²’ΡΠ·ΠΊΠΎΠ²ΠΎ, Π°Π»Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡΡΡΡΡ Π΄Π»Ρ Π²ΠΈΡΠΎΠ±Π½ΠΈΡΡΠ²Π°).
2. ΠΠ½ΠΎΠ²Π»Π΅Π½Π½Ρ ΡΠΈΡΡΠ΅ΠΌΠΈ
ΠΠΎΡΠ½ΡΡΡ Π· ΠΎΠ½ΠΎΠ²Π»Π΅Π½Π½Ρ ΡΠ½Π΄Π΅ΠΊΡΡ ΠΏΠ°ΠΊΡΠ½ΠΊΡΠ² Π²Π°ΡΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠΈ
sudo apt update sudo apt upgrade -y3. ΠΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Ρ Π½Π΅ΠΎΠ±Ρ ΡΠ΄Π½ΠΈΡ Π·Π°Π»Π΅ΠΆΠ½ΠΎΡΡΠ΅ΠΉ
ΠΠ»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡ ΡΠΎΠ±ΠΎΡΠΈ Mattermost ΠΏΠΎΡΡΡΠ±Π½Ρ ΠΏΠ΅Π²Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½Ρ ΠΏΠ°ΠΊΡΠ½ΠΊΠΈ. ΠΡΡΠ°Π½ΠΎΠ²ΡΡΡ ΡΡ Π·Π° Π΄ΠΎΠΏΠΎΠΌΠΎΠ³ΠΎΡ Π½Π°ΡΡΡΠΏΠ½ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ:
sudo apt install -y postgresql postgresql-contrib
sudo apt install -y nginx
sudo apt install -y certbot python3-certbot-nginx4. ΠΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Ρ Mattermost
ΠΡΠΎΠΊ 1: ΠΠ°Π²Π°Π½ΡΠ°ΠΆΡΠ΅ Mattermost
ΠΠ΅ΡΠ΅ΠΉΠ΄ΡΡΡ Π½Π° ΡΡΠΎΡΡΠ½ΠΊΡ Π·Π°Π²Π°Π½ΡΠ°ΠΆΠ΅Π½Ρ Mattermost Ρ Π·Π°Π²Π°Π½ΡΠ°ΠΆΡΠ΅ ΠΎΡΡΠ°Π½Π½Ρ Π²Π΅ΡΡΡΡ Mattermost. ΠΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈ wget, ΡΠΎΠ± Π·Π°Π²Π°Π½ΡΠ°ΠΆΠΈΡΠΈ ΡΡ Π±Π΅Π·ΠΏΠΎΡΠ΅ΡΠ΅Π΄Π½ΡΠΎ Π½Π° Π²Π°Ρ ΡΠ΅ΡΠ²Π΅Ρ
wget https://releases.mattermost.com/7.5.0/mattermost-team-7.5.0-linux-amd64.tar.gz(ΠΡΠΈΠΌΡΡΠΊΠ°: ΠΠ°ΠΌΡΠ½ΡΡΡ 7.5.0 Π½Π° Π½Π°ΠΉΠ½ΠΎΠ²ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²Π΅ΡΡΡΡ)
ΠΡΠΎΠΊ 2: Π ΠΎΠ·ΠΏΠ°ΠΊΡΠΉΡΠ΅ Π·Π°Π²Π°Π½ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ°ΠΉΠ»
Π ΠΎΠ·ΠΏΠ°ΠΊΡΠΉΡΠ΅ Π·Π°Π²Π°Π½ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ°ΠΉΠ»
tar -xvzf mattermost-team-7.5.0-linux-amd64.tar.gzΠΡΠΎΠΊ 3: ΠΠ΅ΡΠ΅ΠΌΡΡΡΡΡΡ Mattermost Π΄ΠΎ ΠΏΠΎΡΡΡΠ±Π½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ
ΠΠ΅ΡΠ΅ΠΌΡΡΡΡΡΡ Π²ΠΈΡΡΠ³Π½ΡΡΡ ΡΠ΅ΠΊΡ Π΄ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ /opt
sudo mv mattermost /optΠΡΠΎΠΊ 4: Π‘ΡΠ²ΠΎΡΠ΅Π½Π½Ρ ΠΊΠΎΡΠΈΡΡΡΠ²Π°ΡΠ° Mattermost
Π‘ΡΠ²ΠΎΡΡΡΡ ΡΠΏΠ΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΡΠΈΡΡΡΠ²Π°ΡΠ° Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΡ Mattermost
sudo useradd -r -m mattermostΠΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Ρ ΠΏΡΠ°Π²Π° Π²Π»Π°ΡΠ½ΠΎΡΡΡ Π½Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Mattermost
sudo chown -R mattermost:mattermost /opt/mattermost5. ΠΠ°Π»Π°ΡΡΡΠ²Π°Π½Π½Ρ Π±Π°Π·ΠΈ Π΄Π°Π½ΠΈΡ PostgreSQL
ΠΡΠΎΠΊ 1: ΠΠ΅ΡΠ΅ΠΉΠ΄ΡΡΡ Π΄ΠΎ ΠΊΠΎΡΠΈΡΡΡΠ²Π°ΡΠ° PostgreSQL
sudo -i -u postgresΠΡΠΎΠΊ 2: Π‘ΡΠ²ΠΎΡΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½ΠΈΡ Ρ ΠΊΠΎΡΠΈΡΡΡΠ²Π°ΡΠ° Π΄Π»Ρ Mattermost
ΠΠ°ΠΏΡΡΡΡΡΡ Π½Π°ΡΡΡΠΏΠ½Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π² ΠΎΠ±ΠΎΠ»ΠΎΠ½ΡΡ PostgreSQL
CREATE DATABASE mattermost_db;
CREATE USER mattermost WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE mattermost_db TO mattermost;ΠΠ°ΠΌΡΠ½ΡΡΡ ‘Π²Π°Ρ_ΠΏΠ°ΡΠΎΠ»Ρ’ Π½Π° Π½Π°Π΄ΡΠΉΠ½ΠΈΠΉ ΠΏΠ°ΡΠΎΠ»Ρ
ΠΡΠΎΠΊ 3: ΠΠΈΠΉΠ΄ΡΡΡ Π· ΠΎΠ±ΠΎΠ»ΠΎΠ½ΠΊΠΈ PostgreSQL
q6. ΠΠ°Π»Π°ΡΡΡΠ²Π°Π½Π½Ρ Mattermost
ΠΡΠΎΠΊ 1: Π Π΅Π΄Π°Π³ΡΠ²Π°Π½Π½Ρ ΠΊΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΠΉΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Ρ
ΠΠ΅ΡΠ΅ΠΉΠ΄ΡΡΡ Π΄ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ ΠΊΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΡ Mattermost
cd /opt/mattermost/configΠΡΠ΄ΠΊΡΠΈΠΉΡΠ΅ ΡΠ°ΠΉΠ» config.json Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ
sudo nano config.jsonΠΠ½Π°ΠΉΠ΄ΡΡΡ ΡΠΎΠ·Π΄ΡΠ» SqlSettings ΡΠ° ΠΎΠ½ΠΎΠ²ΡΡΡ ΠΉΠΎΠ³ΠΎ Π΄Π°Π½ΠΈΠΌΠΈ Π²Π°ΡΠΎΡ Π±Π°Π·ΠΈ Π΄Π°Π½ΠΈΡ
"SqlSettings": { "DriverName": "postgres", "DataSource": "mattermost:your_password@localhost/mattermost_db?sslmode=disable" }ΠΠ΅ΡΠ΅ΠΊΠΎΠ½Π°ΠΉΡΠ΅ΡΡ, ΡΠΎ Π²ΠΈ Π·Π°ΠΌΡΠ½ΠΈΠ»ΠΈ Π²Π°Ρ_ΠΏΠ°ΡΠΎΠ»Ρ Π½Π° ΠΏΠ°ΡΠΎΠ»Ρ, ΡΠΊΠΈΠΉ Π²ΠΈ Π²ΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π΄Π»Ρ Π½Π°ΠΉΠ³ΠΎΠ»ΠΎΠ²Π½ΡΡΠΎΠ³ΠΎ ΠΊΠΎΡΠΈΡΡΡΠ²Π°ΡΠ°
ΠΡΠΎΠΊ 2: ΠΠ±Π΅ΡΠ΅ΠΆΠ΅Π½Π½Ρ ΡΠ° Π²ΠΈΡ ΡΠ΄
ΠΠ±Π΅ΡΠ΅ΠΆΡΡΡ Π·ΠΌΡΠ½ΠΈ Ρ Π·Π°ΠΊΡΠΈΠΉΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
7. ΠΠ°ΠΏΡΡΠΊ Mattermost
Π©ΠΎΠ± Π·Π°ΠΏΡΡΡΠΈΡΠΈ Mattermost, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΡΡ Π΄ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ Mattermost Ρ Π²ΠΈΠΊΠΎΠ½Π°ΠΉΡΠ΅ Π½Π°ΡΡΡΠΏΠ½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
sudo -u mattermost /opt/mattermost/bin/mattermost8. ΠΠ°Π»Π°ΡΡΡΠ²Π°Π½Π½Ρ Nginx
ΠΡΠΎΠΊ 1: Π‘ΡΠ²ΠΎΡΠ΅Π½Π½Ρ ΠΊΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΠΉΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Ρ Nginx
Π‘ΡΠ²ΠΎΡΡΡΡ Π½ΠΎΠ²ΠΈΠΉ ΠΊΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΠΉΠ½ΠΈΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Mattermost
sudo nano /etc/nginx/sites-available/mattermostΠΠΎΠ΄Π°ΠΉΡΠ΅ Π½Π°ΡΡΡΠΏΠ½Ρ ΠΊΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΡ
server {
listen 80;
server_name your_domain.com; # Replace with your domain name
location / {
proxy_pass http://localhost:8065;
proxy_set_header Host $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;
}
}ΠΡΠΎΠΊ 2: Π£Π²ΡΠΌΠΊΠ½ΡΡΡ ΠΊΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΡ
Π‘ΡΠ²ΠΎΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΡΠ½Π΅ ΠΏΠΎΡΠΈΠ»Π°Π½Π½Ρ Π΄Π»Ρ Π°ΠΊΡΠΈΠ²Π°ΡΡΡ ΡΠ°ΠΉΡΡ
sudo ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/ΠΡΠΎΠΊ 3: Π’Π΅ΡΡΡΠ²Π°Π½Π½Ρ ΠΊΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΡ Nginx
ΠΠ΅ΡΠ΅Π²ΡΡΡΠ΅ Π½Π°ΡΠ²Π½ΡΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ½ΠΈΡ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ Π² ΠΊΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΡ Nginx
sudo nginx -tΠΡΠΎΠΊ 4: ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΡΡΡ Nginx
ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΡΡΡ Nginx, ΡΠΎΠ± Π·Π°ΡΡΠΎΡΡΠ²Π°ΡΠΈ Π·ΠΌΡΠ½ΠΈ
sudo systemctl restart nginx