دانشنامهسایرسیستم عامللینوکس

آموزش، نصب و پیکربندی نرم افزار Rocket Chat بر روی سیستم عامل اوبونتو

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

به غیر از برقراری ارتباط با همکاران، پلتفرم های چت دیگری نیز وجود دارد که امکان برقراری ارتباط با مشتریان را فراهم می کند. می‌توانید از پلتفرم‌های چت برای اشتراک‌گذاری فایل‌ها، کنفرانس ویدیویی، اشتراک‌گذاری صفحه و موارد دیگر استفاده کنید. برخی از این پلتفرم‌ها در سیستم‌عامل‌های مختلف موجود هستند که می‌توانید از آن‌ها در تلفن و وب استفاده کنید. این کار همکاری را بهبود می بخشد، به گونه ای که اگر دسترسی به پلتفرم در رایانه خود در محل کار ندارید، می توانید در عوض از تلفن استفاده کنید، بنابراین از خانه کار می کنید. تعداد زیادی پلتفرم چت برای استفاده وجود دارد از جمله؛ Slack، Rocket.Chat، Flock، Zoho Desk، Discord، Microsoft Teams، Spike و بسیاری موارد دیگر.

راکت چت (Rocket.Chat) چیست؟

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

راکت چت یک پلتفرم چت مبتنی بر وب است که برای تیم ها و مشاغل طراحی شده است. این شامل ویژگی هایی مانند چت زنده، کانال ها، گفتگوهای خصوصی، اعلان ها، ادغام های شخص ثالث و موارد دیگر است. Rocket.Chat می تواند به صورت محلی یا در ابر میزبانی شود و برای پلتفرم های دسکتاپ، تلفن همراه و وب در دسترس است.

Rocket.Chat توسط بیش از ۱۰ میلیون کاربر در سراسر جهان استفاده می شود و توسط مشاغلی مانند IBM، BMW و NASA استفاده می شود. این یک پلتفرم قدرتمند و انعطاف پذیر است که می تواند برای نیازهای مختلف تیم ها و مشاغل سفارشی شود.

در اینجا برخی از ویژگی های کلیدی Rocket.Chat آورده شده است:

  • چت زنده: Rocket.Chat به شما امکان می دهد در زمان واقعی با همکاران خود چت کنید.
  • کانال ها: Rocket.Chat به شما امکان می دهد کانال هایی ایجاد کنید که برای موضوعات خاص طراحی شده اند.
  • اتصال به سایر رسانه های اجتماعی: با کانال های رسانه های اجتماعی محبوب از جمله واتس اپ، توییتر، فیس بوک، اینستاگرام و چت زنده یکپارچه شوید.
  • گفتگوهای خصوصی: Rocket.Chat به شما امکان می دهد گفتگوهای خصوصی با همکاران خود داشته باشید.
  • اعلان ها: Rocket.Chat به شما امکان می دهد اعلان هایی را برای رویدادهای خاص دریافت کنید.
  • میزبانی محلی و ابر: Rocket.Chat را می توان به صورت محلی یا در ابر میزبانی کرد.
  • پلتفرم های دسکتاپ، تلفن همراه و وب: Rocket.Chat برای پلتفرم های دسکتاپ، تلفن همراه و وب در دسترس است.
  • تاریخچه مکالمات: ویژگی تاریخچه جستجو برای اینکه هرگز دسترسی به اطلاعات مهم را از دست ندهید.
  • خدمات مشتری Omnichannel برای درگیر شدن در تعاملات متنی با مشتریان.

اگر به دنبال یک پلتفرم چت قدرتمند و انعطاف پذیر هستید که برای نیازهای مختلف تیم ها و مشاغل سفارشی شود، Rocket.Chat یک گزینه عالی است.

در این راهنما، ما قصد داریم نحوه نصب Rocket.Chat در اوبونتو ۲۲.۰۴ را بررسی نماییم پس در ادامه با اکتوبیت همراه باشید:

پیش نیازهای نصب RocketChat در اوبونتو ۲۲.۰۴

  1. اوبونتوی ۲۰.۰۴ یا ۲۲.۰۴ (۶۴-bit)
  2. دسترسی به اینترنت، CLI و کاربر root

مرحله ۱: نصب پیش نیازهای مورد نیاز

نرم افزار راکت چت از پایگاه داده MongoDB که از انواع NOSQL می‌باشد استفاده می‌کند. برای آشنایی بیشتر با این پایگاه داده، مقاله “آموزش MongoDB” را مطالعه نمایید. در ادامه به مراحل نصب و پیکربندی mongodb خواهیم پرداخت:

#apt-get -y update

#apt install gnupg2 gnupg git unzip build-essential curl software-properties-common graphicsmagick gcc g++ make net-tools -y

#wget -qO – https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add –

#echo “deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list

#apt update && sudo apt install -y curl && curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash –

#apt-get install -y mongodb-org nodejs

در صورتی که هنگام نصب بسته mongodb-org با خطای زیر مواجه شدید:

Output
The following packages have unmet dependencies:
mongodb-org-mongos : Depends: libssl1.1 (>= 1.1.1) but it is not installable
mongodb-org-server : Depends: libssl1.1 (>= 1.1.1) but it is not installable
mongodb-org-shell : Depends: libssl1.1 (>= 1.1.1) but it is not installable
E: Unable to correct problems, you have held broken packages.

با استفاده از دستورات زیر این مشکل را برطرف کنید:

