در این مطلب قصد داریم به بررسی نصب مترموست و چگونگی راهاندازی Mattermost روی سرور اختصاصی ایران و خارج بپردازیم. نصب مترموست، بهترین راه برای ایجاد یک چت سازمانی امن و با امکانات متعدد است که میتوان با استفاده از یک سرور مجازی لینوکس آن را پیاده سازی کرد. در ادامه به مراحل نصب Mattermost روی سرور مجازی ایران لینوکس با توزیع اوبونتو میپردازیم.
Mattermost چیست و چرا آن را نصب کنیم؟
Mattermost یک نرمافزار چت سازمانی متنباز و خودمیزبان (Self-Hosted) است که قابلیتهای پیشرفتهای مثل آموزش mattermost، اشتراکگذاری فایل، تماس صوتی/تصویری، وبهوک و ادغام با ابزارهای توسعه مثل جیرا و گیت هاب را ارائه میدهد. این پلتفرم یک جایگزین عالی برای اسلک است و کنترل دادهها را به سازمان میسپارد. بنابراین اولین مرحله، انتخاب سرور مناسب برای نصب Mattermost است.
آموزش نصب Mattermost
در ادامه به بررسی مراحل نصب مترموست روی سرور اوبونتو و راه اندازی یک سرور مترموست برای چتهای درون سازمانی میپردازیم:
بررسی پیشنیازها
برای نصب mattermost به یک سرور مجازی لینوکس با حداقل ۲ گیگ رم، PostgreSQL، و دسترسی sudo نیاز دارید.
نصب PostgreSQL Server
بستههای سیستم را بهروز کنید:
sudo apt update
PostgreSQL و ابزارهای تکمیلی آن را نصب کنید:
sudo apt -y install postgresql-12 postgresql-contrib
تنظیم کنید که سرویس PostgreSQL در راهاندازی سیستم بهصورت خودکار اجرا شود:
sudo systemctl enable postgresql
سپس با استفاده از دستور زیر سرویس را اجرا کنید:
sudo systemctl start postgresql
سپس دیتابیس و کاربر Mattermost ایجاد میشود.
ایجاد دیتابیس Mattermost
ابتدا امنیت PostgreSQL را با تغییر رمز عبور پیشفرض postgres افزایش دهید:
sudo passwd postgres
سپس به کاربر postgres سوئیچ کنید:
su - postgres
یک کاربر جدید به نام mattermostuser ایجاد کنید:
createuser mattermostuser
وارد محیط PostgreSQL شوید:
psql
برای کاربر mattermostuser یک رمز عبور قوی تنظیم کنید:
ALTER USER mattermostuser WITH ENCRYPTED PASSWORD 'SecurePassword';
یک دیتابیس جدید به نام mattermost بسازید و مالک آن را mattermostuser قرار دهید:
CREATE DATABASE mattermost OWNER mattermostuser;
تمامی مجوزها روی دیتابیس mattermost را به کاربر mattermostuser بدهید:
GRANT ALL PRIVILEGES ON DATABASE mattermost TO mattermostuser;
از محیط PostgreSQL خارج شوید:
\q
در نهایت به حساب کاربر غیرریشه خود بازگردید:
exit
نصب Mattermost
یک کاربر و گروه سیستمی بهنام mattermost ایجاد کنید:
sudo useradd --system --user-group mattermost
آخرین نسخه Mattermost را دانلود کنید (به صفحه رسمی انتشار برای نسخه جدید مراجعه کنید):
wget https://releases.mattermost.com/6.4.0/mattermost-6.4.0-linux-amd64.tar.gz
فایل فشرده را استخراج کنید:
sudo tar xvf mattermost-6.4.0-linux-amd64.tar.gz
پوشه استخراجشده را به /opt
منتقل کنید:
sudo mv mattermost /opt
فایل فشرده دانلودشده را حذف کنید:
sudo rm mattermost-6.4.0-linux-amd64.tar.gz
دایرکتوری ذخیرهسازی دادهها را بسازید:
sudo mkdir -p /opt/mattermost/data
مالکیت و مجوزها را تنظیم کنید:
sudo chown -R mattermost:mattermost /opt/mattermost sudo chmod -R g+w /opt/mattermost
پیکربندی سرور Mattermost
فایل پیکربندی را برای تنظیمات دیتابیس ویرایش کنید:
sudo nano /opt/mattermost/config/config.json
در قسمت SqlSettings
، تنظیمات زیر را جایگزین کنید:
"DriverName": "postgres", "DataSource": "postgres://mattermostuser:SecurePassword@localhost:5432/mattermost?sslmode=disable&connect_timeout=10",
یک واحد سرویس systemd برای Mattermost بسازید:
sudo nano /etc/systemd/system/mattermost.service
محتوای زیر را در فایل قرار دهید، ذخیره و خارج شوید:
[Unit] Description=Mattermost Server After=network.target After=postgresql.service Requires=postgresql.service [Service] Type=notify ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost User=mattermost Group=mattermost LimitNOFILE=49152 [Install] WantedBy=multi-user.target
daemon systemd را دوباره بارگذاری کنید:
sudo systemctl daemon-reload
سرویس Mattermost را اجرا کنید:
sudo systemctl start mattermost
تنظیم کنید تا سرویس در زمان راهاندازی سیستم اجرا شود:
sudo systemctl enable mattermost
وضعیت سرویس را بررسی کنید:
systemctl status mattermost
پورتهای مورد نیاز را با UFW باز کنید:
sudo ufw allow 8065/tcp sudo ufw allow 80/tcp
ایجاد Reverse Proxy
رابط وب Mattermost را با مراجعه به http://Server_IP:8065 تست کنید، برای مثال:
http://192.0.2.11:8065
Nginx را نصب کنید:
sudo apt install -y nginx
پیکربندی پیشفرض Nginx را غیرفعال کنید:
sudo unlink /etc/nginx/sites-enabled/default
یک فایل پیکربندی جدید به نام mattermost.conf
ایجاد کنید:
sudo nano /etc/nginx/sites-available/mattermost.conf
محتویات زیر را داخل فایل قرار دهید، سپس ذخیره و خارج شوید:
server { listen 80; server_name example.com; location / { proxy_pass http://localhost:8065; } }
پیکربندی را فعال کنید:
sudo ln -s /etc/nginx/sites-available/mattermost.conf /etc/nginx/sites-enabled/mattermost.conf
سرویس Nginx را ریاستارت کنید:
sudo service nginx restart
حالا میتوانید بدون واردکردن پورت، به وبسایت مراجعه کنید.
به این منظور مرورگر خود را باز کنید و آدرس را با فرمت http://Server_IP وارد کنید:
http://<IP یا domain>
جمع بندی
در این مقاله بهصورت جامع مراحل نصب و راهاندازی Mattermost برای ایجاد یک سیستم چت سازمانی امن و حرفهای بررسی شد. با استفاده از Mattermost، میتوانید یک محیط ارتباطی داخلی مشابه Slack، اما کاملاً خودمیزبان و قابل کنترل راهاندازی کنید.