Let Chat este o aplicație de chat open source concepută pentru a oferi un serviciu de mesagerie auto-găzduit pentru echipe mici.
Let Chat este bazat pe NodeJS și MongoDB. În acest articol, vom arunca o privire asupra modului de a implementa Let’s Chat pe o secțiune CentOS 7.
Cerințe preliminare
- O instanță de server CentOS 7 cu cel puțin 2G RAM. 4G RAM recomandat.
- Un utilizator sudo .
Pasul 1: Actualizați sistemul
Când vă conectați la sistemul dvs. pentru prima dată, este necesar să efectuați o actualizare la nivel de sistem, după cum urmează:
sudo yum install epel-release -y
sudo yum clean all && sudo yum update -y && sudo shutdown -r now
După repornire, conectați-vă înapoi ca același utilizator sudo.
Pasul 2: Instalează NodeJS
Instalați cel mai recent NodeJS 6.x după cum urmează, care este 6.9.5la momentul scrierii:
cd
curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo yum install -y nodejs
Pasul 3: Instalează MongoDB
Instalați cel mai recent MongoDB după cum urmează, care este 3.4la momentul în care a fost scris acest articol.
3.1 Creați repoziția MongoDB 3.4 YUM după cum urmează:
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 Instalați și porniți cea mai recentă versiune stabilă a MongoDB Server, care este 3.4.1la momentul în care a fost scris acest articol:
sudo yum install -y mongodb-org
sudo systemctl start mongod.service
sudo systemctl enable mongod.service
Pasul 4: Instalați Let Chat
sudo yum install git -y
cd /opt
sudo git clone https://github.com/sdelements/lets-chat.git
cd lets-chat
sudo npm install
Notă: Este normal să vedeți mai multe npm WARN ...mesaje în timpul instalării. Doar ignoră-le.
Pasul 5 (opțional): creați settings.ymlfișierul
Dacă doriți să personalizați Let Chat, puteți crea un fișier numit /opt/lets-chat/settings.ymlși apoi puneți setările personalizate în el:
sudo cp settings.yml.sample settings.yml
În scopul acestui tutorial, vom folosi setările implicite din fișierul cu setări de exemple.
Pasul 6: Instalează Forever
Puteți începe Let Chat din /opt/lets-chatdirector:
cd /opt/lets-chat
npm start
Produsul ar trebui să semene cu:
> [email protected] start /opt/lets-chat
> node app.js
██╗ ███████╗████████╗███████╗ ██████╗██╗ ██╗ █████╗ ████████╗
██║ ██╔════╝╚══██╔══╝██╔════╝ ██╔════╝██║ ██║██╔══██╗╚══██╔══╝
██║ █████╗ ██║ ███████╗ ██║ ███████║███████║ ██║
██║ ██╔══╝ ██║ ╚════██║ ██║ ██╔══██║██╔══██║ ██║
███████╗███████╗ ██║ ███████║ ╚██████╗██║ ██║██║ ██║ ██║
╚══════╝╚══════╝ ╚═╝ ╚══════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝
Release 0.4.8
Pentru a menține în funcțiune aplicația Let Chat, apăsăm mai Ctrl-Cîntâi pentru a ieși și apoi instalăm o aplicație numită forevercare să ne asigurăm că se va întâmpla:
sudo npm install forever -g
Folosiți foreveraplicația pentru a porni Let Chat:
cd /opt/lets-chat
forever start app.js
După ce Let Chat începe să funcționeze, îl puteți accesa local prin:
http://localhost:5000
Puteți testa instalarea cu comanda de mai jos:
curl -I http://localhost:5000
Producția ar trebui să fie similară cu:
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
Pasul 7: Instalați Nginx ca proxy invers
Pentru a activa accesul web extern, trebuie să configurați un proxy invers, Nginx, de exemplu, pentru a redirecționa traficul.
7.1 Instalați Nginx:
sudo yum install nginx -y
7.2 Modificați setările Nginx:
sudo vi /etc/nginx/nginx.conf
Găsiți location / {}segmentul în cadrul http {}segmentului:
http {
location / {
}
}
Introduceți liniile de mai jos în location / {}segment:
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;
Rezultatul final ar trebui să fie:
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;
}
}
Salvează și închide:
:wq!
7.3 Porniți serviciul Nginx:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
7.4 Modificați regulile firewallului pentru a permite accesul la web:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Pasul 8: Acces web
Indicați browserul dvs. web pentru http://203.0.113.1a accesa Let’s Chat, apoi faceți clic pe I need an accountlinkul pentru a înregistra un nume de utilizator pentru conectare.
Asta e. Mulțumesc pentru citit.