آموزش راه‌اندازی مترموست (Mattermost)

آموزش راه‌اندازی مترموست (Mattermost)

نصب مترموست یکی از ساده‌ترین روش‌ها برای راه‌اندازی یک فضای ارتباطی امن و مستقل برای تیم‌ها است. این ابزار روی بسیاری از سرورها اجرا می‌شود و امکان مدیریت کامل پیام‌ها، فایل‌ها و کاربران را فراهم می‌کند. ما در این راهنما از مجله وی پی اس مارکت همه مراحل لازم را با زبانی ساده توضیح می‌دهیم تا بتوانید بدون پیچیدگی Mattermost را روی سرور خود راه‌اندازی کنید. اگر قصد دارید یک ابزار ارتباطی قابل اعتماد داشته باشید، ادامه این مطلب از vpsmarket شما را با نحوه نصب مترموست به صورت گام به گام آشنا می‌کند.

Mattermost چیست؟

Mattermost نوعی پلتفرم متن‌باز برای پیام‌رسانی و همکاری سازمانی است که با تمرکز بر امنیت، مدیریت‌پذیری و کنترل کامل روی داده‌ها ساخته شده است. این ابزار تجربه‌ای شبیه اسلک یا دیسکورد فراهم می‌کند اما بر خلاف آن‌ها امکان استقرار روی سرور مجازی، سرورهای اختصاصی و محیط‌های داخلی هم وجود دارد.

کاربران می‌توانند پیام‌های گروهی، گفتگوهای یک به یک و پیام‌های رشته‌ای را بدون محدودیت ثبت و جستجو کنند و فایل‌ها را با خیال راحت بین اعضای تیم به اشتراک بگذارند. Mattermost روی هر نوع دستگاه مدرنی قابل دسترسی است و نسخه وب واکنشگرا و اپلیکیشن موبایلی اختصاصی دارد.

اگر هدف اجرای مترموست در داخل کشور باشد، استفاده از vps ایران به دلیل تاخیر کمتر و سرعت بهتر گزینه مناسبی است.

نصب مترموست

برای شروع باید پیش‌نیازهای لازم را روی سرور خود آماده کنید و سپس فایل‌های اصلی Mattermost را قرار دهید. این پیش‌نیازها پایه اصلی اجرای مترموست هستند و اگر از قبل آماده باشند، روند نصب بدون مشکل انجام می‌شود. در فهرست زیر این پیش‌نیازها آورده شده است:

  • یک سرور لینوکسی با Ubuntu 20.04 و حداقل ۲ گیگابایت رم
  • نصب بودن MariaDB برای ذخیره اطلاعات کاربران و پیام‌ها
  • نصب شدن Postfix در حالت ارسال‌گر برای ارسال اعلان‌های ایمیلی
  • وجود Nginx برای مدیریت دسترسی کاربران از طریق وب
  • یک دامنه فعال که به IP سرور اشاره کند.

در پروژه‌های سازمانی که نیاز به منابع ثابت و امنیت بالاتر دارند، نصب Mattermost روی سرور اختصاصی ایران انتخاب مطمئن‌تری است.

نکته مهم: برای درست کار کردن ارسال ایمیل، رکورد PTR سرور باید با نام دامنه شما هماهنگ باشد. با اجرای دستور hostname می‌توانید این مورد را بررسی کنید.

همچنین شایان ذکر است که تمام مراحل این راهنما از راه اندازی مترموست روی سرور مجازی لینوکس با توزیع Ubuntu 20.04 تست شده و بدون مشکل قابل اجرا است.

مرحله اول – ایجاد پوشه و دانلود فایل‌های Mattermost

در این مرحله پوشه‌ای برای ذخیره فایل‌های نصب ایجاد می‌کنیم و نسخه اصلی Mattermost را از سایت رسمی دانلود می‌کنیم. دستورهای زیر را اجرا کنید:

mkdir ~/mattermost

وارد پوشه شوید:

cd ~/mattermost

فایل آخرین نسخه Mattermost را دانلود کنید:

wget https://releases.mattermost.com/5.24.2/mattermost-5.24.2-linux-amd64.tar.gz

اکنون فایل را از حالت فشرده خارج کنید:

tar -xvzf mattermost*.gz

