Android

Cum se implementează rocket.chat pe centos 7

Instalação do Rocket.chat

Instalação do Rocket.chat

Cuprins:

Anonim

Rocket.Chat este o platformă completă de comunicare în echipă, o alternativă Slack care se găzduiește de sine stătător. Este construit cu Meteor și oferă diverse funcții, inclusiv chat-ul de asistență, conferință video, partajarea de fișiere, mesaje vocale, API și multe altele.

În acest tutorial, vă vom arăta cum să instalați și să implementați Rocket.Chat pe un server CentOS 7 cu Nginx ca proxy invers SSL.

Cerințe preliminare

Asigurați-vă că ați îndeplinit următoarele cerințe înainte de a continua cu acest tutorial:

  • Serverul CentOS 7, în conformitate cu cerințele oficiale ale sistemului Rocket.Chat, aveți nevoie de cel puțin 1 G de RAM. Sunteți conectat ca utilizator cu privilegii sudo. Aveți un nume de domeniu îndreptat către adresa IP a serverului., vom folosi example.com . Aveți Nginx instalat, dacă nu, îl puteți instala urmând acest tutorial.Un certificat SSL. Puteți genera unul gratuit de la Let's Encrypt sau puteți cumpăra unul de la alt furnizor.

Instalează dependențe

Instalați următoarele pachete care sunt necesare pentru a construi modulele npm necesare:

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

Apoi, instalați Node.js și npm tastând:

sudo yum install -y nodejs npm

În momentul scrierii acestui articol, versiunea recomandată de Node.js pentru Rocket.Chat este Node.js v8.11.3.

Emite următoarele comenzi pentru a instala utilitarul n și versiunea recomandată Node.js:

sudo npm install -g inherits n sudo n 8.11.3

MongoDB este o bază de date NoSQL orientată pentru documente și este utilizată de Rocket.Chat ca un depozit de date. Rocket.Chat recomandă versiunea 3.6 MongoDB.

Vom instala MongoDB folosind yum din depozitele oficiale MongoDB.

Deschideți editorul ales și creați următorul fișier de depozitare:

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

Lipiți următorul conținut în fișier:

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

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

Salvați fișierul și închideți editorul de text.

Pentru a instala MongoDB, executați următoarea comandă:

sudo yum install mongodb-org

După terminarea instalării, activați și porniți serviciul MongoDB:

sudo systemctl start mongod sudo systemctl enable mongod

Creați un utilizator nou pentru sistem

Creați un nou utilizator și un grup, care va rula instanța noastră Rocket.Chat. Pentru simplitate vom numi rocket utilizatorului:

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

Adăugați utilizatorul nginx la noul grup de utilizatori și modificați permisiunile din directorul /opt/rocket , astfel încât Nginx să îl poată accesa:

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

Instalarea Rocket.Chat

Comutați la rocket utilizatorului tastând:

sudo su - rocket

Descărcați cea mai recentă versiune stabilă a Rocket.Chat cu ondulator:

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

După finalizarea descărcării, extrageți arhiva și redenumiți directorul în Rocket.Chat :

tar zxf rocket.chat.tgz mv bundle Rocket.Chat

Modificați-vă în directorul Rocket.Chat/programs/server și instalați toate pachetele npm necesare:

cd Rocket.Chat/programs/server npm install

Înainte de a crea unitatea systemd și a configura un proxy invers cu Nginx, este bine să testați dacă instalarea a avut succes.

Pentru aceasta, începeți prin a seta variabilele de mediu necesare:

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

Apoi, schimbați-vă în directorul Rocket.Chat și porniți serverul Rocket.Chat prin emiterea următoarelor comenzi:

cd../../ node main.js

Dacă nu există erori, ar trebui să vedeți următoarea ieșire:

➔ +---------------------------------------------+ ➔ | 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 | ➔ | | ➔ +---------------------------------------------+

În acest moment, Rocket.Chat este instalat pe mașina dvs. CentOS 7. Opriți serverul Rocket.Chat cu CTRL+C și continuați cu următorii pași.

Creați o unitate Systemd

Pentru a rula Rocket.Chat ca serviciu, creați un fișier de unitate rocketchat.service în directorul /etc/systemd/system/ :

sudo nano /etc/systemd/system/rocketchat.service Lipiți următorul conținut în fișier: /etc/systemd/system/rocketchat.service

Description=Rocket.Chat server After=network.target nss-lookup.target mongod.target 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 WantedBy=multi-user.target

Salvați și închideți fișierul.

Notificați systemd că a fost creat un nou fișier de unitate și porniți serviciul Rocket.Chat executând:

sudo systemctl daemon-reload sudo systemctl start rocketchat

Verificați starea serviciului cu următoarea comandă:

sudo systemctl status rocketchat

Produsul ar trebui să arate așa:

● 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

Dacă nu există erori, puteți activa serviciul Rocket.Chat să fie pornit automat la momentul de pornire:

sudo systemctl enable rocketchat

Configurați un proxy invers cu Nginx

Acum trebuie să creăm un nou bloc de server pentru instalarea Rocket.Chat:

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

Lipiți următorul conținut în fișier:

/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; } }

Reîncărcați serviciul Nginx pentru ca modificările să aibă efect:

sudo systemctl reload nginx

Configurarea Rocket.Chat

Deschideți browserul și tastați: http://chat.example.com .

Presupunând că instalarea este reușită, vi se va prezenta asistentul de configurare Rocket.Chat care vă va ghida în configurarea primului dvs. utilizator de administrare, configurarea organizației dvs. și înregistrarea serverului dvs. pentru a primi notificări push gratuite și multe altele.

Prima secțiune a asistentului de configurare inițială vă va solicita să configurați utilizatorul dvs. de administrator:

Faceți clic pe butonul Go to your workspace și veți fi redirecționat către tabloul de bord Rocket.Chat conectat ca utilizator de administrator.

Concluzie

Ați instalat cu succes Rocket.Chat pe serverul dvs. CentOS 7. Acum puteți începe să utilizați Rocket.Chat pentru a colabora cu echipa dvs., pentru a partaja fișiere și a chat în timp real.

rocketchat nodejs centos mongodb