مقدمه
اگر به دنبال راهاندازی یک پیامرسان سازمانی هستید که اطلاعات شرکت در اختیار خودتان باقی بماند و وابسته به سرویسهای ابری خارجی نباشید، Mattermost یکی از بهترین گزینههای متنباز محسوب میشود.
Mattermost امکاناتی مشابه Slack و Discord را در اختیار تیمها قرار میدهد، اما با این تفاوت که میتوانید آن را روی سرور اختصاصی خود نصب و مدیریت کنید. این پلتفرم امکانات متنوعی از جمله موارد زیر را ارائه میدهد:
- گفتگوی گروهی و خصوصی
- Thread برای مدیریت بهتر مکالمات
- اشتراکگذاری فایل
- جستجوی نامحدود در پیامها
- احراز هویت دومرحلهای (2FA)
- اعلانهای ایمیلی و موبایلی
- Webhook و Bot برای خودکارسازی فرآیندها
- اپلیکیشن وب، دسکتاپ و موبایل
در این آموزش، آخرین نسخه Mattermost Team Edition را روی Ubuntu 24.04 LTS نصب میکنیم، آن را پشت Nginx Reverse Proxy قرار میدهیم، با گواهی رایگان Let’s Encrypt ایمن میکنیم و در پایان نیز اعلانهای ایمیلی و تنظیمات اولیه سیستم را انجام خواهیم داد.
پیشنیازها
قبل از شروع، موارد زیر را آماده کنید:
- یک سرور Ubuntu 24.04 LTS
- حداقل 2 گیگابایت RAM
- حداقل 20 گیگابایت فضای دیسک (در صورت استفاده تیمی فضای بیشتری پیشنهاد میشود.)
- یک کاربر دارای دسترسی sudo
- نصب و راهاندازی MariaDB
- نصب Nginx
- نصب Postfix (برای ارسال ایمیل)
- یک دامنه که به IP سرور اشاره کند؛ برای مثال:
mattermost.example.com
اگر از پارمین کلود (Parmin Cloud) استفاده میکنید، کافی است رکورد A دامنه را به IP سرور متصل کنید.
مرحله اول — نصب Mattermost
ابتدا آخرین لیست بستهها را دریافت کنید.
sudo apt update
sudo apt upgrade -y
سپس ابزارهای موردنیاز را نصب کنید.
sudo apt install wget curl tar unzip nano -y
دانلود آخرین نسخه Mattermost
بهتر است همیشه آخرین نسخه Stable را از سایت رسمی دریافت کنید.
ابتدا یک پوشه برای دانلود ایجاد کنید.
mkdir ~/mattermost
cd ~/mattermost
سپس آخرین نسخه را دانلود کنید.
نمونه:
wget https://releases.mattermost.com/latest/mattermost-linux-amd64.tar.gz
فایل را استخراج کنید.
tar -xzf mattermost-linux-amd64.tar.gz
پوشه برنامه را به مسیر استاندارد سیستم منتقل کنید.
sudo mv mattermost /opt/
ایجاد مسیر ذخیرهسازی فایلها
تمام فایلهایی که کاربران ارسال میکنند داخل این پوشه ذخیره خواهند شد.
sudo mkdir -p /opt/mattermost/data
اگر کاربران زیادی خواهید داشت، بهتر است این مسیر روی دیسکی با فضای کافی قرار داشته باشد.
ایجاد کاربر اختصاصی Mattermost
برای افزایش امنیت، بهتر است سرویس با کاربر اختصاصی اجرا شود.
sudo useradd --system --user-group mattermost
مالکیت فایلها را تغییر دهید.
sudo chown -R mattermost:mattermost /opt/mattermost
اجازه نوشتن برای گروه را نیز فعال کنید.
sudo chmod -R g+w /opt/mattermost
در این مرحله فایلهای برنامه آماده هستند و در ادامه دیتابیس MariaDB را برای Mattermost پیکربندی خواهیم کرد.
مرحله دوم — پیکربندی MariaDB برای Mattermost
در این مرحله یک پایگاه داده اختصاصی برای Mattermost ایجاد میکنیم تا تمام اطلاعات کاربران، کانالها، پیامها و تنظیمات در آن ذخیره شوند.
ابتدا وارد محیط MariaDB شوید.
sudo mariadb
یک کاربر جدید برای Mattermost ایجاد کنید.
CREATE USER 'mmuser'@'localhost' IDENTIFIED BY 'StrongPassword';
نکته امنیتی: به جای
StrongPasswordیک رمز عبور قوی و منحصربهفرد انتخاب کنید.
سپس دیتابیس Mattermost را ایجاد کنید.
CREATE DATABASE mattermost CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
مجوزهای لازم را به کاربر اختصاص دهید.
GRANT ALL PRIVILEGES ON mattermost.* TO 'mmuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
اتصال Mattermost به MariaDB
اکنون فایل تنظیمات اصلی Mattermost را باز کنید.
sudo nano /opt/mattermost/config/config.json
عبارت زیر را پیدا کنید.
"DriverName": "",
"DataSource": ""
آن را به شکل زیر تغییر دهید.
"DriverName": "mysql",
"DataSource": "mmuser:StrongPassword@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"
رمز عبور را با همان رمزی که برای کاربر دیتابیس انتخاب کردهاید جایگزین کنید.
پس از پایان، فایل را ذخیره کنید.
ایجاد سرویس systemd
برای اینکه Mattermost پس از هر بار ریبوت سرور به صورت خودکار اجرا شود، یک سرویس systemd ایجاد میکنیم.
sudo nano /etc/systemd/system/mattermost.service
محتوای زیر را داخل فایل قرار دهید.
[Unit]
Description=Mattermost Server
After=network.target mariadb.service
Requires=mariadb.service
[Service]
Type=notify
User=mattermost
Group=mattermost
WorkingDirectory=/opt/mattermost
ExecStart=/opt/mattermost/bin/mattermost
Restart=always
RestartSec=10
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target
در Ubuntu 24.04 بهتر است فایل سرویس را داخل مسیر
/etc/systemd/systemقرار دهید؛ این روش نسبت به مسیر/lib/systemd/systemکه در نسخههای قدیمیتر استفاده میشد استانداردتر است.
بارگذاری سرویس
پس از ذخیره فایل، سرویسهای systemd را مجدداً بارگذاری کنید.
sudo systemctl daemon-reload
سرویس را فعال کنید.
sudo systemctl enable mattermost
در حال حاضر هنوز آن را اجرا نکنید، زیرا ابتدا باید Nginx را پیکربندی کنیم.
نظرات کاربران