پوشه استخراج‌شده را به مسیر opt/ منتقل کنید:

sudo cp -r mattermost /opt

و حالا پوشه‌ای برای ذخیره داده کاربران ایجاد کنید:

sudo mkdir /opt/mattermost/data

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

sudo useradd --system --user-group mattermost

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

sudo chown -R mattermost:mattermost /opt/mattermost

اجازه نوشتن برای گروه نیز فعال شود:

sudo chmod -R g+w /opt/mattermost

تنظیم پایگاه داده

برای اتصال Mattermost به دیتابیس، ابتدا وارد محیط MariaDB شوید:

sudo mysql

یک کاربر جدید ایجاد کنید (رمز دلخواه خود را جایگزین کنید):

CREATE USER 'mmuser'@'%' IDENTIFIED BY 'your_mmuser_password';

سپس دیتابیس اصلی را بسازید:

CREATE DATABASE mattermost;

به کاربر mmuser سطح دسترسی کامل بدهید:

GRANT ALL PRIVILEGES ON mattermost.* TO 'mmuser'@'%';

تغییرات دسترسی را اعمال کنید:

FLUSH PRIVILEGES;

و از محیط خارج شوید:

exit

اکنون فایل تنظیمات Mattermost را باز کنید:

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

بخش مرتبط با اتصال دیتابیس را پیدا و به شکل زیر تنظیم کنید:

"DriverName": "mysql"
"DataSource": "mmuser:your_mmuser_password@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"

فایل را ذخیره کنید و ببندید.

در صورتی که به دنبال میزبانی خارج از کشور باشید، سرور مجازی آلمان فضای مناسبی برای اجرای Mattermost با پایداری بالا فراهم می‌کند.

ساخت سرویس اجرایی Mattermost

برای اینکه Mattermost همیشه در پس‌زمینه فعال باشد، باید یک سرویس systemd ایجاد کنید. فایل سرویس را با دستور زیر بسازید:

sudo nano /lib/systemd/system/mattermost.service
این متن را داخل فایل قرار دهید:
Description=Mattermost
After=network.target
After=mysql.service
Requires=mysql.service

[Service]
Type=notify
User=mattermost
Group=mattermost
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
LimitNOFILE=49152
[Install]
WantedBy=mysql.service

فایل را ذخیره کنید و سرویس‌ها را بازخوانی کنید:

sudo systemctl daemon-reload

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

sudo systemctl status mattermost

اگر مشکلی وجود نداشت، سرویس را فعال کنید:

sudo systemctl enable mattermost

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

مرحله دوم – تنظیم Nginx و نمایش Mattermost روی دامنه

در این بخش از مراحل نصب مترموست تنظیمات لازم برای قرار گرفتن Mattermost روی دامنه انجام می‌شود. برای این کار باید Nginx به عنوان یک Reverse Proxy فعالیت و درخواست‌های کاربران را به سرویس مترموست منتقل کند. قبل از انجام تنظیمات Nginx باید دامنه خود را در فایل اصلی تنظیمات Mattermost وارد کنید تا سرویس بتواند آدرس درست را شناسایی کند.

ابتدا فایل تنظیمات Mattermost را باز کنید:

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

در این فایل به دنبال خط زیر بگردید:

"SiteURL": ""

نام دامنه خود را داخل کوتیشن قرار دهید:

"SiteURL": "http://mattermost.your_domain"

پس از وارد کردن دامنه، فایل را ذخیره و خارج شوید.

در مرحله بعد باید یک فایل تنظیمات جدید برای Nginx بسازید. طبق ساختار Nginx، فایل‌های سایت‌ها در مسیر sites-available قرار می‌گیرند و زمانی فعال می‌شوند که به مسیر sites-enabled لینک شوند. فایل تنظیمات Mattermost را ایجاد کنید:

sudo nano /etc/nginx/sites-available/mattermost.conf

محتوای زیر را داخل آن قرار دهید:

upstream backend {
server localhost:8065;
keepalive 32;
}

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;
server {
listen 80;
server_name mattermost.your_domain;

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;
client_body_timeout 60;
send_timeout 300;
lingering_timeout 5;
proxy_connect_timeout 90;
proxy_send_timeout 300;
proxy_read_timeout 90s;
proxy_pass http://backend;
}

