GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come distribuire Rocket.Chat su CentOS 7

Rocket.Chat è una piattaforma di comunicazione di squadra completa, un'alternativa Slack self-hosted. È realizzato con Meteor e offre varie funzionalità tra cui chat di helpdesk, videoconferenze, condivisione di file, messaggi vocali, API e altro ancora.

In questo tutorial, ti mostreremo come installare e distribuire Rocket.Chat su un server CentOS 7 con Nginx come proxy inverso SSL.

Prerequisiti #

Assicurati di aver soddisfatto i seguenti prerequisiti prima di continuare con questo tutorial:

  • Server CentOS 7, secondo i requisiti di sistema ufficiali di Rocket.Chat è necessario almeno 1G di RAM.
  • Sei loggato come utente con privilegi sudo.
  • Hai un nome di dominio che punta all'indirizzo IP del tuo server. In questo articolo utilizzeremo example.com .
  • Hai installato Nginx, in caso contrario puoi installarlo seguendo questo tutorial.
  • Un certificato SSL. Puoi generarne uno gratuito da Let's Encrypt o acquistarne uno da un altro provider.

Installa dipendenze #

Installa i seguenti pacchetti che sono necessari per compilare il npm richiesto moduli:

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

Quindi, installa Node.js e npm digitando:

sudo yum install -y nodejs npm

Al momento della stesura di questo articolo, la versione consigliata di Node.js per Rocket.Chat è Node.js v8.11.3.

Emetti i seguenti comandi per installare n utility e la versione consigliata di Node.js:

sudo npm install -g inherits nsudo n 8.11.3

MongoDB è un database NoSQL orientato ai documenti ed è utilizzato da Rocket.Chat come archivio dati. Rocket.Chat consiglia MongoDB versione 3.6.

Installeremo MongoDB usando yum dai repository MongoDB ufficiali.

Apri il tuo editor preferito e crea il seguente file di repository:

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

Incolla il seguente contenuto nel file:

/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

Salva il file e chiudi il tuo editor di testo.

Per installare MongoDB, esegui il seguente comando:

sudo yum install mongodb-org

Una volta completata l'installazione, abilita e avvia il servizio MongoDB:

sudo systemctl start mongodsudo systemctl enable mongod

Crea nuovo utente di sistema #

Crea un nuovo utente e gruppo, che eseguirà la nostra istanza Rocket.Chat. Per semplicità chiameremo l'utente rocket :

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

Aggiungi nginx utente nel nuovo gruppo utenti e cambia il /opt/rocket permessi di directory in modo che Nginx possa accedervi:

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

Installazione di Rocket.Chat #

Passa all'utenterocket digitando:

sudo su - rocket

Scarica l'ultima versione stabile di Rocket.Chat con curl:

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

Una volta completato il download, estrai l'archivio e rinomina la directory in Rocket.Chat :

tar zxf rocket.chat.tgzmv bundle Rocket.Chat

Passa a Rocket.Chat/programs/server directory e installa tutti i npm richiesti pacchetti:

cd Rocket.Chat/programs/servernpm install

Prima di creare un'unità systemd e configurare un proxy inverso con Nginxit è una buona idea verificare se l'installazione è andata a buon fine.

Per fare ciò, inizia impostando le variabili di ambiente richieste:

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

Quindi, torna a Rocket.Chat directory e avvia la Rocket.Chat server eseguendo i seguenti comandi:

cd ../../node main.js

Se non ci sono errori dovresti vedere il seguente output:

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

A questo punto, Rocket.Chat è installato sul tuo computer CentOS 7. Arresta il server Rocket.Chat con CTRL+C e continua con i passaggi successivi.

Crea un'unità di sistema #

Per eseguire Rocket.Chat come servizio, crea un rocketchat.service file unit nel /etc/systemd/system/ directory:

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

Incolla il seguente contenuto nel file:

/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

Salva e chiudi il file.

Notifica a systemd che è stato creato un nuovo file di unità e avvia il servizio Rocket.Chat eseguendo:

sudo systemctl daemon-reloadsudo systemctl start rocketchat

Verifica lo stato del servizio con il seguente comando:

sudo systemctl status rocketchat

L'output dovrebbe essere simile a questo:

● 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

Se non ci sono errori puoi abilitare l'avvio automatico del servizio Rocket.Chat all'avvio:

sudo systemctl enable rocketchat

Configura un proxy inverso con Nginx #

Se hai seguito il nostro come installare Nginx su CentOS 7 e come proteggere Nginx con Let's Encrypt su CentOS 7guides dovresti già avere Nginx installato e configurato con certificato SSL.

Ora dobbiamo creare un nuovo blocco server per la nostra installazione di Rocket.Chat:

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

Incolla il seguente contenuto nel file:

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

Ricarica il servizio Nginx per rendere effettive le modifiche:

sudo systemctl reload nginx

Configurazione di Rocket.Chat #

Apri il browser e digita:http://chat.example.com .

Supponendo che l'installazione abbia esito positivo, ti verrà presentata la procedura guidata di configurazione di Rocket.Chat che ti guiderà attraverso la configurazione del tuo primo utente amministratore, la configurazione della tua organizzazione e la registrazione del tuo server per ricevere notifiche push gratuite e altro ancora.

La prima sezione della procedura guidata di configurazione iniziale ti chiederà di configurare il tuo utente amministratore:

Dopo aver inserito le informazioni sull'amministratore, fai clic su Continue e nel passaggio successivo inserisci le informazioni sulla tua organizzazione:

La terza sezione della procedura guidata di configurazione iniziale ti chiederà di inserire le informazioni sul server:

Nel passaggio successivo ti verrà chiesto se desideri utilizzare i gateway e i proxy preconfigurati di Rocket.Chat. Selezionando questa opzione avrai accesso al mercato delle app Rocket.Chat e la maggior parte delle altre funzionalità come le notifiche push funzioneranno. della scatola.

Fai la tua scelta, clicca su Continue pulsante e verrai reindirizzato alla pagina seguente indicando che il tuo spazio di lavoro è pronto per l'uso:

Fai clic su Go to your workspace pulsante e verrai reindirizzato alla dashboard di Rocket.Chat effettuato l'accesso come utente amministratore.


Cent OS
  1. Come distribuire CDP su un server CentOS

  2. Come installare Live Helper Chat su CentOS 7

  3. Come installare Rocket.Chat su CentOS 7

  4. Come installare Rocket.Chat su Ubuntu 16.04

  5. Come installare Rocket.Chat su Ubuntu 18.04

Come installare R su CentOS 8

Come distribuire un cluster frammentato MongoDB su CentOS 7

Come installare Streamlit e distribuire un'applicazione Streamlit su CentOS 8

Come installare Rocket.Chat su CentOS 8

Come installare Rocket.Chat su Ubuntu 16.04 LTS

Come distribuire Rocket Chat con Nginx su Ubuntu 18.04