وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش استقرار Rocket.Chat در CentOS 7

0 46
زمان لازم برای مطالعه: 5 دقیقه



Rocket.Chat یک پلتفرم ارتباطی تیمی کامل است، یک جایگزین Slack که خود میزبانی می شود. این با Meteor ساخته شده است و ویژگی های مختلفی از جمله چت میز کمک، کنفرانس ویدیویی، اشتراک فایل، پیام های صوتی، API و غیره را ارائه می دهد.

در این آموزش، روش نصب و استقرار Rocket.Chat را به شما نشان خواهیم داد CentOS 7 سرور با Nginx به عنوان یک پروکسی معکوس SSL.

پیش نیازها

قبل از ادامه این آموزش مطمئن شوید که پیش نیازهای زیر را برآورده کرده اید:

  • CentOS سرور 7، طبق سیستم مورد نیاز رسمی Rocket.Chat شما حداقل به 1G رم نیاز دارید.
  • شما به عنوان یک کاربر با امتیازات sudo وارد شده اید.
  • شما یک نام دامنه دارید که به آدرس IP سرور شما اشاره دارد. در این مقاله استفاده خواهیم کرد example.com.
  • شما Nginx را نصب کرده اید، در غیر این صورت می توانید با دنبال کردن این آموزش آن را نصب کنید.
  • گواهی SSL می‌توانید یک مورد رایگان از Let’s Encrypt ایجاد کنید یا از ارائه‌دهنده دیگری خریداری کنید.

Dependencies را نصب کنید

بسته های زیر را که برای ساختن مورد نیاز ضروری هستند نصب کنید npm ماژول ها:

sudo yum install epel-release curl GraphicsMagick gcc-c++

بعد، نصب کنید Node.js و npm با تایپ:

sudo yum install -y nodejs npm

در زمان نگارش این مقاله، نسخه پیشنهادی Node.js برای Rocket.Chat Node.js v8.11.3 است.

برای نصب دستورات زیر را صادر کنید n ابزار و نسخه پیشنهادی Node.js:

sudo npm install -g inherits nsudo n 8.11.3

MongoDB یک پایگاه داده مبتنی بر سند NoSQL است و Rocket.Chat از آن به عنوان یک فروشگاه داده استفاده می کند. Rocket.Chat نسخه 3.6 MongoDB را توصیه می کند.

ما MongoDB را با استفاده از آن نصب خواهیم کرد yum از مخازن رسمی MongoDB.

ویرایشگر انتخابی خود را باز کنید و فایل مخزن زیر را ایجاد کنید:

sudo nano /etc/yum.repos.d/mongodb-org.repo

محتوای زیر را در فایل قرار دهید:

/etc/yum.repos.d/mongodb-org.repo
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

فایل را ذخیره کنید و ویرایشگر متن خود را ببندید.

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

sudo yum install mongodb-org

پس از اتمام نصب، سرویس MongoDB را فعال و راه اندازی کنید:

sudo systemctl start mongodsudo systemctl enable mongod

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

یک کاربر و گروه جدید ایجاد کنید که نمونه Rocket.Chat ما را اجرا کند. برای سادگی کاربر را نام می بریم rocket:

sudo useradd -m -U -r -d /opt/rocket rocket

اضافه کردن nginx کاربر به گروه کاربری جدید وارد شده و آن را تغییر دهید /opt/rocket مجوزهای دایرکتوری به طوری که Nginx بتواند به آن دسترسی داشته باشد:

sudo usermod -a -G rocket nginxsudo chmod 750 /opt/rocket

نصب Rocket.Chat

به کاربر تغییر دهید
rocket با تایپ:

sudo su - rocket

آخرین نسخه پایدار Rocket.Chat with curl را دانلود کنید:

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

پس از اتمام دانلود، آرشیو را استخراج کرده و نام دایرکتوری را به آن تغییر دهید Rocket.Chat:

tar zxf rocket.chat.tgzmv bundle Rocket.Chat

تغییر به Rocket.Chat/programs/server دایرکتوری و تمام موارد مورد نیاز را نصب کنید npm بسته ها:

cd Rocket.Chat/programs/servernpm install

قبل از ایجاد واحد systemd و راه اندازی یک پروکسی معکوس با Nginx، ایده خوبی است که آزمایش کنید که آیا نصب با موفقیت انجام شده است یا خیر.

پیشنهاد می‌کنیم بخوانید:  روش نصب GCC کامپایلر روشن است CentOS 7

برای انجام این کار، با تنظیم متغیرهای محیطی مورد نیاز شروع کنید:

export PORT=3000export ROOT_URL=http://example.com:3000/export MONGO_URL=mongodb://localhost:27017/rocketchat

بعد، دوباره به قسمت تغییر دهید Rocket.Chat دایرکتوری و شروع کنید Rocket.Chat سرور با صدور دستورات زیر:

cd ../../node main.js

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

