GNU/Linux >> Linux Esercitazione >  >> Linux

Come distribuire Rocket Chat con Nginx su Ubuntu 18.04

Rocket.Chat è un'applicazione di chat gratuita, open source e self-hosted che ti consente di ospitare il tuo server di chat. È molto simile a Slack e offre funzionalità simili tra cui condivisione di file, sistemi di ticketing, chat video e conferenze. Con Rocket.Chat puoi chattare con i membri del team, creare canali e gruppi privati, effettuare chiamate video e audio, condividere schermate e caricare file.

Caratteristiche

  • Potenti API
  • Monitoraggio video remoto
  • Conferenze audio e video gratuite
  • Sincronizzazione di gruppi LiveChat e LDAP
  • Condivisione di schermate e file
  • Notifiche desktop e mobili
  • Stanze multiutente pubbliche e private

Rocket.Chat è la scelta migliore per te se stai cercando una piattaforma di chat open source da ospitare nel Cloud.

In questo tutorial, ti mostreremo come installare e configurare Rocket.Chat su Ubuntu 18.04 VPS.

Prerequisiti

  • Un nuovo VPS Ubuntu 18.04 sulla piattaforma Atlantic.Net Cloud.
  • Un nome di dominio valido puntato al tuo indirizzo IP VPS. In questo tutorial utilizzeremo node1.example.com.

Nota:puoi fare riferimento alla Atlantic DNS Guide per gestire i record DNS.

Fase 1:crea un server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 18.04 come sistema operativo con almeno 2GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Dopo aver effettuato l'accesso al tuo server Ubuntu 18.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.

apt-get update -y

Passaggio 2 – Installa Node.js

Rocket.Chat richiede Node.js e altre dipendenze per la creazione di pacchetti npm dal sorgente. Innanzitutto, aggiungi il repository Node.js eseguendo il comando seguente:

curl -sL https://deb.nodesource.com/setup_12.x — Node.js 12 LTS "Erbium"| bash -

Quindi, aggiorna il repository e installa Node.js insieme alle dipendenze richieste con il comando seguente:

apt-get update -y
apt-get install nodejs build-essential curl software-properties-common graphicsmagick -y

Fase 3 – Installa MongoDB

Rocket.Chat richiede che MongoDB sia installato sul tuo server. Per impostazione predefinita, l'ultima versione di MongoDB non è disponibile nel repository predefinito di Ubuntu 18.04, quindi dovrai aggiungere il repository MongoDB al tuo server.

Innanzitutto, scarica e aggiungi la chiave del repository ufficiale con il seguente comando:

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

Quindi, aggiungi il repository MongoDB eseguendo il comando seguente:

add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'

Una volta aggiunto il repository, aggiorna il repository e installa MongoDB con il seguente comando:

apt-get update -y
apt-get install mongodb-org -y

Una volta installato MongoDB, avvia il servizio MongoDB e abilitalo all'avvio dopo il riavvio del sistema:

systemctl start mongod
systemctl enable mongod
netstat -ant

Uscita:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN

Fase 4 – Configura MongoDB

Rocket.Chat usa il set di repliche MongoDB per migliorare le prestazioni, quindi dovrai configurare il set di repliche MongoDB. Puoi configurarlo con il seguente comando:

echo -e "replication:\n replSetName: \"rs01\"" | tee -a /etc/mongod.conf

Quindi, riavvia il servizio MongoDB per applicare le modifiche:

systemctl restart mongod

Quindi, accedi alla shell di MongoDB e avvia il set di repliche con il seguente comando:

mongo
rs.initiate()

Dovresti vedere il seguente output:

A questo punto MongoDB è installato e configurato con il set di repliche.

Digita Exit per uscire da MongoDB.

Passaggio 5:installa Rocket.Chat

Prima di iniziare, si consiglia di creare un nuovo utente e gruppo per eseguire Rocket.Chat.

Innanzitutto, crea un nuovo utente con il nome razzo con il seguente comando:

adduser rocket

Dovresti ottenere il seguente output:

Quindi, consenti a Nginx di accedere alla directory Rocket.Chat aggiungendo l'utente del razzo al gruppo www-data:

usermod -a -G rocket www-data

Quindi, passa l'utente a Rocket e scarica l'ultima versione di Rocket.Chat con il seguente comando:

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

Una volta completato il download, estrai il file scaricato con il seguente comando:

tar zxf rocket.chat.tgz

Quindi, sposta la directory estratta su Rocket.Chat usando il seguente comando:

mv bundle Rocket.Chat

Quindi, cambia la directory nella directory Rocket.Chat/programs/server e installa tutti i pacchetti npm richiesti con il seguente comando:

cd Rocket.Chat/programs/server
npm install

Nota: Rocket.Chat richiederà alcuni minuti per l'installazione

Una volta installati tutti i pacchetti, dovresti vedere il seguente output:

Quindi, imposta le variabili di ambiente richieste per testare l'installazione di Rocket.Chat:

export PORT=3000
export ROOT_URL=http://0.0.0.0:3000/
export MONGO_URL=mongodb://localhost:27017/rocketchat
export MONGO_OPLOG_URL=mongodb://localhost:27017/local?replSet=rs01

Quindi, cambia la directory in Rocket.Chat e avvia il server Rocket.Chat usando il seguente comando:

cd ~/Rocket.Chat
node main.js

Nota: Il completamento di questo processo può richiedere diversi minuti

Dovresti ottenere il seguente output:

Quindi, arresta il server Rocket.Chat con CTRL+C, quindi esegui il seguente comando per uscire dall'utente del razzo:

exit

Passaggio 6:crea un file di servizio Systemd per Rocket.Chat

Quindi, crea un file di servizio systemd per avviare e arrestare il servizio Rocket.Chat:

nano /etc/systemd/system/rocketchat.service

Aggiungi le seguenti righe:

[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 MONGO_OPLOG_URL=mongodb://localhost:27017/local?replSet=rs01 ROOT_URL=http://node1.example.com PORT=3000
ExecStart=/usr/bin/nodejs /home/rocket/Rocket.Chat/main.js


[Install]
WantedBy=multi-user.target

Salva e chiudi il file quando hai finito. Quindi, ricarica il demone systemd con il seguente comando:

systemctl daemon-reload

Quindi, avvia il servizio Rocket.Chat e abilitalo all'avvio dopo il riavvio del sistema:

systemctl start rocketchat
systemctl enable rocketchat

Ora puoi verificare il servizio Rocket.Chat usando il seguente comando:

systemctl status rocketchat

Dovresti ottenere il seguente output:

Passaggio 7:imposta un proxy inverso con Nginx

Successivamente, dovrai installare e configurare Nginx come proxy inverso per inoltrare le richieste client in arrivo sulla porta 3000 alla porta Nginx 80.

Innanzitutto, installa il server web Nginx con il seguente comando:

apt-get install nginx -y

Quindi, crea un file di configurazione dell'host virtuale Nginx con il seguente comando:

nano /etc/nginx/sites-available/rocket

Aggiungi le seguenti righe:

server {
  listen 80;

  server_name    node1.example.com;
  access_log /var/log/nginx/rocket-access.log;
  error_log /var/log/nginx/rocket-error.log;

  location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:3000/;
  }
}

Salva e chiudi il file quando hai finito. Quindi, abilita l'host virtuale con il seguente comando:

ln -s /etc/nginx/sites-available/rocket /etc/nginx/sites-enabled/

Infine, riavvia il servizio Nginx per applicare le modifiche alla configurazione:

systemctl restart nginx

Fase 8:accedi all'interfaccia web di Rocket.Chat

Ora apri il tuo browser web e vai all'URL http://node1.example.com. Verrai reindirizzato alla configurazione guidata di Rocket.Chat:

Fornisci il tuo nome utente amministratore, email, password e fai clic su Continua pulsante. Dovresti vedere la seguente pagina:

Successivamente, fornisci le informazioni sulla tua organizzazione e fai clic su Continua pulsante. Dovresti vedere la seguente pagina:

Quindi, fornisci le informazioni sul tuo server e fai clic su Continua pulsante. Dovresti vedere la seguente pagina:

Quindi, utilizza i gateway e i proxy preconfigurati di Rocket.Chat e fai clic su Continua pulsante. Dovresti vedere la seguente pagina:

Ora, fai clic su Vai al tuo spazio di lavoro pulsante. Verrai reindirizzato alla dashboard predefinita di Rocket.Chat:

Conclusione

Congratulazioni! Hai installato e configurato correttamente il server Rocket.Chat con Nginx come proxy inverso su Ubuntu 18.04 VPS. Puoi visitare il documento Rocket.Chat per conoscere il nuovo sistema di chat. Inizia oggi stesso con Rocket.Chat su un VPS Atlantic.Net!


Linux
  1. Come distribuire Rocket.Chat su Ubuntu 18.04

  2. Come distribuire Modsecurity con Nginx su Ubuntu 20.04 LTS

  3. Come installare Rocket.Chat su Ubuntu 16.04

  4. Come installare Rocket.Chat su Ubuntu 18.04

  5. Come installare e configurare lo stack MERN con Nginx su Ubuntu 20.04

Come distribuire Ghost Blog con Nginx su Ubuntu 20.04

Come installare Rocket Chat su Ubuntu 16.04 con Docker

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

Come installare il software CodoForum su Ubuntu con Nginx

Come configurare un server Seafile con Nginx su Ubuntu 18.04

Come distribuire l'applicazione Laravel con Nginx su Ubuntu?