از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش استقرار Rocket.Chat در CentOS 7
سرفصلهای مطلب
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 n
sudo 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
محتوای زیر را در فایل قرار دهید:
[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 mongod
sudo systemctl enable mongod
ایجاد کاربر جدید سیستم
یک کاربر و گروه جدید ایجاد کنید که نمونه Rocket.Chat ما را اجرا کند. برای سادگی کاربر را نام می بریم rocket
:
sudo useradd -m -U -r -d /opt/rocket rocket
اضافه کردن nginx
کاربر به گروه کاربری جدید وارد شده و آن را تغییر دهید /opt/rocket
مجوزهای دایرکتوری به طوری که Nginx بتواند به آن دسترسی داشته باشد:
sudo usermod -a -G rocket nginx
sudo 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.tgz
mv bundle Rocket.Chat
تغییر به Rocket.Chat/programs/server
دایرکتوری و تمام موارد مورد نیاز را نصب کنید npm
بسته ها:
cd Rocket.Chat/programs/server
npm install
قبل از ایجاد واحد systemd و راه اندازی یک پروکسی معکوس با Nginx، ایده خوبی است که آزمایش کنید که آیا نصب با موفقیت انجام شده است یا خیر.
برای انجام این کار، با تنظیم متغیرهای محیطی مورد نیاز شروع کنید:
export PORT=3000
export 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
محتوای زیر را در فایل قرار دهید:
[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-reload
sudo 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 نصب و پیکربندی کنید.
اکنون باید یک بلوک سرور جدید برای نصب Rocket.Chat خود ایجاد کنیم:
sudo nano /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 خود را تنظیم کنید:
پس از وارد کردن اطلاعات مدیریت بر روی آن کلیک کنید Continue
را فشار دهید و در مرحله بعد اطلاعات سازمان خود را وارد کنید:
بخش سوم جادوگر راه اندازی اولیه از شما می خواهد که اطلاعات سرور را وارد کنید:
در مرحله بعد از شما پرسیده می شود که آیا می خواهید از دروازه ها و پراکسی های از پیش تنظیم شده Rocket.Chat استفاده کنید. با انتخاب این گزینه به بازار Rocket.Chat Apps دسترسی خواهید داشت و بسیاری از ویژگیهای دیگر مانند اعلانهای فشاری به سادگی کار میکنند.
انتخاب خود را انجام دهید، روی آن کلیک کنید Continue
را فشار دهید و به مسیر زیر هدایت خواهید شد page نشان می دهد که فضای کاری شما آماده استفاده است:
کلیک کنید روی Go to your workspace
را فشار دهید و به داشبورد Rocket.Chat که به عنوان کاربر مدیریت وارد شده اید هدایت می شوید.
نتیجه
Rocket.Chat را با موفقیت بر روی خود نصب کردید CentOS 7 سرور. اکنون می توانید از Rocket.Chat برای همکاری با تیم خود، اشتراک گذاری فایل ها و چت در زمان واقعی استفاده کنید.
اگر در نصب با مشکلی مواجه شدید، نظر خود را بنویسید.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-27 22:52:02