نصب یک چت شرکت Rocket.Chat در لینوکس

Anonim

ROCKET.CHAT یک چت شرکت بزرگ قابل مقیاس قابل انعطاف است که با شهاب سنگ طراحی شده است. Rocket.Chat می تواند یک آنالوگ از شل باشد، که می تواند بر روی سرور خود مستقر شود و از مشتریان در لینوکس، ویندوز، ماکوس، آندروید و iOS به آن متصل شود.

نصب یک چت شرکت Rocket.Chat در لینوکس 18002_1

Rocket.Chat توابع

  • چت در زمان واقعی
  • کنفرانس صوتی
  • کنفرانس ویدیویی
  • کانال ها
  • مهمان درونی
  • صفحه پخش
  • انتقال فایل
  • API کامل

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

  • هماهنگ سازی گروه LDAP
  • احراز هویت دو فاکتور 2FA
  • از طریق رمزگذاری
  • تک ورودی SSO.
  • چندین تامین کننده تأیید هویت Outh

ما به نحوه نصب و پیکربندی سرور و مشتری Rocket.Chat در لینوکس می گویم.

مرحله 1. نصب ضربه محکم و ناگهانی در لینوکس

برای سادگی، از سیستم مدیریت بسته SNAPS استفاده خواهیم کرد. اول از همه، شما باید بسته Snapd را با استفاده از مدیر بسته نصب کنید.

$ sudo apt نصب Snapd #ubuntu و دبیان $ sudo dnf install snapd #fedora 22 + / centos / rhel 8 $ sudo yum نصب Snapd # Centos / Rhel 7

بعد، شما باید ماژول SystemD را فعال کنید که سوکت اصلی اتصال فوری را کنترل می کند. این فرمان سوکت را شروع می کند و اجازه می دهد تا زمانی که سیستم بارگیری می شود شروع شود.

$ sudo systemctl فعال کردن - now snapd.socket

مرحله 2: نصب Rocket.Chat در لینوکس

برای نصب Rocketchat-Server، اجرای:

$ sudo ضربه محکم و ناگهانی نصب RockThatchat-Server

هنگامی که نصب از طریق ضربه محکم و ناگهانی تکمیل می شود، Rocket.Chat سرور شروع به کار و گوش دادن به پورت 3000 می کند. بعد، مرورگر وب را باز کنید و آدرس زیر را وارد کنید تا Rocket.Chat را از طریق GUI پیکربندی کنید.

http: // server_ip: 3000

پس از دانلود جادوگر راه اندازی، پارامترهای زیر را مشخص کنید: نام مدیر کامل، نام کاربری، آدرس ایمیل سازمان و رمز عبور.

نصب یک چت شرکت Rocket.Chat در لینوکس 18002_2

بعد، شما باید اطلاعات مربوط به سازمان را مشخص کنید: نوع سازمان، نام، صنعت، اندازه، کشور و سایت.

نصب یک چت شرکت Rocket.Chat در لینوکس 18002_3

سپس شما باید اطلاعات سرور را مشخص کنید - نام سایت، زبان، نوع سرور و تغییر یا غیرفعال کردن احراز هویت دو فاکتور 2FA.

نصب یک چت شرکت Rocket.Chat در لینوکس 18002_4

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

نصب یک چت شرکت Rocket.Chat در لینوکس 18002_5

راه اندازی کامل شده و فضای کاری شما آماده است، حالا شما باید روی بروید به فضای کاری خود (به فضای کاری بروید)

نصب یک چت شرکت Rocket.Chat در لینوکس 18002_6

این چطور به نظر می رسد.

نصب یک چت شرکت Rocket.Chat در لینوکس 18002_7
مرحله 3: تنظیم پروکسی معکوس برای Rocket.Chat

معکوس پروکسی سرور، مانند nginx یا apache، به شما اجازه می دهد تا برنامه Rocket.Chat را برای دسترسی به از طریق دامنه یا زیر دامنه پیکربندی کنید. Rocket.Chat یک سرور کاربردی در سطح متوسط ​​است که SSL / TLS را پشتیبانی نمی کند. پروکسی معکوس به شما این امکان را می دهد که گواهینامه های SSL / TLS را سفارشی کنید تا HTTPS را روشن کنید.

