نصب و راه اندازی چت اختصاصی برای سازمان ها با استفاده از mattermost
یکی از مشکلاتی که سازمانها دارند این است که چت خصوصی برای خود داشته باشند هرچند که بسیاری از سازمانها در ایران از چتهای رایگان مانند تلگرام و اسکایپ استفاده میکنند اما در خارج از ایران ین اتفاق کمتر دیده میشود و علت آن این است که ما اطلاعات داخلی شرکت از جمله فایلها پسوردها را این چتهای رایگان قرار میدهیم و نمیدانیم که پشت پرده چتهای رایگان چیزی اتفاق میافتد و آیا اطلاعات شما به جای دیگر درز پیدا میکند یا خیر. یکی از راه های اصولی
در این مقاله قصد دارم چند چت رایگان معرفی بکنم که شما به راحتی میتوانید آنها را نصب بکنید و در سازمان خود راه اندازی کنید.
از جمله چتهای رایگان میتوان از Rocket Chat, Mattermost, Elemen-matrix نام برد.
Element Chat: اول از همه باید بدانیم که ماتریکس یک پروتکل ارتباطی است که element یک چت سرور است که با استفاده از پروتکل ماتریکس ه ما یک چت اختصاصی میدهد ناگفته نماند که علت محبوبیت المنت این است که رای تمام سیستم عاملها چت کلاینت ماتریکس دارد.
لیست کلاینتهایی که matrix ا ساپورت میکنند:
https://matrix.org/ecosystem/clients
Mattermost: این چت از websocket و https برای ارتباط استفاده میکند. و مانند element نسخه سرور کلاینت برای سیستم عاملهای مختلف از جمله سترسی از طریق وب را پشتیبانی میکند.
Rocketchat: این چت هم مانند element و element به صورت سرور و کلاینت ارائه میگردد و از پروتکل ماتریکس برای ارتباط استفاده میکند. لازم به ذکر است که این چت قبلاً به صورت کاملاً ایگان و متن باز ارائه میشد اما چند سالی است که اکثر امکانات آن به صورت ابری ارائه میگردد و شامل هزینه میشود. این را بدانید که ماتریکس یک پروتکل است که element روی این پروتکل یک چت سرور به اسم matrix-synapse توسعه داده است.
برای نصب mattermost و element ما به 3 عنصر نیاز داریم:
1) چت سرور
2) دیتابیس سرور
3) وب سرور
که در صورت نیاز میتوانید وب سرور را روی یک دامنه ست کنید و گواهی SSL آن را فعال کنید.
نصب mattermost:
این چت سرور را به روشهای مختلف میتوان نصب کرد:
داکر, کوبرنتیز, از طریق سورس کد و یا حتی از طریق پکیج که در این مقاله ما ما از طریقه پکیج منیجر ر روی لینوکس اون تو آن را نصب میکنیم.
پس از نصب اون نوبت ست کردن نام ها، تاریخ و به روز رسانی آن است. به ترتیب عناصر زیر را نصب و تنظیم میکنیم:
نصب دیتابیس سرور:
رای انتخاب دیتابیس سرور شما میتوانید هم از mysql و هم از postgresql استفاده کنید اما خود mattermost دیتابیس سرور postgresql را پیشنهاد میکند.
ابتدا ن را با استفاده از دستور زیر نصب میکنیم:
sudo apt install postgresql postgresql-contrib
سپس با استفاده از دستور زیر به آن ورود میکنیم
sudo --login --user postgres
با دستور زیر وارد interactive mode یشویم
psql
دستورات زیر را برای ساخت دیتابیس و کاربر و دسترسی به دیتابیسی که ایجاد کردهایم اجرا میکنیم و پس از آن از محیط دیتابیس خارج میشویم. توجه داشته باشید که من در این مقاله از پسوردهای ضعیف استفاده میکنم اما شما در محیط واقعی از پسوردهای قوی استفاده کنید.
# CREATE DATABASE mattermost;
# CREATE USER mattermost WITH PASSWORD 'mattermost';
# GRANT ALL PRIVILEGES ON DATABASE mattermost to mattermost;
# \q
$ exit
حال وقت آن رسیده است که یک سری تنظیمات را در دیتابیس هم انجام دهیم. توجه داشته باشید که در زمان نصب این پکیج از postgres ورژن ۱۴ استفاده شده است. در صورتی که شما از ورژن دیگری استفاده میکنید مسیر شما متفاوت است و اگر توجه کنید در مسیر زیر یک دایرکتوری به اسم ۱۴ وجود دارد. در صورتی که شما از ورژن دیگری استفاده میکنید باید این عدد را به شماره ورژن خود تغییر دهید.
ابتدا فایل زیر را با استفاده از ویرایشگر متنی باز میکنیم:
vim /etc/postgresql/14/main/postgresql.conf
سپس عبارت #listen_addresses = ‘localhost’ فایل پیدا کنید و آن را با listen_addresses = ‘*’
جایگزین کنید، فایل را ذخیره و از آن خارج شوید. توجه داشته باشید که در صورتی که این عبارت به صورت کامنت هست سمبل # را از پشت آن بردارید. بعد از آن فایل زیر را با استفاده از ویرایشگر متنی دلخواه باز بکنید و دوباره توجه داشته باشید که در مسیر زیر از ورژن نصبی خود استفاده بکنید.
vim /etc/postgresql/14/main/pg_hba.conf
در این فایل عبارت
local all all peer
را پیدا کنید و آن را با
local all all trust
جایگزین کنید.
همچنین در آخر همین فایل، عبارت زیر را اضافه کنید. توجه داشته باشید عبارت SERVER_IP را با آی پی سرور خود جایگزین کنید.
host all all {SERVER-IP}/32 md5
سرور دیتابیس سرور را ریستارت کنید.
sudo systemctl restart postgresql
در پایان با استفاده از دستور زیر از فعال بودن دیتابیس سرور مطمئن شوید.
sudo systemctl status postgresql
نصب سرور mattermost:
در ابتدا با استفاده از دستورات زیر مخازن mattermost ا به سرور خود اضافه میکنیم و سرور را به روز میکنیم
sudo rm /usr/share/keyrings/mattermost-archive-keyring.gpg $
$ curl -sL -o- https://deb.packages.mattermost.com/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/mattermost-archive-keyring.gpg > /dev/null
$ curl -o- https://deb.packages.mattermost.com/repo-setup.sh | sudo bash -s mattermost
$ sudo apt update
برای نصب mattermost server دستور دستور زیر را در ترمینال اجرا کنید
$ sudo apt install mattermost -y
پس از اجرای این دستور مترموست در مسیر /opt/mattermost نصب شده است.
حالا با استفاده از ویرایشگر متنی دلخواه فایل تنظیمات متروس را باز میکنیم. و پارامترهای دیتابیس را غییر میدهیم.
$ sudo vim /opt/mattermost/config/config.json
- در ابتدا “DriverName” را به postgres تغییر دهید
- و در مقابل “DataSource” مشخصات دیتابیس خود را به صورت زیر وارد کنید.
توجه داشته باشید که پارامترهای DATABASE_USER:DATABASE_PASSWORD و DATABASE_NAME را مشخصات دیتابیس خودتان جایگزین کنید.
در اینجا لازم است تغییراتی در فایل systemd ایجاد کنیم. برای این کار فایل زیر را با استفاده از ویرایشگر متنی دلخواه باز کنید.
$ sudo vim /lib/systemd/system/mattermost.service
محتویات داخل آن را پاک کنید و متن زیر را در آن وارد کنید ذخیره کنید و خارج شوید
[Unit]
Description=Mattermost
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
Environment=”MM_INSTALL_TYPE=deb_package”
[Install]
WantedBy=multi-user.target
WantedBy=postgresql.service
~
از آن با دستورات زیر اول تغییرات را اعمال میکنیم و سپس سرور را استارت و Enable میکنیم.
$ sudo systemctl daemon-reload
$ sudo systemctl restart mattermost.service
$ sudo systemctl enable mattermost.service
در پایان دستور زیر را اجرا کنید تا از فعال متر موست مطمئن شویم.
$ sudo status mattermost.service
پایان mattermost با موفقیت نصب شد و میتوانید آدرس سرور با پورت را در مرورگر دلخواه خود وارد کنید و یک اکانت ادمین بسازید.
توجه داشته باشید در صورتی که mattermost را روی دامنه ست کردهاید میتوانید به صورت اختیاری از یک reverse proxy مثل nginx و یا caddy استفاده کنید و با استفاده از letsencypt گواهی SSL آن را فعال کنید.
ساخت کاربر جدید:
برای ساخت کاربر جدید میتوانید از محیط گرافیکی استفاده کنید و فقط میتوانید یک دعوتنامه به آدرس ایمیل آنها ارسال کنید.
برای مدیریت mattermost ابزار خط فرمانی به اسم mmctl وجود دارد که برای استفاده از آن ابتدا باید از طریق دستور زیر به صورت ادمین وارد سرور mattermost شویم.
$ mmctl auth login http://SERVER_IP:8065 --name default_connection --username adminuser
وجود توجه داشته باشید که عبارت SERVER_IP را با آی پی و نام دامنه سرور خود جایگزین کنید. دقت کنید در صورتی که از SSL ستفاده میکنید http را با https جایگزین کنید.
پس از اینکه دستور بالا را وارد کردید پسورد کاربر ادمین خود را وارد کنید و در صورت ورود موفقیت آمیز پیغام زیر را دریافت خواهید کرد.
این ابزار خط فرمان امکانات زیادی دارد که در سایت mattermost به آدرس زیر میتوانید مشاهده کنید.
به طور مثال برای ساخت کاربر جدید یتوانید دستور زیر را اجرا کنید.
$ mmctl user create --email user@example.com --username userexample --password Password1
امکانات همچنین برای دانلود کلاینت رای سیستم عاملهای مختلف میتوانید از لینک زیر آنها را دانلود و نصب کنید.
آموزش این مقاله به صورت عملی و ویدیویی به آدرس لینک زیر در یوتیوب موجود میباشد.