if ( dina_opt( 'show_head_banner' ) ) { dina_header_banner(); } ?>

آموزش گام به گام نصب سرویس Rocket.Chat در اوبونتو 18.04 

بازدید: 629 بازدید
آموزش گام به گام نصب سرویس Rocket.Chat در اوبونتو 18.04 

آموزش گام به گام نصب سرویس Rocket.Chat در اوبونتو 18.04 

در این راهنما قصد داریم نحوه نصب سرویس Nodejs، MongoDB، Rocket.Chat و پیکربندی Nginx را به عنوان یک پروکسی معکوس برای نصب به شما عزیزان آموزش دهیم.

و در نهایت نصب را با استفاده از Let’sEncrypt SSL ایمن خواهیم کرد.

نکته : این تنظیمات بر روی پلتفرم Google Cloud آزمایش شده است.

این کار را می توان روی سایر سرویس های میزبانی ابری یا هر سرور VPS یا اختصاصی دیگری که اوبونتو را اجرا می کنند نیز انجام داد.

مرحله 1: به روز رسانی سرور
اطمینان حاصل کنید که سرور شما به روز است.

sudo apt update
sudo apt upgrade

مرحله 2: پیش نیازها یا Dependencies را نصب کنید
دستور زیر را برای نصب بسته های وابستگی برای Mongo DB اجرا کنید.

 

sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv 9DA31620334BD75D9DCB49F368818C72E52529D4

echo “deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

 

مرحله 3: Node.js را نصب کنید

برای نصب Node.js نسخه 8 دستورات زیر را اجرا کنید.

 - curl -sL https://deb.nodesource.com/setup_8.x | sudo bash 

sudo apt install -y nodejs

مرحله 4: Mongo DB و بسته های لازم را نصب کنید

اکنون می توانید MongoDB، Build Essential و Graphics Magic را نصب کنید

sudo apt-get install -y build-essential mongodb-org graphicsmagick

مرحله 5: Rocket Chat به node version و npm inherits نیاز دارد، بنابراین دستورات زیر را اجرا کنید.

sudo npm install -g inherits n && sudo n 8.11.4

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

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
sudo mv /tmp/bundle /opt/Rocket.Chat

مرحله 7: سرویس Rocket.Chat را پیکربندی کنید.

یک کاربر جدید همراه با مجوزهای راه اندازی ایجاد کنید.

sudo useradd -M rocketchat

sudo usermod -L rocketchat

مرحله 8: مجوزهای صحیح را تنظیم کنید و یک فایل سرویس ایجاد کنید.

sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat

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

حالا اطلاعات زیر را در فایل قرار دهید.

[Unit]
Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target nginx.target mongod.target
[Service]
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/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://yourdomain.com/ PORT=3000
[Install]
WantedBy=multi-user.target

نکته : نام دامنه خود را جایگزین https://yourdomain.com/ کنید.

 

مرحله 9: MongoDB را پیکربندی و فعال کنید.

sudo sed -i "s/^#  engine:/  engine: mmapv1/"  /etc/mongod.conf

sudo sed -i "s/^#replication:/replication:\n  replSetName: rs01/" /etc/mongod.conf

حالا در گام بعدی سرویس Rocket.Chat را enable و استارت کنید.

sudo systemctl enable rocketchat

sudo systemctl start rocketchat

 

قسمت دوم

نصب Nginx

Nginx را با دستور زیر نصب کنید.

sudo apt install nginx

پیکربندی  Nginx

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

پیکربندی پیش فرض Nginx را حذف کنید. و یک پیکربندی جدید برای Rocket Chat ایجاد کنید.

sudo rm -rf /etc/nginx/sites-available/default
sudo rm -rf /etc/nginx/sites-enabled/default
sudo nano /etc/nginx/sites-available/yourdomainname.conf

upstream backend {
    server 127.0.0.1:3000;
} 

server {
    listen [::]:80;
    listen 80;

    server_name yourdomainname.com;

    client_max_body_size 200M;

    error_log /var/log/nginx/rocketchat.access.log;

    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-Forward-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Forward-Proto http;
         proxy_set_header X-Nginx-Proxy true;

         proxy_redirect off;
    } 
}

این تنظیمات پیکربندی جدید را جایگذاری کنید و Ctrl+X و سپس Y و Enter را فشار دهید تا فایل ذخیره شود.

قسمت سوم

گواهی رایگان Let’s Encrypt SSL را نصب کنید

HTTPS پروتکلی برای ارتباط امن بین سرور (مثلا) و کلاینت (مرورگر وب) است.

با توجه به معرفی Let’s Encrypt که گواهینامه های رایگان SSL را ارائه می کند،

HTTPS توسط همه پذیرفته می شود و همچنین اعتماد مخاطبان شما را فراهم می کند.

sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx

اکنون Certbot by Let’s Encrypt را برای اوبونتو 18.04 نصب کرده ایم، این دستور را اجرا کنید تا گواهینامه های خود را دریافت کنید.

sudo certbot --nginx certonly

ایمیل خود را وارد کنید و با شرایط و ضوابط موافقت کنید، سپس لیست دامنه هایی را که برای تولید گواهی SSL نیاز دارید دریافت خواهید کرد.

برای انتخاب همه دامنه ها کافی است Enter را فشار دهید

Certbot client به طور خودکار گواهی جدید را برای دامنه شما ایجاد می کند. اکنون باید پیکربندی Nginx را به روز کنیم.

پیکربندی SSL

پس از نصب SSL، می توانید آن را در فایل Nginx خود پیکربندی کنید.

sudo nano /etc/nginx/sites-available/yourdomainname.com

upstream backend {
    server 127.0.0.1:3000;
} 

server {
     listen [::]:80;
     listen 80;
     server_name yourdomainname.com www.yourdomainname.com;
     return 301 https://yourdomainname.com$request_uri;
}

server {
    listen [::]:443;
    listen 443;

    server_name yourdomainname.com;

    client_max_body_size 200M;

    error_log /var/log/nginx/rocketchat.access.log;

    ssl_certificate /etc/letsencrypt/live/yourdomainname.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/yourdomainname.com/privkey.pem;

    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-Forward-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Forward-Proto http;
         proxy_set_header X-Nginx-Proxy true;

         proxy_redirect off;
    } 
}

برای ذخیره تغییرات، CTRL+X و سپس Y را فشار دهید.

 

پیکربندی خود را بررسی کنید و Nginx را مجددا راه اندازی کنید تا تغییرات اعمال شوند.

sudo nginx -t

sudo service nginx restart

تمدید گواهی  SSL

گواهینامه های ارائه شده توسط Let’s Encrypt فقط برای 90 روز معتبر هستند، بنابراین باید اغلب آنها را تمدید کنید.

بنابراین یک cronjob برای بررسی گواهی که در 30 روز آینده منقضی می شود تنظیم می کنیم تا آن را به طور خودکار تمدید کند.

sudo crontab -e

این خط را در انتهای فایل اضافه کنید

0 0,12 * * * certbot renew >/dev/null 2>&1

این cronjob سعی می کند دو بار در روز گواهی را بررسی کند.

 

این تمام چیزی است که اکنون می توانید از نام دامنه خود در مرورگر وب خود بازدید کنید. می توانید صفحه راه اندازی Rocket.Chat خود را با HTTPS ببینید.

https://yourdomainname.com



            
                    
دسته‌بندی راکت چت (چت سازمانی)
اشتراک گذاری
نوشته‌های مرتبط

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

سبد خرید

سبد خرید شما خالی است.

ورود به سایت