معکوس پروکسی Nginx برای Rocket.Chat

ابتدا nginx را نصب کنید.

$ sudo apt apt نصب nginx # ubuntu / debian $ sudo dnf install nginx #fedora 22 + / centos / rhel 8 $ sudo yum install nginx # centos / rhel 7

بعد، سرویس nginx را اجرا کنید، هنگام بارگیری سیستم، شروع خودکار خود را روشن کنید و وضعیت آن را بررسی کنید

$ sudo systemctl فعال کردن - Newow nginx $ sudo systemctl وضعیت nginx

سپس یک فایل سرور مجازی مجازی را برای برنامه Rocket.Chat ایجاد کنید، به عنوان مثال، در دایرکتوری /etc/nginx/conf.d/.

$ sudo vim /etc/nginx/conf.d/chat.merionet.com.conf

بعد، پیکربندی را به این فایل را با جایگزینی دامنه به خود وارد کنید و ذخیره کنید.

Backend Upstream {سرور 127.0.0.1:3000؛ } سرور {گوش دادن 80؛ server_name chat.merionet.com؛ # شما می توانید محدودیت را افزایش دهید اگر شما نیاز دارید. client_max_body_size 200m؛ error_log /var/log/nginx/chat.merionet.com.log؛ محل سکونت / {Proxy_Pass http: // backend /؛ proxy_http_version 1.1؛ proxy_set_header ارتقا $ http_upgrade؛ proxy_set_header اتصال "ارتقا"؛ proxy_set_header میزبان $ http_host؛ Proxy_set_header X-Real-IP $ remote_addr؛ Proxy_set_header X-Forwarded-for $ Proxy_Add_x_ForwardDed_For؛ Proxy_set_header X-Forward-Proto HTTP؛ Proxy_set_header X-Nginx-Proxy True؛ proxy_redirect خاموش؛ }}

در نهایت، نحو را بررسی کنید و سرویس NGINX را مجددا راه اندازی کنید.

$ sudo nginx -t $ sudo systemctl restart nginx

معکوس پروکسی آپاچی برای Rocket.Chat

بسته Apache2 را نصب کنید

$ sudo apt نصب Apache2 # اوبونتو / دبیان $ sudo dnf نصب httpd #fedora 22 + / centos / rhel 8 $ sudo yum نصب httpd # centos / rhel 7

بعد، سرویس Apache را اجرا کنید و فعال کنید و بررسی کنید که آیا در حال اجرا و اجرا است.

----- در اوبونتو / دبیان ----- $ sudo systemctl فعال کردن - Now apache2 $ sudo systemctl وضعیت apache2 ----- در Centsos / Rhel 7/8 ----- $ sudo systemctl Enable - در حال حاضر httpd $ sudo systemctl وضعیت httpd

سپس یک فایل میزبان مجازی برای برنامه Rocket.Chat ایجاد کنید، به عنوان مثال، در دایرکتوری / etc / apache2 / سایت / یا /etc/httpd/conf.d/.

----- در اوبونتو / دبیان ----- $ sudo vim /etc/apache2/sites-available/chat.merionet.com.conf ----- در Centsos / Rhel 7/8 ----- $ sudo vim /etc/httpd/conf.d/chot.merionet.com.conf

بعد، پیکربندی را به این فایل را با جایگزینی دامنه به خود وارد کنید و ذخیره کنید.

serverAdmin [email protected] servername chat.merionet.com loglevel info errorlog /var/log/chat.merionet.com_error.log transferlog /var/log/chat.merionet.com_access.log نیاز به همه RewriteEngine را در Rewritecond٪ {http: ارتقا} = websocket [nc] rewriterule /(.*) WS: // localhost: 3000 / $ 1 [p، l] rewritecond٪ {http: upgrade}! = websocket [nc] rewriterule /(]) http: / / localhost: 3000 / $ 1 [p، l] proxypassreverse / http: // localhost: 3000 /

در اوبونتو و دبیان، ماژول های Apache2 لازم را فعال کرده و سرویس را مجددا راه اندازی کنید.

$ sudo a2enmod proxy_http $ sudo a2enmod proxy_wstunnel $ sudo a2enmod بازنویسی $ sudo systemctl restart apache2

در Centos / Rhel و فدورا سرویس Apache را راه اندازی مجدد کنید.

# systemctl راه اندازی مجدد httpd

در حال حاضر مرورگر را باز کنید و آدرس پیکربندی شده خود را وارد کنید و برنامه Rocket.Chat از طریق دامنه خود پیکربندی شده در سرور پروکسی در دسترس خواهد بود.

http://chat.merionet.com

نصب یک چت شرکت Rocket.Chat در لینوکس 18002_8
مرحله 4: نصب مشتریان Rocket.Chat

برنامه های کاربردی مشتری را می توان از وب سایت رسمی Rocket.Chat دانلود کرد. برای نصب یک برنامه دسکتاپ در لینوکس، بسته به توزیع لینوکس خود، بسته Deb Packet (X64) یا RPM (X64) را دانلود کنید.

$ wget -c https://github.com/rocketchat/rocket.chat.electron/releases/download/2.17.7/rocketchat_2.17.7_amd64.deb

یا

$ wget -c https://github.com/rocketchat/rocket.chat.electron/releases/download/2.17.7/Rocketchat-2.17.7.x86_64.RPM

بسته بعدی با استفاده از DPKG یا RPM Packet Manager

$ sudo dpkg -i rocketchat_2.17.7_amd64.deb # ubuntu / debian $ sudo rpm -i rocketchat-2.17.7.x86_64.rpm # centos / redhat

نصب دستی Rocket.Chat.

اگر نمی خواهید Rocket.Chat را از طریق ضربه محکم و ناگهانی نصب کنید، می توانید آن را به صورت دستی انجام دهید.

نصب Node.js.

اول، لیست بسته های سیستم را به روز کنید:

sudo apt Update.

تنظیم node.js، npm و تمام وابستگی های دیگر مورد نیاز برای ساخت بسته های NPM از کد منبع:

sudo apt نصب nodejs npm ساخت و ساز ساختمان ضروری ساخت و ساز خواص - گرافیک معمولی

ما از N، NPM بسته استفاده خواهیم کرد که به شما امکان تعاملی نسخه های node.js را می دهد. دستور زیر برای نصب n و node.js:

sudo npm install -g به ارث می برد n sudo n 8.11.3

نصب MongoDB.

MongoDB یک پایگاه داده NOSQL مبتنی بر سند است که توسط Rocket.Chat برای ذخیره داده ها استفاده می شود.

وارد کردن کلید عمومی MongoDB و روشن کردن مخزن رسمی MongoDB:

sudo apt-key ADV - //keyserver.ubuntu.com: 80 - recv 9da31620334BD75D9DCB49F368818C72E52529D4 sudo add-apt-tempository 'deb [arch = amd64] https://repo.mongodb.org/apt/ubuntu bionic /mongodb-org/4.0 multiverse '

پس از روشن کردن مخزن APT، لیست بسته را به روز کنید و MongoDB را با تایپ کردن نصب کنید:

SUDO APT UPDATE SUDO APT نصب MONGODB-ORG

سپس سرویس MongoDB را روشن کنید و شروع کنید:

Sudo SystemCTL شروع به Mongod Sudo Systemctl می کند

ایجاد یک کاربر سیستم جدید

حالا شما باید یک کاربر جدید و گروهی به نام موشک ایجاد کنید، که نمونه های Rocket.Chat را اجرا می کنند.

sudo useradd -m -u -r -d / opt / راکت موشک

یک کاربر داده www-data را به یک گروه جدید از کاربران اضافه کنید و حقوق دسترسی را به دایرکتوری / OPT / Rocket تغییر دهید تا Nginx بتواند به نصب Rocket.Chat دسترسی پیدا کند:

Sudo Usermod -A -G موشک www-data sudo chmod 750 / opt / rocmet

نصب Rocket.Chat

به کاربر موشک بروید

sudo su - راکت

بارگذاری آخرین نسخه پایدار Rocket.Chat با استفاده از CURL:

curl -l https://releases.rocket.chat/lateest/download -o rocket.chat.tgz

پس از دانلود کامل، بایگانی را حذف کنید و دایرکتوری را در Rocket.Chat تغییر دهید:

TAR ZXF ROCKET.CHAT.TGZ MV BUNDLE ROCKET.CHAT

به دایرکتوری Rocket.Chat/Programs/Server بروید و تمام بسته های NPM لازم را نصب کنید:

cd rocket.chat/programs/server npm install

برای آزمایش نصب ما قبل از ایجاد ماژول SystemD و پیکربندی پروکسی معکوس با nginx یا apache، ما متغیرهای محیطی لازم را نصب می کنیم و سرور Rocket.Chat را شروع خواهیم کرد

صادرات Port = 3000 repuest root_url = http: //0.0.0.0: 3000 / export mongo_url = mongoDB: // localhost: 27017 / Rocketchat

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

سی دی ../../ node main.js

اگر هیچ خطایی وجود نداشته باشد، باید نتیجه گیری زیر را ببینید:

؟ + --------------------------------------------- +؟ | سرور در حال اجرا | ؟ + --------------------------------------------- +؟ | | ؟ | Rocket.Chat نسخه: 0.71.1 | ؟ | نسخه Nodejs: 8.11.3 - X64 | ؟ | پلت فرم: لینوکس | ؟ | پورت فرآیند: 3000 | ؟ | URL سایت: http: //0.0.0: 3000 / | ؟ | replicaset oplog: غیر فعال | ؟ | مرتکب هش: E73DC78FFD | ؟ | تعهد شاخه: سر | ؟ | | ؟ + --------------------------------------------- +.

ایستگاه Rocket.Chat را با استفاده از CTRL + C متوقف کنید و با تایپ کردن خروج به کاربر sudo خود بازگردید.

ایجاد یک ماژول SystemD

برای اجرای Rocket.Chat به عنوان یک سرویس، شما باید یک فایل از ماژول Rocketchat.service را در / etc / systemd / system / system ایجاد کنید.

sudo nano /etc/rsystemd/system/rocketchat.service.

کد زیر را وارد کنید:

[واحد] توضیحات = Rocket.Chat سرور پس از = network.target nss-lookup.target mongod.target [service] Syslog SystanError = syslog syslogidentifier = syslog syslogidentifier = Rocketchat user = mongo_url = mongoDB: // localhost: 27017 / Rocketchat root_url = https: //chat.merionet.com port = 3000 execstart = / uster / local / bin / node /opt/rocket/rocket.chat/main.js [install] wantedby = multi-user.target

به SystumD بگویید که ما یک فایل ماژول جدید ایجاد کرده ایم و سرویس Rocket.Chat را با انجام انجام می دهیم:

sudo systemctl daemon-reload sudo systemctl Start Rocketchat

وضعیت خدمات را بررسی کنید:

Sudo Systemctl Status Rocketchat

نتیجه گیری باید مانند این باشد:

* Rocketchat.Service - Rocket.Chat سرور بارگذاری شده: loaded (/etc/systemd/system/rocketchat.service؛ غیرفعال؛ فروشنده از پیش تعیین شده: فعال) فعال: فعال (در حال اجرا) از تاریخ 2018-11-07 14:36:24 PST ؛ 5S پیش PID اصلی: 12693 (گره) وظایف: 10 (محدودیت: 2319) cgroup: / system.slice / rockethat.service` -12693 / usr / local / bin / node / rocket/rocket.chat/main.js

در نهایت، شروع خودکار خدمات Rocket.Chat را در هنگام دانلود روشن کنید:

sudo systemctl Enable Rocketchat

پایان، ما Rocket.Chat را به صورت دستی نصب کردیم، اکنون می توانید به پیکربندی پروکسی معکوس و ابتدایی سیستم که از مرحله 3 شرح داده شد بروید.

نتایج

در این راهنما، شما آموختید که چگونه Rocket.Chat را در لینوکس نصب کنید و نحوه پیکربندی Nginx و Apache را به عنوان یک پروکسی معکوس پیکربندی کنید.

برای کسب اطلاعات بیشتر در مورد Rocket.Chat از صفحه مستندات بازدید کنید.

ادامه مطلب