ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ 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;ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ ‘your_password’ Π½Π° Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ ΠΏΠ°ΡΠΎΠ»Ρ
Π¨Π°Π³ 3: ΠΡΡ ΠΎΠ΄ ΠΈΠ· ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ PostgreSQL
6. ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ 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" }Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ your_password Π½Π° ΠΏΠ°ΡΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ mattermost
Π¨Π°Π³ 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