location / {
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_http_version 1.1;
proxy_pass http://backend;
}
}

به‌جای mattermost.your_domain دامنه واقعی خود را وارد کنید، سپس فایل را ذخیره و ببندید.

برای فعال شدن این سایت در Nginx باید یک لینک ایجاد کنید:

sudo ln -s /etc/nginx/sites-available/mattermost.conf /etc/nginx/sites-enabled/mattermost.conf

در ادامه باید تنظیمات Nginx را بررسی کنید تا مطمئن شوید خطایی وجود ندارد:

sudo nginx -t

در صورت صحیح بودن تنظیمات، Nginx را ریستارت کنید:

sudo systemctl restart nginx

اکنون سرویس Mattermost را نیز اجرا کنید:

sudo systemctl start mattermost

بعد از اجرا، مرورگر خود را باز و دامنه را وارد کنید. صفحه ثبت‌نام Mattermost باید نمایش داده شود. این یعنی سرویس شما به‌درستی روی دامنه قرار گرفته است و آماده استفاده است.

ثبت‌نام Mattermost

مرحله سوم – فعال‌سازی HTTPS و امن‌کردن دامنه

در این مرحله از نصب مترموست باید دامنه‌ای را که برای Mattermost استفاده می‌کنید با یک گواهی TLS امن کنید. این گواهی توسط Let’s Encrypt صادر می‌شود و Certbot آن را روی سرور نصب و در تنظیمات Nginx اعمال می‌کند. با انجام این مرحله، تمام ارتباط‌های کاربران با مترموست از طریق پروتکل HTTPS محافظت می‌شود.
برای شروع، افزونه Nginx مورد نیاز Certbot را نصب کنید:

sudo apt install python3-certbot-nginx

در مراحل پیش‌نیاز، فایروال ufw فعال شده بود و اجازه ترافیک HTTP داده شده بود. اکنون باید اجازه دسترسی HTTPS نیز داده شود:

sudo ufw allow https

خروجی دستور به شکل زیر خواهد بود:

Rule added
Rule added (v6)

برای اعمال این تغییرات، فایروال را مجدد بارگذاری کنید:

sudo ufw reload

خروجی این دستور به شکل زیر نمایش داده می‌شود:

Firewall reloaded

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

sudo certbot --nginx -d mattermost.your_domain

در این دستور، مقدار mattermost.your_domain را با دامنه واقعی خود جایگزین کنید. Certbot با این دستور گواهی Let’s Encrypt را دریافت می‌کند و تنظیمات لازم برای HTTPS را به‌صورت خودکار در Nginx اعمال می‌کند.
در اولین اجرا پس از نصب mattermost از شما یک ایمیل برای دریافت هشدارهای امنیتی درخواست می‌شود و سپس باید شرایط سرویس را تأیید کنید. بعد از صدور گواهی، Certbot از شما می‌پرسد که آیا می‌خواهید تمام درخواست‌های HTTP به HTTPS هدایت شوند:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.


1: No redirect
2: Redirect

گزینه دوم یعنی Redirect پیشنهاد می‌شود تا همه ارتباط‌ها به‌صورت امن انجام شوند. پس از تأیید، خروجی مشابه متن زیر نمایش داده می‌شود:

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/mattermost.your_domain/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/mattermost.your_domain/privkey.pem
Your cert will expire on 2020-09-28...

این پیام نشان می‌دهد که گواهی TLS با موفقیت صادر شده و Nginx نیز آن را فعال کرده است.

اکنون باید دامنه موجود در فایل تنظیمات Mattermost را هم به نسخه HTTPS تغییر دهید. فایل را باز کنید:

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

این خط را پیدا کنید:

"SiteURL": "http://mattermost.your_domain"

و آن را به شکل زیر تغییر دهید:

"SiteURL": "https://mattermost.your_domain"

فایل را ذخیره و Mattermost را دوباره راه‌اندازی کنید:

sudo systemctl restart mattermost

بعد از انجام این مرحله، مرورگر را باز کنید و دامنه خود را وارد کنید. باید یک آیکن قفل کنار آدرس سایت ببینید که نشان می‌دهد اتصال شما امن شده است و مترموست اکنون از طریق HTTPS قابل دسترسی است.

مرحله چهارم – تنظیم اولیه Mattermost

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

