نصب و راه اندازی چت اختصاصی برای سازمان ها با استفاده از mattermost

نصب و راه اندازی چت اختصاصی برای سازمان ها با استفاده از 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
  1. در ابتدا “DriverName”  را به postgres تغییر دهید
  2. و در مقابل “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 به آدرس زیر می‌توانید مشاهده کنید.

https://docs.mattermost.com/manage/mmctl-command-line-tool.html

به طور مثال برای ساخت کاربر جدید ی‌توانید دستور زیر را اجرا کنید.

$ mmctl user create --email user@example.com --username userexample --password Password1

امکانات همچنین برای دانلود کلاینت‌  رای سیستم عامل‌های مختلف  می‌توانید از لینک زیر آنها را  دانلود و نصب کنید.

https://mattermost.com/apps

آموزش این مقاله به صورت عملی و ویدیویی به آدرس لینک زیر در یوتیوب  موجود می‌باشد.

دیدگاه‌ها ۰
ارسال دیدگاه جدید