ΠΠ°ΠΊ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ 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
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" }ΠΠ΅ Π·Π°Π±ΡΠ°Π²ΡΠΉΡΠ΅ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ 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