وقتی برای اولین بار وارد دامنه مترموست می‌شوید، باید یک حساب کاربری ایجاد کنید. این حساب، دسترسی مدیریتی دارد و می‌توانید با همین حساب تنظیمات اصلی سرویس را انجام دهید. اگر از قبل حسابی ساخته‌اید، می‌توانید وارد شوید. پس از ورود، صفحه‌ای نمایش داده می‌شود که نشان می‌دهد هیچ تیم فعالی برای پیوستن وجود ندارد.

برای ساخت تیم جدید گزینه Create a team را انتخاب کنید. صفحه‌ای باز می‌شود که از شما یک نام برای تیم می‌خواهد. نام دلخواه خود را وارد کنید و روی Next کلیک کنید.

Create a team

سپس از شما یک آدرس اختصاصی برای تیم در دامنه‌تان خواسته می‌شود. می‌توانید مقدار پیشنهادی را تغییر ندهید. در نهایت گزینه Finish را انتخاب کنید تا تیم ایجاد شود.

 آدرس اختصاصی

پس از رد کردن آموزش اولیه، وارد محیط اصلی Mattermost می‌شوید و صفحه پیام‌رسان برای شما نمایش داده می‌شود.

محیط اصلی Mattermost

در مرحله بعد باید وارد تنظیمات مدیریتی شوید. برای این کار، روی نام کاربری خود در گوشه بالا سمت چپ کلیک کنید و گزینه System Console را انتخاب کنید. این بخش فقط برای حساب‌های مدیر قابل مشاهده است.

System Console

در سمت چپ صفحه، منوی کامل تنظیمات وجود دارد. برای فعال‌سازی ایمیل‌ها، گزینه SMTP را که در بخش Environment قرار دارد انتخاب کنید. در این بخش باید اتصال مترموست به Postfix را تنظیم کنید. مقدار SMTP Server را برابر localhost و مقدار SMTP Server Port را برابر 25 قرار دهید.

پس از وارد کردن این مقادیر، روی Save کلیک کنید و سپس گزینه Test Connection را بزنید. اگر همه چیز درست باشد پیام موفقیت‌آمیز نمایش داده می‌شود و باید پیام آزمایشی MeterMost را در صندوق ایمیل خود دریافت کنید.

کلام آخر

در مطلب فوق به نصب مترموست به صورت گام به گام پرداختیم. مترموست یک پیام‌رسان سازمانی قدرتمند است که امکان راه‌اندازی آن روی سرور اختصاصی یا سرور مجازی را فراهم می‌کند. با طی مراحل نصب، اتصال به دیتابیس، تنظیم دامنه، فعال‌سازی HTTPS و ساخت تیم، یک محیط امن و قابل مدیریت برای ارتباطات کاری در اختیار دارید. Mattermost روی تمام دستگاه‌ها قابل استفاده است و با قابلیت‌هایی مانند جستجوی نامحدود، اشتراک‌گذاری فایل، اعلان‌های ایمیلی و کنترل کامل روی داده‌ها، یک گزینه مناسب برای تیم‌هایی است که به امنیت و استقلال اهمیت می‌دهند.

سوالات متداول

مترموست (Mattermost) چیست؟

مترموست یک پلتفرم متن‌باز برای پیام‌رسانی و همکاری تیمی است که روی سرور شخصی یا سازمانی نصب می‌شود. این ابزار کنترل کامل روی داده‌ها، امکان ساخت تیم‌ها و کانال‌های مختلف و دسترسی از طریق وب و موبایل را فراهم می‌کند.

آیا اجرای Mattermost نیازمند دیتابیس خاصی است؟

بله، برای اجرای مترموست باید یک پایگاه داده فعال داشته باشید. در این آموزش mattermost از MariaDB استفاده شده است که این ابزار به شکل کامل با آن سازگار است.

آیا نصب Mattermost رایگان است؟

بله، نسخه متن‌باز Mattermost کاملاً رایگان است و می‌توانید آن را روی سرور خود نصب و استفاده کنید. نسخه‌های تجاری نیز وجود دارند که امکانات بیشتری ارائه می‌دهند؛ اما نسخه رایگان برای بسیاری از تیم‌ها کافی است.

 

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

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

هجده − 15 =