GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Rocket.Chat Server con Nginx su Ubuntu 16.04

Rocket.Chat è una soluzione di chat online gratuita e open source per la comunicazione di squadra, che ti consente di creare il tuo gioco come la chat online. Rocket.Chat è basato su Javascript, sviluppato utilizzando il framework full stack Meteor. Rocket.Chat è un'ottima soluzione per le aziende che desiderano creare la propria piattaforma di chat privata.

In questo tutorial, ti mostrerò come creare il tuo server di chat usando Rocket.Chat. Userò l'ultimo server Ubuntu LTS 16.04 per l'installazione e Nginx come proxy inverso per l'applicazione Rocket.Chat.

Prerequisito

  • Ubuntu 16.04
  • privilegi radice

Passaggio 1:installazione delle dipendenze Rocket.Chat

Accedi al server usando ssh (o il terminale) e digita 'sudo su' per ottenere l'accesso come root:

ssh [email protected]
sudo su

Aggiorna il repository di Ubuntu:

apt-get update

Quindi, installa i nuovi pacchetti necessari a Rocket.Chat:

apt-get install curl graphicsmagick build-essential

Passaggio 2:installa MongoDB

Rocket.Chat richiede MongoDB per l'installazione. In questo passaggio, installeremo MongoDB 3.2 dal repository MongoDB.

Aggiungi il server delle chiavi MongoDB in modo da poter accedere ai pacchetti:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

Quindi aggiungi il repository MongoDB con il comando seguente:

echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

Aggiorna il repository e installa MongoDB con il comando apt:

apt-get update
apt-get install mongodb-org

Aggiungi MongoDB da eseguire all'avvio e avvialo:

systemctl enable mongod
systemctl start mongod

MongoDB è stato avviato sulla porta 27017.

Passaggio 3:configurazione di MongoDB ReplicaSet

Per migliorare le prestazioni, Rocket.Chat utilizza un MongoDB ReplicaSet. In questo passaggio, configureremo un semplice MongoDB ReplicaSet modificando il file di configurazione di MongoDB.

Modifica il file mongod.conf con vim:

vim /etc/mongod.conf

Aggiungi un "#" all'inizio della riga 24 per disabilitare MongoDB in esecuzione solo sull'IP localhost.

net:
    port: 27017
    #bindIp: 127.0.0.1

Aggiungi la configurazione ReplicaSet di seguito alla riga 34.

#replication:                                                               
replication:                                                               
   oplogSizeMB: 1                                                          
   replSetName: rs0

Salva ed esci.

Riavvia il servizio MongoDB:

systemctl restart mongod

Quindi, avvia la shell MongoDB e avvia ReplicaSet:

export LC_ALL=C
mongo
rs.initiate()

Avvia risultati:

{
  "info2" : "no configuration specified. Using a default configuration for the set",
  "me" : "nyanko-sensei:27017",
  "ok" : 1
}

Assicurati che 'ok ' il valore è 1 . Se il risultato è un altro numero, significa che qualcosa non va.

Fase 4 - Installa npm e nodejs

In questo passaggio, installeremo nodejs e npm dal repository di Ubuntu. Quindi installeremo il pacchetto n con il comando npm per ottenere una versione specifica di nodejs. L'ultima versione di Rocket.Chat richiede nodejs 4.5.

Installa nodejs e npm dal repository di Ubuntu:

apt-get install nodejs npm

Quindi installa il pacchetto n globalmente sul sistema con il comando npm:

npm install -g n

Usa il comando n per scaricare e impostare nodejs versione 4.5.

sudo n 4.5

Infine, controlla la versione di nodejs:

node --version
npm -v

Passaggio 5 - Installa il server Rocket.Chat

Installeremo Rocket.Chat (ultima versione) nella directory /var/www/.

Scarica l'ultima versione di Rocket.Chat ed estraila:

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

Crea una nuova directory /var/www/ e rinomina la directory del bundle in "Rocket.Chat", quindi spostala:

mkdir -p /var/www/
mv bundle Rocket.Chat
mv Rocket.Chat /var/www/

Vai alla directory Rocket.Chat, imposta alcune variabili d'ambiente richieste e avvia il server Rocket.Chat.

cd /var/www/Rocket.Chat/
cd programs/server/
npm install

cd ../../
export ROOT_URL=http://192.168.1.110:3000/
export MONGO_URL=mongodb://nyanko-sensei:27017/rocketchat?replicaSet=rs0
export PORT=3000
node main.js

Rocket.Chat è installato, apri il tuo browser web e visita l'indirizzo IP del server sulla porta 3000. - 192.168.1.110:3000.

Passaggio 6:installa e configura Nginx come proxy inverso per Rocket.Chat

Nel passaggio 5, abbiamo installato Rocket.Chat come applicazione autonoma. In questo tutorial, eseguiremo Rocket.Chat dietro il server web Nginx su connessioni https per ottenere una configurazione sicura e veloce.

Installa Nginx con il comando apt:

apt-get install nginx

Crea una nuova directory SSL:

mkdir -p /etc/nginx/ssl/
cd /etc/nginx/ssl/

Genera il file del certificato SSL e modifica l'autorizzazione del file della chiave:

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/rocket-chat.crt -keyout /etc/nginx/ssl/rocket-chat.key
chmod 400 rocket-chat.key

Quindi, crea un nuovo file host virtuale di Rocket-chat nella directory dei siti disponibili.

cd /etc/nginx/sites-available/
vim rocket-chat

Incolla la nuova configurazione dell'host virtuale di seguito:

# Upstreams
upstream backend {
    server 127.0.0.1:3000;
}

# Redirect Options
server {
  listen 80;
  server_name rocket-chat.co;
  # enforce https
  return 301 https://$server_name$request_uri;
}

# HTTPS Server
server {
    listen 443;
    server_name rocket-chat.co;

    error_log /var/log/nginx/rocketchat.access.log;

    ssl on;
    ssl_certificate /etc/nginx/ssl/rocket-chat.crt;
    ssl_certificate_key /etc/nginx/ssl/rocket-chat.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # dont use SSLv3 ref: POODLE

    location / {
        proxy_pass http://192.168.1.110:3000/;
        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;
    }
}

Salva ed esci.

Eseguirò Rocket.Chat con il nuovo nome di dominio "rocket-chat.co". Utilizza il tuo nome di dominio e sostituiscilo nei file di configurazione ovunque appaia.

Attiva l'host virtuale Rocket.Chat e testa il file di configurazione:

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

Assicurati che non ci siano messaggi di errore.

Riavvia il server web Nginx:

systemctl restart nginx

Passaggio 7:test di Rocket.Chat

Nginx è stato configurato come proxy inverso per il server Rocket.Chat e dobbiamo aggiornare le variabili di ambiente per eseguire Rocket.Chat ora.

Esegui Rocket.Chat con le nuove variabili di seguito:

cd /var/www/Rocket.Chat/
export ROOT_URL=https://rocket-chat.co
export MONGO_URL=mongodb://nyanko-sensei:27017/rocketchat?replicaSet=rs0
export PORT=3000
node main.js

Nel tuo browser web, apri l'URL:rocket-chat.co (o il tuo nome di dominio personalizzato) - verrai reindirizzato alla connessione https.

Crea il tuo primo account amministratore facendo clic su 'Registra un nuovo account' collegamento.

Inserisci il tuo nome, email e password, quindi fai clic su 'REGISTRA UN NUOVO ACCOUNT '.

Conferma per utilizzare il nuovo 'SITE-URL' con il nome di dominio. Fai clic su " '.

Registra il nome utente, fai clic su 'UTILIZZA QUESTO NOME UTENTE '.

L'utente amministratore è stato creato ed ecco la dashboard di Rocket.Chat. Puoi iniziare a chattare e creare il tuo canale per il tuo team.

Rocket.Chat è stato installato con il server web Nginx su Ubuntu 16.04.

Risultati dopo aver utilizzato le nuove variabili di ambiente:


Ubuntu
  1. Come installare Nginx su Ubuntu 20.04

  2. Come installare il server HTTP Git con Nginx su Ubuntu 16.04

  3. Come installare HTTP Git Server con Nginx su Ubuntu 20.04

  4. Come installare Rocket.Chat su Ubuntu 16.04

  5. Come installare Rocket.Chat su Ubuntu 18.04

Come installare FileRun su Ubuntu 20.04 con Apache/Nginx

Come installare InvoiceNinja su Ubuntu 18.04 Server con Apache/Nginx

Come installare InvoiceNinja su Ubuntu 20.04 Server con Apache/Nginx

Come installare Nginx su Ubuntu

Come installare LetsEncrypt con Nginx su Ubuntu 15.04

Come distribuire Rocket Chat con Nginx su Ubuntu 18.04