RocketChat یک پلتفرم ارتباطی متنباز و کاملا قابل تنظیم است که با جاوا اسکریپت نوشته شده است. RocketChat ویژگیهای متنوعی مانند ارتباط آنی، انعطافپذیری و راهحلهای مقیاسپذیر را ارائه میدهد و از استانداردهای بالای حفاظت از دادهها برخوردار است. در این مطلب، قصد داریم شما را در مورد نحوه نصب RocketChat در اوبونتو راهنمایی کنیم.
این مطلب از Nginx به عنوان یک پروکسی معکوس برای برنامه RocketChat ما استفاده خواهد کرد.
نصب RocketChat با Nginx به عنوان یک پروکسی معکوس یک فرآیند ساده است که بسته به آشنایی شما با لینوکس ممکن است تا ۲۵ دقیقه طول بکشد.
پیش نیازها
- یک VPS با سیستم عامل اوبونتو ۲۲.۰۴
- امتیازات کاربر: کاربر root یا non-root با امتیازات sudo
- یک دامنه که به آدرس IP سرور اشاره دارد
مرحله ۱. بهروزرسانی سیستم
قبل از شروع نصب RocketChat، باید بستههای سیستم را به آخرین نسخههای موجود بهروزرسانی کنیم.
sudo apt-get update -y && sudo apt-get upgrade -y
مرحله ۲. نصب Nginx
برای نصب وب سرور Nginx، دستور زیر را اجرا کنید:
sudo apt install nginx -y
پس از اتمام نصب، سرویس Nginx را اجرا و فعال کنید:
sudo systemctl start nginx ; sudo systemctl enable nginx
برای بررسی وضعیت سرویس Nginx، میتوانید دستور زیر را اجرا کنید:
systemctl status nginx
باید خروجی زیر را دریافت کنید:
مرحله ۳. نصب MongoDB
RocketChat برای عملکرد و ذخیره اطلاعات به یک سرویس پایگاه داده نیاز دارد. ما باید سرویس پایگاه داده MongoDB را نصب کنیم. ابتدا مخزن MongoDB و کلید GPG را اضافه میکنیم:
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | gpg --dearmor | sudo tee /usr/share/keyrings/mongodb.gpg > /dev/null echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
پس از اتمام، سیستم را بهروزرسانی و MongoDB را نصب کنید:
sudo apt update sudo apt install mongodb-org
پس از نصب، سرویس را راهاندازی و فعال کنید:
sudo systemctl start mongod && sudo systemctl enable mongod
برای بررسی وضعیت سرویس MongoDB، میتوانید دستور زیر را اجرا کنید:
sudo systemctl status mongod
باید خروجی زیر را دریافت کنید:
مرحله ۴. نصب RocketChat در اوبونتو ۲۲.۰۴
آخرین نسخه RocketChat را دانلود و استخراج کنید:
curl -L https://releases.rocket.chat/latest/download -o /opt/rocket.chat.tgz tar -xzf /opt/rocket.chat.tgz -C /opt
سپس به دایرکتوری که RocketChat در آن استخراج شده است بروید و دستورات زیر را برای نصب اجرا کنید:
mv /opt/bundle/ /opt/RocketChat cd /opt/RocketChat/programs/server npm install
مرحله ۵. ایجاد سرویس RocketChat
قبل از ایجاد سرویس، باید یک کاربر سیستمی ایجاد کنیم که RocketChat با آن اجرا شود:
sudo useradd -M rocketchat && sudo usermod -L rocketchat sudo chown -R rocketchat:rocketchat /opt/RocketChat
پس از ایجاد کاربر، فضای ذخیرهسازی MongoDB را پیکربندی کنید
sudo sed -i "s/^# engine:/ engine: wiredTiger/" /etc/mongod.conf sudo sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf
پس از افزودن این، باید فایل سرویس را ایجاد کنیم:
touch /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/bin/node /opt/RocketChat/main.js StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocketchat Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 ROOT_URL=https://localhost:3000/ PORT=3000 [Install] WantedBy=multi-user.target
برای پروژههای مهم خود به دنبال سرور مطمئن هستید؟ خرید سرور مجازی با IP ثابت و سرعت بالا در پارسدو، گزینهای ایدهآل است.
دیمن را ریلود و سرویس RocketChat را استارت کنید. همچنین باید سرویس را enable کنید که در هنگام بوت هم اجرا شود:
sudo systemctl daemon-reload sudo systemctl start rocketchat sudo systemctl enable rocketchat
با این کار، نمونه RocketChat شما در حال اجرا است! میتوانید از طریق آدرس زیر به آن دسترسی داشته باشید.
https://server IP address:3000
مرحله ۶. پیکربندی RocketChat با Nginx Reverse Proxy
فایل پیکربندی Nginx را ایجاد کنید.
touch /etc/nginx/sites-enabled/rocketchat.conf
پس از ایجاد، آن را با ویرایشگر متن مورد علاقه خود باز کنید و خطوط کد زیر را در آن قرار دهید:
server { listen 80; server_name YourDomainNameHere; access_log /var/log/nginx/rocket_access.log; error_log /var/log/nginx/rocket_error.log; location / { proxy_pass https://127.0.0.1:3000/; 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; } }
عبارت YourDomainNameHere را با نام دامنه مورد نظر خود تغییر دهید.
فایل را ذخیره کنید، آن را ببندید و با دستور زیر، پیکربندی Nginx را برای خطاهای نحوی بررسی کنید:
nginx -t
اگر همه چیز خوب باشد، باید خروجی زیر را دریافت کنید:
سرویس Nginx را ریستارت نموده و از طریق https://YourDomainName به نصب RocketChat خود دسترسی پیدا کنید.
رابط کاربری بسیار شهودی است و شما باید یک نام سازمان ایجاد کنید، یک حساب کاربری ادمین و البته یک رمز عبور قوی تنظیم کنید.
اگر مطلب RocketChat در اوبونتو را دوست داشتید، لطفا آن را با دوستان خود در شبکههای اجتماعی به اشتراک بگذارید یا به سادگی در زیر پاسخ دهید. متشکرم.