Sådan installeres en Lets Chat-server på CentOS 7

Let's Chat er en open source-chatapplikation, der er designet til at levere selvhostede beskedtjenester til små teams.

Let's Chat er baseret på NodeJS og MongoDB. I denne artikel tager vi et kig på, hvordan man implementerer Let's Chat på en CentOS 7-server.

Forudsætninger

  • En CentOS 7-serverinstans med mindst 2G RAM. 4G RAM anbefales.
  • En sudo-bruger .

Trin 1: Opdater systemet

Når du logger på dit system for første gang, er det nødvendigt at udføre en system-dækkende opdatering som følger:

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

Efter genstart skal du logge ind igen som den samme sudo-bruger.

Trin 2: Installer NodeJS

Installer den seneste NodeJS 6.x som følger, som er 6.9.5i skrivende stund:

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

Trin 3: Installer MongoDB

Installer den seneste MongoDB som følger, hvilket er 3.4på det tidspunkt, hvor denne artikel blev skrevet.

3.1 Opret MongoDB 3.4 YUM repo som følger:

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 Installer og start den seneste stabile udgivelse af MongoDB Server, som er 3.4.1på det tidspunkt, hvor denne artikel blev skrevet:

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

Trin 4: Installer 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

Bemærk: Det er normalt at se flere npm WARN ...meddelelser under installationen. Bare ignorer dem.

Trin 5 (valgfrit): Opret settings.ymlfilen

Hvis du vil tilpasse Let's Chat, kan du oprette en fil med navnet /opt/lets-chat/settings.ymlog derefter lægge dine brugerdefinerede indstillinger i den:

sudo cp settings.yml.sample settings.yml

Til formålet med denne vejledning vil vi bruge standardindstillingerne fra prøveindstillingsfilen.

Trin 6: Installer Forever

Du kan starte Let's Chat fra /opt/lets-chatmappen:

cd /opt/lets-chat
npm start

Outputtet skal ligne:

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

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

Release 0.4.8

For at holde Let's Chat-applikationen kørende, lad os Ctrl-Cførst trykke for at afslutte og derefter installere en app med navnet, foreversom kan sikre, at det sker:

sudo npm install forever -g

Brug foreverapplikationen til at starte Let's Chat:

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

Når Let's Chat er startet op, kan du få adgang til det lokalt via:

http://localhost:5000

Du kan teste din installation med nedenstående kommando:

curl -I http://localhost:5000

Outputtet skal ligne:

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

Trin 7: Installer Nginx som en omvendt proxy

For at aktivere ekstern webadgang skal du konfigurere en omvendt proxy, for eksempel Nginx, for at omdirigere trafik.

7.1 Installer Nginx:

sudo yum install nginx -y

7.2 Rediger Nginx's indstillinger:

sudo vi /etc/nginx/nginx.conf

Find location / {}segmentet i http {}segmentet:

http {

    location / {
    }

}

Indsæt nedenstående linjer i location / {}segmentet:

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;

Det endelige resultat skulle være:

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;
}

}

Gem og luk:

:wq!

7.3 Start Nginx-tjenesten:

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

7.4 Rediger firewallregler for at tillade webadgang:

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

Trin 8: Webadgang

Peg din webbrowser til for http://203.0.113.1at få adgang til Let's Chat, og klik derefter på I need an accountlinket for at registrere et brugernavn til at logge ind.

Det er det. Tak fordi du læste med.

Efterlad en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere