CentOS we Debian esasly ulgamlarda Lets Chat-y nädip gurmaly


Geliň, söhbet az we kiçi toparlar üçin döredilen erkin we açyk çeşme, özbaşdak ýerleşdirilen söhbet programmasy. Aýratynlyklara baý; Node.js ulanyp gurlan we programma maglumatlaryny saklamak üçin MongoDB ulanýar.

  • Dowamly habarlary goldaýar
  • Birnäçe otagy goldaýar
  • /erli/Kerberos/LDAP tassyklamasyny goldaýar
  • REST meňzeş API bilen gelýär
  • Hususy we parol bilen goralýan otaglary goldaýar
  • Täze habar duýduryşlary/habarnamalary goldaýar
  • Şeýle hem ýatlamalary goldaýar (heý @ tecmint/@ hemmesi)
  • Surat şekilleri/Giphy gözlegi üçin goldaw berýär
  • Kod goýmaga rugsat berýär
  • Faýl ýüklemeleri goldaýar (ýerli ýa-da Amazon S3 ýa-da Azure-den)
  • Şeýle hem, XMPP Köp ulanyjy söhbetini (MUC) we XMPP ulanyjylarynyň we başga-da köp adamyň arasynda 1-den 1-e çenli söhbetdeşligi goldaýar.

Möhümi, aşakdaky talaplara laýyk gelýän islendik ulgamda aňsatlyk bilen ýerleşdirilmegi maksat edinilýär.

  • Node.js (0.11+)
  • MongoDB (2.6+)
  • Python (2.7.x)

Bu makalada CentOS we Debian esasly ulgamlardaky kiçi toparlar üçin “Let Chat” habarlaşma programmasyny nädip gurmalydygyny we ulanmalydygyny düşündireris.

1-nji ädim: Ulgamy täzeläň

1. Ilki bilen aşakdaky ýaly zerur paketleri gurup, ulgamlaýyn täzelenmäni ýerine ýetiriň.

-------------- On CentOS/RHEL/Fedora -------------- 
$ sudo yum update && sudo yum upgrade

-------------- On Debian/Ubuntu -------------- 
$ sudo apt-get update && sudo apt-get -y upgrade
$ sudo apt-get install software-properties-common git build-essential

2. Ulgam täzelenmesini gutaranyňyzdan soň serweri täzeden açyň (Meýletin).

$ sudo reboot

2-nji ädim: Node.js gurmak

3. NodeJS-iň iň soňky wersiýasyny (ýagny ýazylanda 7.x wersiýasy) görkezilişi ýaly düwün ammaryny guruň.

-------------- On CentOS/RHEL/Fedora --------------
$ curl -sL https://rpm.nodesource.com/setup_7.x | sudo -E bash - 
$ sudo yum install nodejs

-------------- On Debian/Ubuntu -------------- 
$ curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
$ sudo apt install nodejs 

3-nji ädim: MongoDB serwerini gurmak

4. Ondan soň MongoDB jemgyýetçilik wersiýasyny gurmaly, ýöne YUM ammarynda ýok. Şonuň üçin aşakda düşündirilişi ýaly MongoDB ammaryny işletmeli.

$ 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

Indi MongoDB Serweriniň iň soňky wersiýasyny guruň we işe giriziň (ýagny 3.4).

$ sudo yum install mongodb-org
$ sudo systemctl start mongod.service
$ sudo systemctl enable mongod.service
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
$ echo 'deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse' | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
$ sudo apt-get update
$ sudo apt-get install -y mongodb-org
$ sudo systemctl start mongod.service
$ sudo systemctl enable mongod.service

4-nji ädim: Geliň, söhbet serwerini guruň

5. Ilki bilen “Geliň söhbet” ammaryny klonlamak we görkezilişi ýaly garaşlylygy gurmak üçin git guruň.

$ sudo yum install git		##RHEL/CentOS
$ sudo apt install git		##Debian/Ubuntu

$ cd /srv
$ sudo git clone https://github.com/sdelements/lets-chat.git 
$ cd lets-chat
$ sudo npm install

Bellik: Gurmak wagtynda ýokardaky çykyşdan npm WARN signallary adaty. Olary äsgermezlik ediň.

6. Gurmak gutaransoň, nusga faýlyndan programma konfigurasiýa faýlyny (/srv/lets-chat/settings.yml) dörediň we içindäki sazlamalaryňyzy kesgitläň:

$ sudo cp settings.yml.sample settings.yml

Mysal sazlamalary faýlyndan berlen deslapky sazlamalary ulanarys.

7. Ahyrynda söhbet edeliň.

$ npm start 

Geliň, “Chat Chat” daemonynyň işlemegini dowam etdirmek üçin, çykmak üçin Ctrl-C basalyň we ulgam ýüklemesinde işjeňleşdirmek üçin Systemd birlik faýly döredeliň.

5-nji ädim: Geliň, söhbet başlangyç faýly dörediň

8. Geliň, söhbet etmek üçin systemd birlik faýly dörediň.

$ sudo vi /etc/systemd/system/letschat.service

Aşakdaky birlik konfigurasiýasyny faýla göçüriň.

[Unit]
Description=Let's Chat Server
Wants=mongodb.service
After=network.target mongodb.service

[Service]
Type=simple
WorkingDirectory=/srv/lets-chat
ExecStart=/usr/bin/npm start
User=root
Group=root
Restart=always
RestartSec=9

[Install]
WantedBy=multi-user.target

9. Indi hyzmaty ortaça wagt başlaň we ulgam ýüklemesinde awtomatiki başlamaga mümkinçilik beriň.

$ sudo systemctl start letschat
$ sudo systemctl enable letschat
$ sudo systemctl status letschat

6-njy ädim: Geliň, web interfeýsine gireliň

10. Hemme zat ýerbe-ýer bolansoň, aşakdaky URL-de “Geliň söhbet edeliň” web interfeýsine girip bilersiňiz.

https://SERVER_IP:5000
OR
https://localhost:5000

11. Birini döretmek we zerur maglumatlary doldurmak üçin\Hasap gerek -e basyň we\Hasaba al düwmesine basyň.

Şeýle hem aşakdaky makalalary halap bilersiňiz:

  1. Linux-da buýruk söhbet serwerini döretmek üçin peýdaly buýruklar
  2. Linux-da\Açyk ot ulanyp, gyssagly habarlaşma/söhbet serwerini dörediň

Geliň, Github ammaryny söhbet edeliň: https://github.com/sdelements/lets-chat

Lezzet al! Indi ulgamyňyzda “Let Chat” programmasy guruldy. Islendik pikiriňizi biziň bilen paýlaşmak üçin aşakdaky seslenme formasyny ulanyň.