پێشەکی

با چات بکەین(Let’s Chat)، بەرنامەیەکی پەیام ناردنی ئازاد و سەرچاوە کراوە و بەردەوامە کە لەسەر Node.js و MongoDB کاردەکات. بۆ گرووپە بچووکەکان دیزاین کراوە کە کۆمەڵێک تایبەتمەندی دەوڵەمەند پێشکەش دەکەن وەک، ڕەسەنایەتی LDAP/Kerberos، API ی هاوشێوەی REST و پشتگیری XMPP ـیش دەکات. ئەم سیستەمە، دەتوانیت هەموو جۆرە نامەیەک بنێری و هەروەها چاتی گروپی بەرژەوەندی و ستیکەری دەنگ و ئیمۆجییش بدۆزیتەوە.

پێداویستی

  • ڕاژەکارێک کە ئوبونتو ٢٢.٠٤ بەکاردەهێنێت.
  • بەکارهێنەرێک بە ئاستی بەڕێوەبەر

دامەزراندنی Node.JS

پێش دەستپێکردن پێویستە “Node.js” لەسەر سێرڤەرەکەت دابمەزرێنیت. بۆ دامەزراندنی نوێترین وەشانی “Node.js”، پێویستە کۆگای “Node Source” زیاد بکەیت بۆ “APT”.
سەرەتا هەموو وابەستەییەکانی پێویست، بەم فرمانەی خوارەوە دامەزرێنە:

apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common -y

کاتێک هەموو وابەستەییەکان دامەزران، کۆگای “Node.js” زیاد بکە بۆ “APT”

curl -sL https://deb.nodesource.com/setup_18.x | bash -

کاتێک کۆگاکە زیاد کرا، دەتوانیت “Node.js” بەم فرمانەی خوارەوە دابمەزرێنیت:

apt-get install nodejs -y

دوای دامەزراندنی سەرکەوتوو، بەم فرمانەی خوارەوە وەشانی “Node.js” پشتڕاست بکەرەوە:

node -v

دەرئەنجامی فەرمانەکەی سەرەوە ئەم دەقەی خوارەوەیە کە ژمارە وشانە

v18.7.0

دامەزراندی بنکەدراوەیMongoDB

هەروەها پێویستت بە دامەزراندنی بنکەدراوەی MongoDB دەبێت لەسەر ڕاژەکەت.
سەرەتا پاکێجی libssl دابەزێنە بەم فرمانەی خوارەوە:

wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb

دواتر کلیلی “MongoDB GPG” و کۆگاکە زیاد بکە بە بەکارهێنانی ئەم فرمانەی خوارەوە:

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list

دواتر بەم فرمانەی خوارەوە حه‌شارگه(cache)کۆگاکە نوێ بکەرەوە:

apt update

کاتێک کۆگاکەت نوێکرایەوە، “MongoDB” دابمەزرێنە بە ئەم فرمانەی خوارەوە:

apt install -y mongodb-org

کاتێک پاکەتی”MongoDB” دامەزرا، خزمەتگوزاری “MongoDB” بەم فرمانەی خوارەوە دەست پێ بکە و چالاکی بکە:

systemctl start mongod
systemctl enable mongod

دەتوانیت بەم فرمانەی خوارەوە بار و دۆخی خزمەتگوزاری “MongoDB” بپشکنیت:

systemctl status mongod

ئەمە دەرنجامی فەرمانەکەی سەرەوەیە

? mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-07-31 04:00:08 UTC; 6s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 42274 (mongod)
     Memory: 61.1M
        CPU: 1.014s
     CGroup: /system.slice/mongod.service
             ??42274 /usr/bin/mongod --config /etc/mongod.conf

Jul 31 04:00:08 ubuntu2204 systemd[1]: Started MongoDB Database Server.

دامەزراندنی Let’s Chat

سەرەتا پێویستە نوێترین وەشانی “Let’s Chat” لە کۆگای “Github” دابەزێنیت. دەتوانن بەم فرمانە دایبەزێنن:

git clone https://github.com/sdelements/lets-chat.git

کاتێک دابەزاندنەکە تەواو بوو، دایرێکتۆرەکە بگۆڕە بۆ دایرێکتۆری دابەزێنراو(downloaded) و هەموو وابەستەییەکانی پێویست دامەزرێنە بە بەکارهێنانی ئەم فرمانەی خوارەوە:

cd lets-chat
npm install

دواتر، نموونەی فایلە ڕێکخستنەکە کۆپی بکە و ڕاژەکاری “Let’s Chat” بەم فرمانەی خوارەوە دەستپێبکە:

cp settings.yml.sample settings.yml
npm start

دەرئەنجام بەم شێوە دەبێت

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

(node:42373) DeprecationWarning: `open()` is deprecated in mongoose >= 4.11.0, use `openUri()` instead, or set the `useMongoClient` option if using `connect()` or `createConnection()`. See http://mongoosejs.com/docs/4.x/docs/connections.html#use-mongo-client
(Use `node --trace-deprecation ...` to show where the warning was created)

???     ?????????????????????????     ??????????  ??? ?????? ?????????
???     ?????????????????????????    ???????????  ????????????????????
???     ??????     ???   ????????    ???     ????????????????   ???   
???     ??????     ???   ????????    ???     ????????????????   ???   
????????????????   ???   ????????    ???????????  ??????  ???   ???   
????????????????   ???   ????????     ??????????  ??????  ???   ???

Release 0.4.8

بۆ وەستاندنی خزمەتگوزاری CTRL + C بکە.

فایلێکی خزمەتگوزاری Systemd دروست بکە بۆ Let’s Chat”

دواتر پێویستە فایلێکی خزمەتگوزاری “systemd” بۆ “Let’s Chat” دروست بکەیت. دەتوانیت بەم فرمانەی خوارەوە دروستی بکەیت:

nano /etc/systemd/system/letschat.service

ئەم دێڕانەی خوارەوە زیاد بکە:

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

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

[Install]
WantedBy=multi-user.target

فایلەکە پاشکەوت و دایبخە، پاشان بەم فرمانەی خوارەوە تارمایی-(daemon: له‌ سیسته‌می کارپێکردندا بۆ وێنه‌ له‌ یونیکس، به‌رنامه‌ یان ڕه‌وتێ که‌ له‌ به‌رچاوی به‌کارهێنه‌ر شاراوه‌یه‌ و ته‌نیا له‌ کاتی پێویستدا، به‌شێوه‌ی خۆکار، بار ده‌بێ و هه‌ندێ له‌ کاره‌ سیسته‌مییه‌کان و هی تر جێبه‌جێ ده‌کا و دوایی دیسانه‌وه‌ خۆی حه‌شار ده‌داته‌وه‌؛فەرهەنگی ئایتی زانستپەروەرانی کورد)- “systemd” دووبارە باربکەرەوە:

systemctl daemon-reload

دواتر بەم فرمانەی خوارەوە خزمەتگوزاری “Let’s Chat” دەست پێ بکە و چالاک بکە:

systemctl start letschat
systemctl enable letschat

دواتر بەم فرمانەی خوارەوە دۆخی “Let’s Chat” بپشکنە:

systemctl status letschat

پێویستە ئەم دەرچوونەی خوارەوە ببینیت:

? letschat.service - Let's Chat Server
     Loaded: loaded (/etc/systemd/system/letschat.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-07-31 04:02:34 UTC; 4s ago
   Main PID: 42429 (npm start)
      Tasks: 23 (limit: 2242)
     Memory: 157.9M
        CPU: 4.457s
     CGroup: /system.slice/letschat.service
             ??42429 "npm start" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
             ??42440 sh /tmp/start-b5e830e4.sh
             ??42441 letschat "" "" ""

Jul 31 04:02:34 ubuntu2204 npm[42429]: > node app.js
Jul 31 04:02:38 ubuntu2204 npm[42441]: (node:42441) DeprecationWarning: `open()` is deprecated in mongoose >= 4.11.0, use `openUri()` instead>
Jul 31 04:02:38 ubuntu2204 npm[42441]: (Use `node --trace-deprecation ...` to show where the warning was created)
Jul 31 04:02:38 ubuntu2204 npm[42441]: ???     ?????????????????????????     ??????????  ??? ?????? ?????????
Jul 31 04:02:38 ubuntu2204 npm[42441]: ???     ?????????????????????????    ???????????  ????????????????????
Jul 31 04:02:38 ubuntu2204 npm[42441]: ???     ??????     ???   ????????    ???     ????????????????   ???
Jul 31 04:02:38 ubuntu2204 npm[42441]: ???     ??????     ???   ????????    ???     ????????????????   ???
Jul 31 04:02:38 ubuntu2204 npm[42441]: ????????????????   ???   ????????    ???????????  ??????  ???   ???
Jul 31 04:02:38 ubuntu2204 npm[42441]: ????????????????   ???   ????????     ??????????  ??????  ???   ???
Jul 31 04:02:38 ubuntu2204 npm[42441]: Release 0.4.8

لەم خاڵەدا خزمەتگوزاری “Let’s Chat” دەست پێدەکات و لە دەروازەی 5000 گوێ دەگرێت، دەتوانیت بەم فرمانەی خوارەوە پشکنین بکەیت:

ss -antpl | grep 5000

پێویستە ئەم دەرچوونەی خوارەوە ببینیت:

LISTEN 0      511        127.0.0.1:5000       0.0.0.0:*    users:(("letschat",pid=42441,fd=20))   

Nginx ڕێکبخە بۆ Let’s Chat

دواتر پێویستە “Nginx” وەک پرۆکسی پێچەوانە(reverse proxy) بۆ “Let’s Chat” دابمەزرێنیت و ڕێکبخەیت. بۆیە دەتوانیت لە ڕێگەی دەروازەی ٨٠ەوە بچیتە ناو “Let’s Chat” ەوە.
سەرەتا پاکێجی سێرڤەری “Nginx” بەم فرمانەی خوارەوە دامەزرێنە:

apt install nginx -y

دواتر، فایلێکی ڕێکخستنی ڕاژەیێکی خەیاڵی “Nginx” دروست بکە:

nano /etc/nginx/conf.d/letschat.conf

ئەم ڕێکخستنانەی خوارەوە زیاد بکە:

server {
server_name letschat.example.com;
listen 80;

access_log /var/log/nginx/lets_chat-access.log;
error_log /var/log/nginx/lets_chat-error.log;

location / {
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;
}

}

فایلەکە هەڵبگرە و دایبخە، پاشان “Nginx” پشتڕاست بکەرەوە بۆ هەر هەڵەیەکی ڕستەسازی:

nginx -t

پێویستە ئەم دەرچوونەی خوارەوە ببینیت:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

لە کۆتاییدا، خزمەتگوزاری “Nginx” دووبارە دەستپێبکەرەوە بۆ جێبەجێکردنی گۆڕانکارییەکانی ڕێکخستن:

systemctl restart nginx

هەروەها دەتوانیت بە بەکارهێنانی ئەم فرمانەی خوارەوە دۆخی “Nginx” بپشکنیت:

systemctl status nginx

پێویستە دۆخی “Nginx” لەم دەرچوونەی خوارەوەدا ببینیت:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-07-31 04:04:23 UTC; 5s ago
       Docs: man:nginx(8)
    Process: 43193 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 43194 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 43195 (nginx)
      Tasks: 2 (limit: 2242)
     Memory: 2.5M
        CPU: 35ms
     CGroup: /system.slice/nginx.service
             ??43195 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ??43196 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Jul 31 04:04:23 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 31 04:04:23 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.

دەستڕاگەیشتن بە ڕووکاری وێبی “Let’s Chat”

ئێستا، وێبگەڕەکەت بکەرەوە و بە بەکارهێنانی (http://letschat.example.com) بچۆرە ناو ڕووکاری وێبی”Let’s Chat”.

بۆ دروستکردنی ئەکاونت پێویستە کلیک لەسەر دوگمەی “I need an account” بکەیت. پێویستە ئەم لاپەڕەیەی خوارەوە ببینیت:

ناوی بەکارهێنەر و وشەی نهێنی و ئیمەیڵەکەت بنووسە و کرتە لە دوگمەی تۆمارکردن(Register) بکە. کاتێک بە سەرکەوتوویی ناوت تۆمار کرد، پێویستە ئەم پەڕەی خوارەوەت دەست بکەوێت:

کلیک لەسەر دوگمەی OK بکە. تۆ ئاڕاستە دەکرێیتەوە بۆ شاشەی چوونەژوورەوەی “Let’s Chat”:

ناوی بەکارهێنەر و وشەی نهێنی “Let’s Chat” دابین بکە، و کرتە لە دوگمەی چوونەژوورەوە (Sign In) بکە. پێویستە لەم شاشەیەی خوارەوە داشبۆردەکەی “Let’s Chat” ببینیت:


قەزوان
ژمارەی بابەتەکان: 192

شارەزا لە بواری پێچانەوەی جگەرەی تووتن و پەڕ؛







linux.krd/?p=3042

QR Code For:  دامەزراندنی ڕاژەکاری چات(ده‌مه‌ته‌قێ)

دامەزراندنی تەختەی Hestia لە سەر دێبیان ١١
2022/08/29

دامەزراندنی ڕاژەیێک بۆ بەڕێوەبردنی کتێبە دیجیتاڵیەکان
2022/08/07

دامەزراندنی ڕاژەکاری LLMP لە ئوبونتو٢٠.٠٤
2022/07/11

چۆنیەتی دامەزراندنی ئاپاچی سۆلر
2022/06/14

دامەزراندنی جوملا لە سەر ویندۆز ١١
2021/08/15

دامەزراندنیLAMP لەسەر ویندۆز١١
2021/08/14

دامەزراندنیNextcloudلەسەر ویندۆز١١
2021/08/06

دامەزراندنی بنکەدراوی CouchDB لەسەر ئوبونتوی ۲۱.۰٤
2021/01/15

دامەزراندنی سیستەمی DokuWiki لە سەر CentOS 8
2020/02/17

دامەزراندنی ڕاژەی خۆماڵی Gitea بە جیاتی Git
2020/01/21

دامەزراندنی(Ntop)بۆ مانیتۆرینگی تۆڕ بۆ ئوبونتو ١٨ و ١٦
2020/01/08

دامەزراندنی ڕاژەیPostgreSQL لە ئوبونتوی ١٦-١٨
2019/02/05

دامەزراندنی درووپاڵ لە سەر ڕاژەی ئوبونتو
2018/10/16

ئاسایشی Apache2 بە دامەزراندنی Let’s Encrypt لە سەر ئوبونتو
2018/10/14

دامەزراندنی وۆردپرێس لە سەر سێرڤێری ئوبونتو
2018/10/10


MariaDB nodjs ئوبونتو