نحوه قرار دادن Mattermost در CentOS 7

  • توسط زهرا عزتی
  • ۱۶ روز قبل
  • لینوکس
نحوه قرار دادن Mattermost در CentOS 7

Mattermost یک سیستم عامل پیام رسانی فوری با منبع باز و یک جایگزین Slack بوده که به صورت هاست است. در Golang و React نوشته شده و می تواند از MySQL یا PostgreSQL به عنوان پس زمینه دیتابیس استفاده کند. Mattermost تمام ارتباطات تیم شما را به یک مکان می رساند و ویژگی های مختلفی از جمله اشتراک فایل ، پیام های یک به یک و پیام های گروهی ، ایموجی های سفارشی ، تماس های ویدیویی و موارد دیگر را ارائه می دهد. در این مقاله ، ما چگونگی قرار دادن Mattermost را روی سرور CentOS 7 و پیکربندی Nginx به عنوان یک پروکسی معکوس SSL به شما نشان خواهیم داد. با ما در شتابان هاست همراه باشيد.

پیش نیازها

قبل از ادامه این مقاله اطمینان حاصل کنید که پیش نیازهای زیر را رعایت کرده اید:

  • شما به عنوان یک کاربر با امتیازات sudo وارد سیستم شده اید.
  • شما یک نام دامنه دارید که به آدرس IP سرور خود اشاره می کند.
  • شما Nginx را قبلا نصب کرده باشيد.
  • شما یک گواهی SSL برای دامنه خود نصب کرده اید. با رعایت این راهنما می توانید SSL Lets Encrypt  را نصب کنید.

ایجاد ديتابيس MySQL

ما از MariaDB 10.3 به عنوان ديتابيس بازگشت استفاده خواهیم کرد. Mattermost با MariaDB نسخه ۵٫۵ کار نخواهد کرد.

ورود به پوسته MySQL:

mysql -u root -p

دستورات زیر را برای ایجاد یک بانک اطلاعاتی جدید و کاربر برای نصب Mattermost اجرا کنید:

create database mattermost;GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD';

کاربر جدید ایجاد کنید

برای ایجاد یک کاربر و گروه جدید به نام مهمترین ، که نصب Mattermost را انجام می دهد ، دستور زیر را اجرا کنید:

sudo useradd -U -M -d /opt/mattermost mattermost

سرور Mattermost را نصب کنید

قبل از ادامه ، باید صفحه بارگیری Mattermost را بررسی کنید تا نسخه جدیدتری در دسترس باشد.

با استفاده از دستور curl زیر ، بایگانی را بارگیری کنید:

sudo curl -L https://releases.mattermost.com/5.4.0/mattermost-5.4.0-linux-amd64.tar.gz -o /tmp/mattermost.tar.gz

پس از اتمام بارگیری ، بایگانی را استخراج کرده و به فهرست دایرکتوری opt منتقل کنید:

sudo tar zxf /tmp/mattermost.tar.gz -C /opt

دایرکتوری ذخیره سازی برای پرونده ها ایجاد کنید:

sudo mkdir /opt/mattermost/data

مالکیت فهرست را به مهمترین کاربر تغییر دهید:

sudo chown -R mattermost: /opt/mattermost

پرونده config.json را با ویرایشگر متن مورد علاقه خود باز کنید:

sudo nano /opt/mattermost/config/config.json

درایور ديتابيس را روی mysql تنظیم کنید ، نام بانک اطلاعاتی و رمزعبور کاربر ديتابيس را که قبلاً در این آموزش ایجاد کردیم وارد کنید:

