androide

Come distribuire rocket.chat su centos 7

Полное руководство по MechJeb

Полное руководство по MechJeb

Sommario:

Anonim

Rocket.Chat è una piattaforma di comunicazione di gruppo completa, un'alternativa slack indipendente. È costruito con Meteor e offre varie funzionalità tra cui chat di helpdesk, videoconferenza, 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 sono necessari almeno 1G di RAM. Si è effettuato l'accesso come utente con privilegi di sudo. Si dispone di un nome di dominio che punta all'indirizzo IP del server., useremo example.com . Hai installato Nginx, altrimenti 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

Installare i seguenti pacchetti necessari per npm moduli npm richiesti:

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 Node.js consigliata per Rocket.Chat è Node.js v8.11.3.

Immettere i comandi seguenti per installare l'utilità n e la versione Node.js consigliata:

sudo npm install -g inherits n sudo n 8.11.3

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

Installeremo MongoDB usando yum dai repository ufficiali MongoDB.

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

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

Incolla il seguente contenuto nel file:

/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

Salvare il file e chiudere l'editor di testo.

Per installare MongoDB, eseguire il comando seguente:

sudo yum install mongodb-org

Una volta completata l'installazione, abilitare e avviare il servizio MongoDB:

sudo systemctl start mongod sudo systemctl enable mongod

Crea un 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 l'utente nginx al nuovo gruppo utenti e modifica le autorizzazioni della directory /opt/rocket modo che Nginx possa accedervi:

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

Installazione di Rocket.Chat

Passa al rocket utente digitando:

sudo su - rocket

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

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

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

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

Passare alla directory Rocket.Chat/programs/server e installare tutti i pacchetti npm richiesti:

cd Rocket.Chat/programs/server npm install

Prima di creare un'unità di sistema e impostare un proxy inverso con Nginx è una buona idea verificare se l'installazione è stata eseguita correttamente.

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

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

Quindi, tornare alla directory Rocket.Chat e avviare il server Rocket.Chat i comandi seguenti:

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à Systemd

Per eseguire Rocket.Chat come servizio creare un file di unità rocketchat.service nella directory /etc/systemd/system/ :

sudo nano /etc/systemd/system/rocketchat.service Incolla il seguente contenuto nel file: /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 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-reload sudo systemctl start rocketchat

Controlla lo stato del servizio con il seguente comando:

sudo systemctl status rocketchat

L'output dovrebbe assomigliare 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 è possibile abilitare l'avvio automatico del servizio Rocket.Chat all'avvio:

sudo systemctl enable rocketchat

Imposta un proxy inverso con Nginx

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 tuo browser e digita: http://chat.example.com .

Supponendo che l'installazione abbia esito positivo, ti verrà presentata la procedura guidata di installazione di Rocket.Chat che ti guiderà attraverso l'impostazione 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 l'utente amministratore:

Fai clic sul pulsante Go to your workspace e verrai reindirizzato al pannello di Rocket.Chat connesso come utente amministratore.

Conclusione

Rocket.Chat è stato installato correttamente sul server CentOS 7. Ora puoi iniziare a utilizzare Rocket.Chat per collaborare con il tuo team, condividere file e chattare in tempo reale.

rocketchat nodejs centos mongodb