Rocket.Chat è una soluzione di comunicazione di gruppo open source simile a Slack che può essere implementata sul tuo server. Con Rocket.Chat, puoi chattare con i membri del tuo team e gli amici tramite audio e video, interagire con i visitatori del sito Web in tempo reale, condividere file, trasmettere messaggi vocali e molto altro.
Prerequisiti
- Una nuova istanza del server Vultr Debian 9 con almeno 1G di memoria. Di 'che il suo indirizzo IP è
192.167.100.100.
- Un dominio che punta all'istanza del tuo server. Di 'che lo è
www.example.com.
Passaggio 1: aggiornare il sistema
Accedi come root e aggiorna il sistema all'ultimo stato stabile:
apt update
apt upgrade -y
shutdown -r now
Passaggio 2: installare MongoDB
Installa l'ultima versione stabile di MongoDB:
apt install mongodb
Passaggio 3: installare Node.js, GraphicsMagick, npm e altre dipendenze
Rocket.Chat 0.60 e versioni successive richiedono la versione 8.9.3 LTS di Node.js per funzionare. Quindi prima aggiungi il repository di distribuzioni binarie Debian di NodeSource:
curl -sL https://deb.nodesource.com/setup_8.x | bash -
Quindi possiamo installare Node.js e altri pacchetti:
apt install nodejs curl graphicsmagick -y
npm install -g n
Utilizzare nper installare Node.js versione 8.9.3:
n 8.9.3
Passaggio 4: installare Rocket.Chat
Scarica e installa Rocket.Chat:
cd /opt
curl -L https://rocket.chat/releases/latest/download -o rocket.chat.tgz
tar -zxvf rocket.chat.tgz
mv bundle Rocket.Chat
cd Rocket.Chat/programs/server
npm install
Per comodità, è necessario creare l'unità di servizio del sistema RocketChat:
nano /etc/systemd/system/rocketchat.service
Popolare il file. Assicurati di sostituire il dominio www.example.comcon il tuo:
[Unit]
Description=RocketChat Server
After=network.target remote-fs.target nss-lookup.target mongod.target nginx.target # Remove or Replace nginx with your proxy
[Service]
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js # Specify the location of node and location of main.js
Restart=always # If set to always, the service will be restarted regardless of whether it exited cleanly or not, got terminated abnormally by a signal, or hit a timeout.
RestartSec=10 # Restart service after 10 seconds if node service crashes
StandardOutput=syslog # Output to syslog
StandardError=syslog # Output to syslog
SyslogIdentifier=nodejs-example
#User=<alternate user>
#Group=<alternate group>
Environment=NODE_ENV=production PORT=3000 ROOT_URL=https://www.example.com MONGO_URL=mongodb://localhost:27017/rocketchat
[Install]
WantedBy=multi-user.target
Nota : in PORT, è possibile sostituire 3000con il numero di porta desiderato. In ROOT_URL, puoi sostituirlo www.example.comcon l'indirizzo IP del tuo server 192.168.100.100, se il tuo dominio non è disponibile.
Salvare e uscire, CTRL+ X, Y.
Avviare il servizio MongoDB:
systemctl start mongodb
Avvia il servizio Rocket.Chat:
systemctl start rocketchat
Passaggio 5: accedi a Rocket.Chat nel browser web
Puntare il browser Web http://www.example.com:3000e quindi registrare il primo utente per l'amministrazione. Per impostazione predefinita, solo il primo utente otterrà i privilegi di amministratore.