Come distribuire un server di chat su CentOS 7

Let's Chat è un'applicazione di chat open source progettata per fornire un servizio di messaggistica self-hosted per piccoli team.

Let's Chat si basa su NodeJS e MongoDB. In questo articolo, daremo un'occhiata a come distribuire Let's Chat su un server CentOS 7.

Prerequisiti

  • Un'istanza del server CentOS 7 con almeno 2G RAM. 4G RAM consigliata.
  • Un utente sudo .

Passaggio 1: aggiornare il sistema

Quando si accede al sistema per la prima volta, è necessario eseguire un aggiornamento a livello di sistema come segue:

sudo yum install epel-release -y
sudo yum clean all && sudo yum update -y && sudo shutdown -r now

Dopo il riavvio, accedere nuovamente come lo stesso utente sudo.

Passaggio 2: installare NodeJS

Installare l'ultimo NodeJS 6.x come segue, che è 6.9.5al momento della scrittura:

cd
curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo yum install -y nodejs

Passaggio 3: installare MongoDB

Installa l'ultimo MongoDB come segue, che è 3.4al momento in cui questo articolo è stato scritto.

3.1 Creare il repository MongoDB 3.4 YUM come segue:

cat <<EOF | sudo tee -a /etc/yum.repos.d/mongodb-org-3.4.repo
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
EOF

3.2 Installare e avviare l'ultima versione stabile del server MongoDB, che è 3.4.1al momento in cui è stato scritto questo articolo:

sudo yum install -y mongodb-org
sudo systemctl start mongod.service
sudo systemctl enable mongod.service

Passaggio 4: installa Let's Chat

sudo yum install git -y
cd /opt
sudo git clone https://github.com/sdelements/lets-chat.git
cd lets-chat
sudo npm install

Nota: è normale vedere più npm WARN ...messaggi durante l'installazione. Ignorali e basta.

Passaggio 5 (facoltativo): creare il settings.ymlfile

Se vuoi personalizzare Let's Chat, puoi creare un file chiamato /opt/lets-chat/settings.ymle quindi inserire le tue impostazioni personalizzate:

sudo cp settings.yml.sample settings.yml

Ai fini di questa esercitazione, utilizzeremo le impostazioni predefinite dal file delle impostazioni di esempio.

Passaggio 6: installare per sempre

Puoi avviare Let's Chat dalla /opt/lets-chatdirectory:

cd /opt/lets-chat
npm start

L'output dovrebbe assomigliare a:

> lets-chat@0.4.8 start /opt/lets-chat
> node app.js

██╗     ███████╗████████╗███████╗     ██████╗██╗  ██╗ █████╗ ████████╗
██║     ██╔════╝╚══██╔══╝██╔════╝    ██╔════╝██║  ██║██╔══██╗╚══██╔══╝
██║     █████╗     ██║   ███████╗    ██║     ███████║███████║   ██║
██║     ██╔══╝     ██║   ╚════██║    ██║     ██╔══██║██╔══██║   ██║
███████╗███████╗   ██║   ███████║    ╚██████╗██║  ██║██║  ██║   ██║
╚══════╝╚══════╝   ╚═╝   ╚══════╝     ╚═════╝╚═╝  ╚═╝╚═╝  ╚═╝   ╚═╝

Release 0.4.8

Per mantenere attiva l'applicazione Let's Chat, premiamo Ctrl-Cprima di uscire e quindi installiamo un'app denominata foreverche può garantire che ciò accada:

sudo npm install forever -g

Utilizza l' foreverapplicazione per avviare Let's Chat:

cd /opt/lets-chat
forever start app.js

Dopo che Let's Chat è attivo e funzionante, puoi accedervi localmente tramite:

http://localhost:5000

Puoi testare la tua installazione con il comando seguente:

curl -I http://localhost:5000

L'output dovrebbe essere simile a:

HTTP/1.1 302 Found
X-Frame-Options: SAMEORIGIN
X-Download-Options: noopen
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Content-Security-Policy:
X-Content-Security-Policy:
X-WebKit-CSP:
X-UA-Compatible: IE=Edge,chrome=1
Location: /login
Vary: Accept, Accept-Encoding
Content-Type: text/plain; charset=utf-8
Content-Length: 28
set-cookie: connect.sid=s%3A0YTFL6Un5G7iMc3zt8i-vlIh2YDQqTZ3.1dVZFG3VWmwd%2FXXXJiuyWSQ4k432MVvxm7xrgJGIej4; Path=/; HttpOnly
Date: Wed, 01 Feb 2017 11:30:03 GMT
Connection: keep-alive

Passaggio 7: installare Nginx come proxy inverso

Per abilitare l'accesso al web esterno, è necessario impostare un proxy inverso, ad esempio Nginx, per reindirizzare il traffico.

7.1 Installa Nginx:

sudo yum install nginx -y

7.2 Modifica delle impostazioni di Nginx:

sudo vi /etc/nginx/nginx.conf

Trova il location / {}segmento all'interno del http {}segmento:

http {

    location / {
    }

}

Inserisci le seguenti righe nel location / {}segmento:

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_cache_bypass $http_upgrade;
proxy_pass http://127.0.0.1:5000;

Il risultato finale dovrebbe essere:

http {

location / {
    proxy_pass http://127.0.0.1:5000;
      proxy_http_version 1.1;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $host;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection 'upgrade';
      proxy_cache_bypass $http_upgrade;
}

}

Salva ed esci:

:wq!

7.3 Avviare il servizio Nginx:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

7.4 Modifica delle regole del firewall per consentire l'accesso al web:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

Passaggio 8: accesso al Web

Puntare il browser Web http://203.0.113.1per accedere a Let's Chat, quindi fare clic sul I need an accountcollegamento per registrare un nome utente per l'accesso.

Questo è tutto. Grazie per aver letto.

Lascia un commento

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.