#echo “deb http://security.ubuntu.com/ubuntu focal-security main” | sudo tee /etc/apt/sources.list.d/focal-security.list

#apt-get update
#apt-get install libssl1.1

پس از این، دوباره دستور نصب MongoDB را اجرا کنید:

#apt install mongodb-org -y

#echo “mongodb-org-tools hold” | sudo dpkg –set-selections
#echo “mongodb-org-mongos hold” | sudo dpkg –set-selections
#echo “mongodb-org-shell hold” | sudo dpkg –set-selections
#echo “mongodb-org-server hold” | sudo dpkg –set-selections
#echo “mongodb-org-database hold” | sudo dpkg –set-selections
#echo “mongodb-org hold” | sudo dpkg –set-selections

#systemctl enable –now mongod
#systemctl status mongod

#npm install -g inherits n && sudo n 14.18.3 && hash -r

مرحله ۲: نصب Rocket Chat

ابتدا آخرین نسخه RocketChat را دانلود کنید:

#curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz

#tar -xzf /tmp/rocket.chat.tgz -C /tmp

#cd /tmp/bundle/programs/server && npm install
#mv /tmp/bundle /opt/Rocket.Chat

مرحله ۳: پیکربندی RocketChat

پس از افزودن کاربر RocketChat فایل سرویس RocketChat را ایجاد کنید و سپس مجوزهای صحیح را به پوشه Rocket Chat بدهید:

#useradd -M rocketchat && sudo usermod -L rocketchat
#chown -R rocketchat:rocketchat /opt/Rocket.Chat

cat << EOF |sudo tee -a /lib/systemd/system/rocketchat.service
[Unit] Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target nginx.service mongod.service
[Service] ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocketchat
Environment=ROOT_URL=http://IP_SERVER-or_FQDN:۳۰۰۰
Environment=PORT=3000
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01
Environment=MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01
[Install] WantedBy=multi-user.target
EOF

به جای IP_SERVER-or_FQDN باید آدرس سرور راکت چت خود را وارد نمایید.

#sed -i “s/^# engine:/ engine: wiredTiger/” /etc/mongod.conf
#sed -i “s/^#replication:/replication:\n replSetName: rs01/” /etc/mongod.conf

#systemctl daemon-reload && sudo systemctl restart mongod
#mongo –eval “printjson(rs.initiate())”
#systemctl enable rocketchat && sudo systemctl start rocketchat

مرحله ۴: پیکربندی Nginx برای استفاده از Rocket.Chat

اگر تا انتهای مرحله ۳ را به درستی پیش رفته باشید، به راحتی می‌توانید با استفاده از آدرس سرور یعنی http://<server_IP>:3000 به سرویس راکت چت متصل شوید. البته قبل از آن با استفاده از دستور netstat -tunple مطمئن شوید که پورت ۳۰۰۰ بالا است.

به دلایلی ممکن است بخواهید که در سر راه، یک nginx نیز قرار دهید تا درخواست‌ها ابتدا به سمت آن ارسال شده و سپس با استفاده از proxy-pass به پورت ۳۰۰۰ ارسال شود.

ابتدا بیایید Nginx را پیکربندی کنیم تا به عنوان یک سرور پراکسی برای Rocket.Chat عمل کند. Nginx را با دستور زیر نصب کنید:

#apt install nginx

#vim /etc/nginx/sites-available/rocketchat

موارد زیر را با توجه به نام دامنه خود، در فایل مربوطه قرار دهید:

rocketchat

upstream backend {
server 127.0.0.1:3000;
}

server {
listen 443 ssl;
Server_name <your_rocketchat_domain_name>;
client_max_body_size 200M;
access_log /var/log/nginx/rocket.chat.access.log;
error_log /var/log/nginx/rocket.chat.error.log;
ssl_certificate /etc/nginx/certificate.crt;
ssl_certificate_key /etc/nginx/private.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

location / {
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “upgrade”;
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 https;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}

nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

هاست ساخته شده را با دستور زیر فعال نمایید:

ln -s /etc/nginx/sites-available/rocketchat /etc/nginx/sites-enabled/rocketchat

systemctl start nginx
systemctl enable nginx

پس از پایان کار، می توانید به راکت چت با استفاده از آدرس http://chat.yourdomain.com یا https://chat.yourdomain.com دسترسی پیدا کنید.

راکت چت و haproxy

نحوه عملکرد راکت چت به‌گونه‌ای است که نباید آن را پشت پراکس‌هایی مثل haproxy بیاندازید زیرا وب سوکت (wss) آن به درستی کار نمی‌کند. بهتر است به صورت مستقیم درخواست‌های آن به سمت nginx مربوط به راکت چت برود.

ابزار تست وب سوکت

حال که تمامی پیکربندی‌ها را انجام دادید، وب سوکت نیز باید به درستی کار کند و لاگ ۱۰۱ که در واقع تغییر پروتکل از https به wss است را نشان دهد. شما می‌توانید این تست را با ابزار WebSocket Test Client که به عنوان یک پلاگین در کروم عرضه شده، انجام دهید. آدرس زیر را در این ابزار قرار داده و بر روی Open کلیک کنید، به سرعت باید ارتباط برقرار شود.

wss://<your_rocketchat_domain_name>/websocket

نمایش بیشتر

نوشته های مشابه

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

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

همچنین ببینید
بستن
دکمه بازگشت به بالا