GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Rocket.chat con proxy inverso nginx su Ubuntu 20.04

Se stai cercando una piattaforma di chat self-hosted open source, Rocketchat può essere l'opzione migliore. Rocket chat può essere utilizzato come alternativa a diversi canali di comunicazione come slack, mattermost ecc. Rocket chat include diverse funzionalità come chat di gruppo, videoconferenze e puoi integrare la chat dal vivo con altre piattaforme. In questo articolo impareremo come configurare un sistema Rocketchat self-hosted con crittografiamo i certificati SSL.

Prerequisiti

  1. Server Ubuntu fresco
  2. Accesso root o account sudo privilegiato
  3. Un nome di dominio puntato con l'IP del server
  4. Connessione Internet per scaricare applicazioni

Installa i pacchetti e le dipendenze richiesti

Prima di installare i pacchetti, aggiorna il sistema Ubuntu usando il seguente comando

$ sudo apt-get update -y

Una volta completato l'aggiornamento del sistema, configura apt per installare i pacchetti MongoDB utilizzando il comando seguente.

$ 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

Uscita :

Per configurare Node.js in modo che possa essere installato utilizzando apt gestore pacchetti esegui il comando seguente.

$ sudo apt-get -y update && sudo apt-get install -y curl && curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -

Uscita:

Ora installa gli strumenti di compilazione Nodejs, MongoDB e graphicsmagick :

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

Uscita :

Ora installa eredita e n e la versione del nodo richiesta da Rocketchat.

$ sudo npm install -g inherits n && sudo n 12.18.4

Per verificare la versione di Nodejs installata, esegui il comando seguente.

$ node --version

Uscita:

v12.18.4

Installa Rocketchat

Abbiamo già installato le dipendenze richieste. Ora, in questo passaggio, scaricheremo l'applicazione Rocket Chat e la installeremo su Ubuntu 20.04.

Scarica l'ultima versione di Rocketchat usando il seguente comando.

$ curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
tar -xzf /tmp/rocket.chat.tgz -C /tmp

Uscita :

Estrarre l'applicazione scaricata. Puoi scegliere la tua directory preferita in cui archiviare il file estratto. In questo esempio, ho estratto il file in /tmp directory.

$ tar -xvzf /tmp/rocket.chat.tgz -C /tmp

Ora installa Rocketchat. In questo articolo /opt directory viene utilizzata per l'installazione. Puoi preferire qualsiasi directory.

$ cd /tmp/bundle/programs/server && npm install

Uscita:

$ sudo mv /tmp/bundle /opt/Rocket.Chat

Configura il servizio Rocket.Chat

Crea un utente Rocket.Chat, imposta l'autorizzazione corretta per la directory dell'applicazione Rocket.Chat e crea il servizio Rocket.Chat.

$ sudo useradd -M rocketchat && sudo usermod -L rocketchat
$ sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat

Per creare rocketchat.service, esegui il seguente comando sul tuo terminale

cat << EOF |sudo tee -a /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/local/bin/node /opt/Rocket.Chat/main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocketchat
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://localhost:3000/ PORT=3000
[Install]
WantedBy=multi-user.target
EOF

Esempio:

Ora è necessario configurare un motore di archiviazione e una replica MongoDB. Successivamente, abilita e avvia mongoDB come:

$ sudo sed -i "s/^# engine:/ engine: mmapv1/" /etc/mongod.conf
$ sudo sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf
$ sudo systemctl enable mongod && sudo systemctl start mongod
$ mongo --eval "printjson(rs.initiate())"

Uscita :

Ora avvia e abilita il servizio Rocket.Chat usando il seguente comando:

$ sudo systemctl enable rocketchat && sudo systemctl start rocketchat

Verifica lo stato del servizio Rocket.Chat”

$ sudo systemctl status rocketchat

Uscita:

Installazione di Nginx e configurazione del proxy inverso

Per configurare nginx reverse proxy per Rocket.Chat, installa nginx usando il seguente comando

$ sudo apt install nginx

Crea la configurazione dell'host virtuale nginx per rocketchat.

$ sudo nano /etc/nginx/conf.d/rocketchat.conf

Ora incolla il seguente contenuto e salva il file

upstream backend {
server 127.0.0.1:3000;
}

server {
listen 80;

server_name your_rocketchat_domain_name;
access_log /var/log/nginx/rocket.chat.access.log;
error_log /var/log/nginx/rocket.chat.error.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;
}
}

Controlla il file di configurazione di nginx

$ sudo nginx -t

Riavvia e abilita il servizio nginx

$ sudo systemctl restart nginx
$ sudo systemctl enable nginx

Ora accedi al tuo dominio Rocketchat come

http://tuo_dominio_rocketchat

Otterrai la procedura guidata di configurazione web, la completerai e inizierai a utilizzare Rocket.Chat

Nginx come proxy inverso SSL

Abbiamo configurato Rocket.Chat con solo proxy inverso HTTP. Per configurare nginx come proxy inverso SSL avrai bisogno di file di certificato. Modifica il file vhost di nginx e incolla i seguenti contenuti.

$ sudo nano /etc/nginx/conf.d/rocketchat.conf
upstream backend {
server 127.0.0.1:3000;
}

server {
listen 443 ssl;
Server_name your_rocketchat_domain_name;
client_max_body_size 200M;
access_log /var/log/nginx/rocket.chat.access.log;
error_log /var/log/nginx/rocket.chat.error.log;
ssl_certificate /etc/nginx/certificate.crt;
ssl_certificate_key /etc/nginx/private.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

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-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}

Nota :

Genera o acquista un certificato SSL e punta la directory del file del tuo certificato nel seguente parametro di configurazione.

ssl_certificate /etc/nginx/certificate.crt; [Your certificate file]
ssl_certificate_key /etc/nginx/private.key; [Your Private Key file]

Controlla il file di configurazione di nginx

sudo nginx -t

Riavvia il servizio nginx

sudo systemctl restart nginx

Accesso a Rocketchat

Una volta configurato il proxy inverso, puoi accedere a Rocket.Chat utilizzando l'URL come:

https://you_rocket_chat_domain

Otterrai la procedura guidata di configurazione web di Rocket.Chat. Completa la configurazione e inizia a utilizzare la tua Rocket.Chat auto-ospitata.

Conclusione

In questo articolo, abbiamo imparato come installare e configurare la chat Rocket self-hosted su Ubuntu 20.04. Inoltre, ho spiegato come installare e configurare nginx per il proxy inverso con crittografiamo i certificati SSL.


Ubuntu
  1. Come installare Nginx su Ubuntu 16.04

  2. Come installare Odoo 11 su Ubuntu 16.04 con Nginx come proxy inverso

  3. Come installare Odoo 10 su Ubuntu 16.04 con Nginx come proxy inverso

  4. Come installare Flectra su Ubuntu 20.04 con Nginx come proxy inverso

  5. Come installare Odoo 12 su Ubuntu 18.04 con Nginx come proxy inverso

Come installare Rocket Chat su Ubuntu 16.04 con Docker

Come installare WordPress 5.x con Nginx su Ubuntu 18.04 / Ubuntu 16.04

Come installare WordPress con Nginx su Ubuntu

Come installare SuiteCRM su Ubuntu 20.04 con Apache/Nginx

Come installare MediaWiki su Ubuntu 20.04 con Apache/Nginx

Come installare Rocket.Chat su Ubuntu 20.04 LTS