➔ +---------------------------------------------+
➔ |                SERVER RUNNING               |
➔ +---------------------------------------------+
➔ |                                             |
➔ |  Rocket.Chat Version: 0.71.1                |
➔ |       NodeJS Version: 8.11.3 - x64          |
➔ |             Platform: linux                 |
➔ |         Process Port: 3000                  |
➔ |             Site URL: http://0.0.0.0:3000/  |
➔ |     ReplicaSet OpLog: Disabled              |
➔ |          Commit Hash: e73dc78ffd            |
➔ |        Commit Branch: HEAD                  |
➔ |                                             |
➔ +---------------------------------------------+

در این مرحله Rocket.Chat بر روی شما نصب می شود CentOS 7 دستگاه. سرور Rocket.Chat را با آن متوقف کنید CTRL+C و مراحل بعدی را ادامه دهید.

یک واحد سیستمی ایجاد کنید

برای اجرای Rocket.Chat به عنوان یک سرویس، a rocketchat.service فایل واحد در /etc/systemd/system/ فهرست راهنما:

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

محتوای زیر را در فایل قرار دهید:

/etc/systemd/system/rocketchat.service
[Unit]
Description=Rocket.Chat server
After=network.target nss-lookup.target mongod.target

[Service]
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocket
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://example.com:3000/ PORT=3000
ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js

[Install]
WantedBy=multi-user.target

ذخیره کنید و فایل را ببندید.

به systemd اطلاع دهید که یک فایل واحد جدید ایجاد شده است و سرویس Rocket.Chat را با اجرای:

sudo systemctl daemon-reloadsudo systemctl start rocketchat

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

sudo systemctl status rocketchat

خروجی باید چیزی شبیه به این باشد:

● rocketchat.service - Rocket.Chat server
   Loaded: loaded (/etc/systemd/system/rocketchat.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2018-04-10 20:30:56 UTC; 8s ago
 Main PID: 32356 (node)
   CGroup: /system.slice/rocketchat.service
           └─32356 /usr/local/bin/node /opt/rocket/Rocket.Chat/main.js

اگر خطایی وجود ندارد، می‌توانید سرویس Rocket.Chat را فعال کنید تا به طور خودکار در زمان راه‌اندازی راه‌اندازی شود:

sudo systemctl enable rocketchat

با Nginx یک پروکسی معکوس راه اندازی کنید

اگر روش نصب Nginx را دنبال کردید CentOS 7 و روش ایمن سازی Nginx با Let’s Encrypt on CentOS 7 راهنما که باید Nginx را با گواهی SSL نصب و پیکربندی کنید.

پیشنهاد می‌کنیم بخوانید:  روش اضافه کردن کاربر به Sudoers در CentOS

اکنون باید یک بلوک سرور جدید برای نصب Rocket.Chat خود ایجاد کنیم:

sudo nano /etc/nginx/conf.d/example.com.conf

محتوای زیر را در فایل قرار دهید:

/etc/nginx/conf.d/example.com.conf
upstream rocketchat_backend {
  server 127.0.0.1:3000;
}

server {
    listen 80;
    server_name example.com www.example.com;

    include snippets/letsencrypt.conf;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    access_log /var/log/nginx/example.com-access.log;
    error_log /var/log/nginx/example.com-error.log;

    location / {
        proxy_pass http://rocketchat_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-Forward-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forward-Proto http;
        proxy_set_header X-Nginx-Proxy true;

        proxy_redirect off;
    }
}

برای اعمال تغییرات، سرویس Nginx را دوباره بارگیری کنید:

sudo systemctl reload nginx

در حال پیکربندی Rocket.Chat

مرورگر خود را باز کنید و تایپ کنید: http://chat.example.com.

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

بخش اول جادوگر راه اندازی اولیه از شما می خواهد که کاربر Admin خود را تنظیم کنید:

Rocket.Chat Setup Wizard - مرحله 1

پس از وارد کردن اطلاعات مدیریت بر روی آن کلیک کنید Continue را فشار دهید و در مرحله بعد اطلاعات سازمان خود را وارد کنید:

Rocket.Chat Setup Wizard - مرحله 2

بخش سوم جادوگر راه اندازی اولیه از شما می خواهد که اطلاعات سرور را وارد کنید:

Rocket.Chat Setup Wizard - مرحله 3

در مرحله بعد از شما پرسیده می شود که آیا می خواهید از دروازه ها و پراکسی های از پیش تنظیم شده Rocket.Chat استفاده کنید. با انتخاب این گزینه به بازار Rocket.Chat Apps دسترسی خواهید داشت و بسیاری از ویژگی‌های دیگر مانند اعلان‌های فشاری به سادگی کار می‌کنند.

Rocket.Chat Setup Wizard - مرحله 4

انتخاب خود را انجام دهید، روی آن کلیک کنید Continue را فشار دهید و به مسیر زیر هدایت خواهید شد page نشان می دهد که فضای کاری شما آماده استفاده است:

Rocket.Chat Setup Wizard - مرحله 4

کلیک کنید روی Go to your workspace را فشار دهید و به داشبورد Rocket.Chat که به عنوان کاربر مدیریت وارد شده اید هدایت می شوید.

نتیجه

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

اگر در نصب با مشکلی مواجه شدید، نظر خود را بنویسید.

rocketchat nodejs centos mongodb
برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-27 22:52:02

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید