GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come distribuire Rocket.Chat su Ubuntu 18.04

Rocket.Chat è una piattaforma di comunicazione di squadra open source, un'alternativa Slack self-hosted. È sviluppato utilizzando il framework Meteor e fornisce varie funzionalità tra cui chat di helpdesk, condivisione di file, videoconferenze, messaggi vocali, API e altro.

Rocket.Chat è una soluzione perfetta per le aziende e le comunità che desiderano ospitare il proprio sistema di chat.

In questo tutorial, ti mostreremo come distribuire Rocket.Chat su un server Ubuntu 18.04 e configurare Nginx come proxy inverso SSL.

Prerequisiti #

Prima di procedere con questo tutorial, assicurati di avere i seguenti prerequisiti.

  • Server Ubuntu 18.04. Secondo i requisiti di sistema ufficiali di Rocket.Chat è necessario almeno 1G di RAM.
  • Un nome di dominio che punta all'indirizzo IP del tuo server. Useremo chat.example.com .
  • Nginx installato, seguendo questo tutorial.
  • Hai un certificato SSL installato per il tuo dominio. Puoi generare un certificato SSL Let's Encrypt gratuito seguendo questo tutorial.

Installazione di Node.js #

Inizia aggiornando l'elenco dei pacchetti di sistema:

sudo apt update

Installa Node.js, npm e tutte le altre dipendenze necessarie per la creazione di pacchetti npm dal sorgente:

sudo apt install nodejs npm build-essential curl software-properties-common graphicsmagick

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

Useremo n , un pacchetto npm che ci consente di gestire in modo interattivo le versioni di Node.js.

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

sudo npm install -g inherits nsudo n 8.11.3

Installazione di MongoDB #

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

Installeremo MongoDB dai repository MongoDB ufficiali.

Importa la chiave pubblica MongoDB e abilita il repository MongoDB ufficiale con il seguente comando:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'

Una volta abilitato il repository apt, aggiorna l'elenco dei pacchetti e installa MongoDB digitando:

sudo apt updatesudo apt 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 #

Per creare un nuovo utente e gruppo denominato rocket , che eseguirà l'istanza Rocket.Chat, digita:

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

Aggiungi i www-data utente nel nuovo gruppo utenti e cambia il /opt/rocket permessi di directory in modo che Nginx possa accedere all'installazione di Rocket.Chat:

sudo usermod -a -G rocket www-datasudo chmod 750 /opt/rocket

Installazione di Rocket.Chat #

Passa all'utenterocket :

sudo su - rocket

I seguenti comandi presuppongono che tu stia attualmente operando come utente 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 pacchetti npm richiesti:

cd Rocket.Chat/programs/servernpm install

Per testare la nostra installazione prima di creare un'unità systemd e configurare un proxy inverso con Nginx, imposteremo le variabili di ambiente richieste e avvieremo il server Rocket.Chat

export PORT=3000export ROOT_URL=http://0.0.0.0:3000/export MONGO_URL=mongodb://localhost:27017/rocketchat

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

Arresta il server Rocket.Chat con CTRL+C .

Torna al tuo utente sudo digitando exit e continua con i passaggi successivi.

Crea un'unità Systemd #

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

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

Incolla il seguente contenuto:

/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=https://chat.example.com PORT=3000
ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js

[Install]
WantedBy=multi-user.target

Notifica a systemd che abbiamo 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 digitando:

sudo systemctl status rocketchat
* rocketchat.service - Rocket.Chat server
   Loaded: loaded (/etc/systemd/system/rocketchat.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-11-07 14:36:24 PST; 5s ago
 Main PID: 12693 (node)
    Tasks: 10 (limit: 2319)
   CGroup: /system.slice/rocketchat.service
           `-12693 /usr/local/bin/node /opt/rocket/Rocket.Chat/main.js

Infine, abilita l'avvio automatico del servizio Rocket.Chat all'avvio con il seguente comando:

sudo systemctl enable rocketchat

Configura un proxy inverso con Nginx #

Se hai seguito le nostre istruzioni su come installare Nginx su Ubuntu 18.04 e come proteggere Nginx con Let's Encrypt su Ubuntu 18.04guide dovresti già avere Nginx installato e configurato con certificato SSL.

Ora dobbiamo creare un nuovo blocco server Nginx per l'installazione di Rocket.Chat.

Apri il tuo editor di testo e crea il seguente file:

sudo nano /etc/nginx/sites-available/chat.example.com.conf
/etc/nginx/sites-available/chat.example.com.conf
upstream rocketchat_backend {
  server 127.0.0.1:3000;
}

server {
    listen 80;
    server_name chat.example.com;

    include snippets/letsencrypt.conf;
    return 301 https://chat.example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name chat.example.com;

    ssl_certificate /etc/letsencrypt/live/chat.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/chat.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/chat.example.com/chain.pem;
    include snippets/ssl.conf;

    access_log /var/log/nginx/chat.example.com-access.log;
    error_log /var/log/nginx/chat.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;
    }
}

Abilita il nuovo blocco del server creando un collegamento simbolico dal file alla directory abilitati ai siti:

sudo ln -s /etc/nginx/sites-available/chat.example.com.conf /etc/nginx/sites-enabled/

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 altre funzionalità come le notifiche push funzioneranno immediatamente .

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.


Ubuntu
  1. Come eseguire l'aggiornamento a Ubuntu 20.04

  2. Come installare Let's Chat su Ubuntu 20.04?

  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 distribuire Mattermost su Ubuntu 20.04

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

Come installare Rocket.Chat su Ubuntu 16.04 LTS

Come installare Rocket.Chat su Ubuntu 20.04 LTS

Come distribuire un server TeamSpeak su Ubuntu 20.04

Come distribuire Rocket Chat con Nginx su Ubuntu 18.04