...
"SqlSettings": {
"DriverName": "mysql",
"DataSource": "mattermost:P4ssvv0rD@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",
"DataSourceReplicas": [],
...

به منظور آزمایش نصب خود ، اطمینان حاصل کنیم که قبل از ایجاد واحد systemd و تنظیم یک پروکسی معکوس با Nginx ، همه چیز کار می کند ، سرور Mattermost را شروع خواهیم کرد.

به پوشه / opt / مهمترین تغییر دهید و سرور را شروع کنید:

cd /opt/mattermostsudo -u mattermost bin/mattermost

خروجی باید نشان دهد که سرور Mattermost پورت ۸۰۶۵ را مي پذيرد:

{"level":"info","ts":1540921243.6797202,"caller":"app/plugin.go:100","msg":"Starting up plugins"}
{"level":"info","ts":1540921244.3483207,"caller":"app/server.go:88","msg":"Starting Server..."}
{"level":"info","ts":1540921244.3488805,"caller":"app/server.go:148","msg":"Server is listening on [::]:8065"}
{"level":"info","ts":1540921244.3620636,"caller":"app/web_hub.go:75","msg":"Starting 2 websocket hubs"}
{"level":"info","ts":1540921244.451155,"caller":"jobs/workers.go:63","msg":"Starting workers"}
{"level":"info","ts":1540921244.456804,"caller":"jobs/schedulers.go:68","msg":"Starting schedulers."}

 

اکنون می توانید سرور Mattermost را با CTRL + C متوقف کنید و مراحل بعدی را ادامه دهید.

ایجاد یک واحد Systemd

برای اجرای مثال مهمترین ما به عنوان یک سرویس ، یک فایل واحد مهمترین سرویس را در فهرست / etc / systemd / system / Directory با محتوای زیر ایجاد خواهیم کرد:

[Unit]
Description=Mattermost
After=network.target nss-lookup.target mariadb.service
[Service]
Type=notify
WorkingDirectory=/opt/mattermost
User=mattermost
SyslogIdentifier=mattermost
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target

به سیستم اطلاع دهید که ما یک فایل واحد جدید ایجاد کردیم و با اجرای سرویس Mattermost را شروع کردیم

sudo systemctl daemon-reloadsudo systemctl start mattermost

اکنون می توان وضعیت سرویس را با دستور زیر بررسی کرد:

sudo systemctl status mattermost
● mattermost.service - Mattermost
   Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2018-10-30 17:44:46 UTC; 3s ago
 Main PID: 25959 (mattermost)
   CGroup: /system.slice/mattermost.service
           └─۲۵۹۵۹ /opt/mattermost/bin/mattermost

سرانجام ، سرویس Mattermost را فعال کنید تا به طور خودکار در زمان boot شروع شود:

sudo systemctl enable mattermost

یک پروکسی معکوس با Nginx تنظیم کنید

اگر نحوه نصب Nginx در CentOS 7 و نحوه اطمینان از Nginx را با راهنماهای  Let’s Encrypt در CentOS 7 دنبال کردید ، باید Nginx را با گواهی SSL نصب کرده و پیکربندی کنید. اکنون فقط برای نصب Mattermost باید فقط یک سرور جدید ایجاد کنیم.

 

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;
upstream mattermost_backend {
server 127.0.0.1:8065;
}
server {
listen 80;
server_name linuxize-test.com www.linuxize-test.com;
include snippets/letsencrypt.conf;
return 301 https://linuxize-test.com$request_uri;
}
server {
listen 443 ssl http2;
server_name www.linuxize-test.com;
ssl_certificate /etc/letsencrypt/live/linuxize-test.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/linuxize-test.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/linuxize-test.com/chain.pem;
include snippets/ssl.conf;
return 301 https://linuxize-test.com$request_uri;
}
server {
listen 443 ssl http2;
server_name linuxize-test.com;
ssl_certificate /etc/letsencrypt/live/linuxize-test.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/linuxize-test.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/linuxize-test.com/chain.pem;
include snippets/ssl.conf;
access_log /var/log/nginx/linuxize-test.com-access.log;
error_log /var/log/nginx/linuxize-test.com-error.log;
location ~ /api/v[0-9]+/(users/)?websocket$ {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
client_max_body_size 50M;
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_buffers 256 16k;
proxy_buffer_size 16k;
proxy_read_timeout 600s;
proxy_pass http://mattermost_backend;
}
location / {
proxy_http_version 1.1;
client_max_body_size 50M;
proxy_set_header Connection "";
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_buffers 256 16k;
proxy_buffer_size 16k;
proxy_read_timeout 600s;
proxy_cache mattermost_cache;
proxy_cache_revalidate on;
proxy_cache_min_uses 2;
proxy_cache_use_stale timeout;
proxy_cache_lock on;
proxy_pass http://mattermost_backend;
}
}

سرویس Nginx را برای اعمال تغییرات بارگیری مجدد کنید:

sudo systemctl reload nginx

پیکربندی Mattermost

مرورگر خود را باز کنید ، دامنه خود را تایپ کنید و اولین حساب خود را ایجاد کنید:

نحوه قرار دادن Mattermost در CentOS 7

اولین کاربر ایجاد شده در سیستم دارای امتیازات سرگروه است.

نحوه قرار دادن Mattermost در CentOS 7

روی Create a new team کلیک کنید ، تیم اول خود را ایجاد کنید و URL تیم را تنظیم کنید:

نحوه قرار دادن Mattermost در CentOS 7

نحوه قرار دادن Mattermost در CentOS 7

بعد از ایجاد اولین حساب سرگروه و تیم اول ، شما به داشبورد Mattermost هدایت می شوید و به عنوان سرپرست وارد سیستم می شوید. سیستم کنسول را باز کنید ، با کلیک روی نام کاربری خود در بالای پانل ناوبری و در منوی جدیدی که باز می شود ، روی پیوند System Console کلیک کنید:

نحوه قرار دادن Mattermost در CentOS 7

URL سایت را با رفتن به تنظیمات عمومی تنظیم کنید→ Configuration

نحوه قرار دادن Mattermost در CentOS 7

با رفتن به اعلان ها ، اعلان های ایمیل را فعال کنید.→ Email

نحوه قرار دادن Mattermost در CentOS 7

و پارامترهای SMTP خود را وارد کنید. می توانید از هرگونه سرویس ایمیل محبوب معامله ای مانند SendinBlue ، SendGrid ، Amazon SES ، Mandrill ، Mailgun ، Mailjet و Postmark استفاده کنید یا می توانید سرور پست الکترونیکی خود را تنظیم کنید.

سرانجام ، برای اعمال تغییرات باید مجدداً سرویس Mattermost را مجدداً شروع کنیم:

sudo systemctl restart mattermost

شما Mattermost را با موفقیت روی سرور CentOS 7 خود نصب کرده و Nginx را به عنوان یک پروکسی معکوس تنظیم کرده اید. ما را در شتابان هاست دنبال كنيد.

 

 

 

 

قبلی «
بعدی »

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *