كيفية نشر Lets Chat Server على CentOS 7

Let's Chat هو تطبيق دردشة مفتوح المصدر مصمم لتوفير خدمة الرسائل ذاتية الاستضافة للفرق الصغيرة.

ويستند Let's Chat على NodeJS و MongoDB. في هذه المقالة ، سنلقي نظرة على كيفية نشر Let's Chat على CentOS 7.

المتطلبات الأساسية

  • نسخة خادم CentOS 7 مع ذاكرة وصول عشوائي 2G على الأقل. أوصى 4G RAM.
  • A المستخدم سودو .

الخطوة 1: تحديث النظام

عند تسجيل الدخول إلى نظامك لأول مرة ، من الضروري إجراء تحديث على مستوى النظام على النحو التالي:

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

بعد إعادة التشغيل ، قم بتسجيل الدخول مرة أخرى بنفس اسم مستخدم sudo.

الخطوة 2: تثبيت NodeJS

قم بتثبيت أحدث NodeJS 6.x كما يلي ، وهو 6.9.5وقت كتابة هذا التقرير:

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

الخطوة 3: تثبيت MongoDB

قم بتثبيت أحدث MongoDB على النحو التالي ، وهو 3.4وقت كتابة هذا المقال.

3.1 إنشاء الريبو MongoDB 3.4 YUM على النحو التالي:

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 قم بتثبيت أحدث إصدار ثابت من خادم MongoDB ، وهو 3.4.1وقت كتابة هذا المقال:

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

الخطوة 4: تثبيت 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

ملاحظة: من الطبيعي رؤية العديد من npm WARN ...الرسائل أثناء التثبيت. تجاهلها.

الخطوة 5 (اختياري): قم بإنشاء settings.ymlالملف

إذا كنت ترغب في تخصيص Let's Chat ، يمكنك إنشاء ملف باسم /opt/lets-chat/settings.ymlثم وضع إعداداتك المخصصة فيه:

sudo cp settings.yml.sample settings.yml

لغرض هذا البرنامج التعليمي ، سوف نستخدم الإعدادات الافتراضية من ملف إعدادات العينة.

الخطوة 6: التثبيت إلى الأبد

يمكنك بدء Let's Chat من /opt/lets-chatالدليل:

cd /opt/lets-chat
npm start

يجب أن يشبه الإخراج:

> [email protected] start /opt/lets-chat
> node app.js

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

Release 0.4.8

من أجل استمرار تشغيل تطبيق Let's Chat ، دعنا نضغط Ctrl-Cأولاً للخروج ثم نقوم بتثبيت تطبيق مسمى foreverيمكن أن يضمن حدوث ذلك:

sudo npm install forever -g

استخدم foreverالتطبيق لبدء دعونا الدردشة:

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

بعد تشغيل Let's Let's ، يمكنك الوصول إليه محليًا عبر:

http://localhost:5000

يمكنك اختبار التثبيت باستخدام الأمر أدناه:

curl -I http://localhost:5000

يجب أن يكون الناتج مشابهًا لما يلي:

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

الخطوة 7: تثبيت Nginx كوكيل عكسي

لتمكين الوصول إلى الويب الخارجي ، تحتاج إلى إعداد وكيل عكسي ، Nginx ، على سبيل المثال ، لإعادة توجيه حركة المرور.

7.1 تثبيت Nginx:

sudo yum install nginx -y

7.2 تعديل إعدادات Nginx:

sudo vi /etc/nginx/nginx.conf

ابحث عن location / {}المقطع داخل http {}المقطع:

http {

    location / {
    }

}

أدخل الأسطر أدناه في 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;

يجب أن تكون النتيجة النهائية:

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

}

احفظ واخرج:

:wq!

7.3 ابدأ خدمة Nginx:

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

7.4 تعديل قواعد جدار الحماية للسماح بالوصول إلى الويب:

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

الخطوة 8: الوصول إلى الويب

قم بتوجيه مستعرض الويب الخاص بك http://203.0.113.1للوصول إلى Let's Chat ، ثم انقر فوق I need an accountالرابط لتسجيل اسم مستخدم لتسجيل الدخول.

هذا هو. شكرا للقراءة.



Leave a Comment

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد