كيفية تثبيت Neos CMS على FreeBSD 12
استخدام نظام مختلف؟ Neos عبارة عن منصة تطبيق محتوى مع CMS وإطار تطبيق في جوهرها. سيوضح لك هذا الدليل كيفية التثبيت
في هذا البرنامج التعليمي ، سنقوم بإعداد خادم ويب باستخدام وكيل عكسي. CMS الذي سنستخدمه هو Keystone.js ، وهو إطار عمل تطبيق ويب معروف يعتمد على Express.js. الوكيل العكسي الذي سنستخدمه هو Nginx ، وهو وكيل عكسي مجاني ومفتوح المصدر ، بالإضافة إلى خادم HTTP. قاعدة البيانات التي سنستخدمها هي MongoDB ، وهي قاعدة بيانات مستندات NoSQL. سيتطلب هذا أن يكون لديك مجال مع إعداد السجلات. إذا لم يكن لديك هذه المجموعة ، فانتقل إلى ذلك واعتن بنفسك ، وعد إلى هذا البرنامج التعليمي.
أولاً ، سنقوم بتثبيت Node.js ، وهو مترجم جافا سكريبت يعتمد على محرك Chrome V8 Javascript.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
بعد ذلك ، سنقوم بتثبيت Nginx ، وكيلنا العكسي.
sudo apt update
sudo apt install nginx
سيؤدي ذلك إلى تحديث قوائم الحزم وتثبيت Nginx. بمجرد الانتهاء من التثبيت ، سنقوم بإعداد مشروع العقدة الخاص بنا.
إنشاء مشروع عقدة لدينا. للقيام بذلك ، ما عليك سوى إنشاء مجلد جديد.
mkdir website
ثم سننشئ package.json
ملفنا. للقيام بذلك ، ما عليك سوى تشغيل npm init
جهازك ، ثم املأ الحقول ، ثم قم بالرد " yes
" للتأكيد. بمجرد إنشاء package.json
الملف ، سنقوم بتثبيت وحدات العقدة التالية.
sudo npm install -g generator-keystone
sudo npm install -g yo
بمجرد الانتهاء من التنزيل ، قم بتشغيل ما يلي.
yo keystone
املأ الحقول المطلوبة. وسوف يطلب منك ل project name
، و template engine
، email
لوحة التحكم، وهلم جرا. إذا كنت لا تعرف ماذا تختار ، فستكون الإعدادات الافتراضية جيدة. بعد تكوين إعداد Keystone ، يمكننا اختبار لمعرفة ما إذا كان خادمنا يعمل عن طريق الكتابة node keystone
لبدء تشغيل التطبيق الخاص بك. بشكل افتراضي ، سيتم تشغيل التطبيق الخاص بك localhost
، على المنفذ 3000
. لاحظ أنه إذا لم يكن لديك MongoDB مثبتًا ، فلن تكون قاعدة البيانات متاحة لك على الفور. يمكنك معرفة كيفية تثبيته لاحقًا في البرنامج التعليمي.
فيما يلي تخطيط الدليل الأساسي لـ Keystone.js:
/lib
- هذا هو المكان الذي ستقوم فيه بتخزين مكتباتك المخصصة والرموز الأخرى.
/models
- هذا هو المكان الذي ستخزن فيه نماذج قاعدة بيانات التطبيق الخاص بك. يستخدم KeystoneJS MongoDB كموفر قاعدة بيانات.
/public
- هذا هو المكان الذي سيتم فيه تخزين ملفاتك الثابتة (CSS ، JS ، الصور ، وما إلى ذلك).
/routes/api
- هذا هو المكان الذي سيتم فيه تخزين وحدات تحكم API الخاصة بالتطبيق.
/routes.views
- سيتم تخزين وحدات تحكم عرض التطبيق هنا.
/templates
- هذا هو المكان الذي سيتم فيه تخزين جميع ملفات النموذج الخاصة بالتطبيق.
/updates
- هذا هو المكان الذي سيتم فيه تخزين البرامج النصية للترحيل.
package.json
- هذا هو ملف تكوين npm الذي أنشأه المولد لنا.
keystone.js
- ملف البداية الرئيسي لدينا ، نقوم بتشغيل هذا عند بدء تشغيل الموقع.
كما ذكرنا سابقًا ، فإن قاعدة بياناتنا التي سنستخدمها هي MongoDB ، وهي قاعدة بيانات موثوقة NoSQL وقائمة على المستندات. إذا كنت قد قمت بالفعل بتثبيت MongoDB ، فيمكنك تخطي هذا القسم. إذا لم يكن كذلك ، فإليك كيفية تثبيته على Ubuntu 16.04.
قم باستيراد المفتاح العام المستخدم لحزمة mongoDB.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
قم بإنشاء ملف القائمة المستخدم لتثبيت الحزمة.
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
تحديث قوائم الحزمة الخاصة بك باستخدام apt
.
sudo apt update
أخيرًا ، قم بتثبيت MongoDB.
sudo apt install mongodb-org -y
عندما ينتهي هذا التثبيت ، ابدأ MongoDB.
sudo service mongod start
سيبدأ هذا عملية MongoDB على المنفذ 27017
.
سيتم استخدام MongoDB في جميع أنحاء التطبيق ، وسيتم استخدامه لتخزين المعلومات التي نستخدمها لنماذجنا ، على سبيل المثال User
نموذج. تستخدم Keystone قاعدة البيانات المفضلة لديها ، وفي الوقت الحالي لا يمكنك استخدام موردي قواعد البيانات الآخرين.
الآن حان الوقت لتثبيت PM2 (مدير العمليات 2.) PM2 هو مدير عمليات لتطبيقات Node.js ، في شكل وحدة npm. يوفر لك طريقة سهلة لإدارة تطبيقاتك وتشغيلها في الخلفية. لأنه في NPM ، كل ما علينا فعله لتثبيته هو تشغيل ما يلي.
sudo npm install pm2 -g
هذا يخبر npm بتثبيته عالميًا ، حتى نتمكن من استخدامه في أي مكان في نظامنا.
في وقت سابق ، قمنا بتشغيل تطبيق الويب الخاص بنا مع node keystone
. مع PM2 ، الأمر مختلف قليلاً. نقوم الآن بتشغيل تطبيق العقدة لدينا مع ما يلي.
pm2 start keystone.js
سيؤدي هذا إلى إضافة تطبيق PM2 الخاص بنا إلى قائمة العمليات الخاصة بنا ، وسيتم عرض مربع صغير حتى تتمكن من رؤية أنه موجود بالفعل على الإنترنت. لاحظ المربع المسمى id
للعملية الخاصة بك. حافظ على هذا قريبًا ، لأننا سنقدم العديد من المراجع لهذا لاحقًا.
لرؤية سجلات التطبيق الخاص بك.
pm2 logs [id]
على سبيل المثال ، pm2 logs 0
إذا كان هذا هو أول تطبيق PM2.
لإيقاف تطبيق الويب الخاص بك في أي وقت.
pm2 stop [id]
لحذف التطبيق الخاص بك تماما.
pm2 delete [id]
يحتوي PM2 حتى على لوحة تحكم للمراقبة إذا كنت ترغب في رؤية بعض الإحصائيات الأساسية لتطبيقك ، ويمكنك الوصول إليها باستخدام هذا.
pm2 monit
سيعرض هذا بعض المعلومات الأساسية مثل استخدام ذاكرة الوصول العشوائي واستخدام وحدة المعالجة المركزية ووقت التشغيل.
ميزة رائعة يقدمها PM2 watching
. من حيث الجوهر ، تتم المشاهدة عندما يكتشف PM2 تلقائيًا التغييرات التي تطرأ على أي من الملفات الموجودة في نفس الدليل كملف البدء ، وستتم إعادة تشغيل التطبيق تلقائيًا. لتمكينه ، ما عليك سوى إعادة تشغيل التطبيق الخاص بك ، ولكن تمريره علامة مراقبة.
pm2 restart [id] --watch
لتعطيل المشاهدة بعد تمكينها ، قم بتشغيل الأمر نفسه مرة أخرى ، وسيتم تعطيل المشاهدة.
في هذا البرنامج التعليمي ، سنترك المراقبة.
تأكد من تثبيت Nginx. إذا لم يكن الأمر كذلك لسبب ما ، فارجع إلى الخطوات أعلاه.
اضبط إعدادات جدار الحماية. على أوبونتو ، ufw
هو جدار الحماية الرسمي. افتراضيًا ، يتم حظر الاتصالات على المنفذ 80
. نحتاج إلى إضافة استثناء لـ Nginx على المنفذ 80
، والذي سيتم تشغيل تطبيق الويب الخاص بنا عليه.
sudo ufw allow 'Nginx HTTP'
تحقق من تشغيل خادم Nginx.
systemctl status nginx
تحت Active
القسم ، إذا رأيت active (running)
، فأنت جاهز تمامًا. إذا لم يكن الأمر كذلك ، فيمكنك محاولة إعادة تشغيل الخدمة.
systemctl restart nginx
احذف ملف التكوين Nginx الافتراضي.
sudo rm /etc/nginx/sites-available/default
قم بإنشاء واحدة جديدة ، واسمها ببساطة node
.
sudo nano /etc/nginx/sites-available/node
قم بلصق التالي في الملف واستبداله example.com
بنطاق موقع الويب الخاص بك.
listen 80;
server_name example.com;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://127.0.0.1:3000";
}
}
لاحظ أن proxy_pass
الرمز يشير إلى IP الذي يعمل عليه تطبيق Keystone محليًا ، وهو موجود localhost
على المنفذ 3000
. listen 80
هو المنفذ الذي نريد أن يتم توجيه التطبيق إليه ، وهو في هذه الحالة منفذ 80
.
بعد ذلك ، نحتاج إلى إنشاء ارتباط رمزي ، أو ارتباط رمزي إلى مجلد يسمى sites-enabled
. الفرق بين sites-enabled
و sites-available
هو أنه sites-enabled
يتم تحميله بالفعل بواسطة Nginx.
sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/node
الآن sites-available
سيكون ملف التكوين الخاص بك جاهزًا للاستخدام ، وسيتم تحميله من sites-enabled
. لتطبيق التهيئة حتى تصبح نافذة المفعول ، ما عليك سوى إعادة تشغيل Nginx.
sudo systemctl restart nginx
أخيرًا ، أعد تشغيل تطبيق PM2
pm2 restart [id]
الآن يمكنك الانتقال إلى نطاقك في متصفح ، وسترى Welcome to Keystone
شاشة ، مع لوحة لتتمكن من تسجيل الدخول.
إذا رأيت ذلك ، فقد قمت بإعداد خادم ويب إنتاج Node.js بنجاح. إذا لم يكن الأمر كذلك ، فربما تكون قد قمت بخطوة غير صحيحة ، وقد ترغب في العودة واتباع كل خطوة بعناية.
يمكنك معرفة المزيد عن Nginx من خلال زيارة موقع الويب الخاص بهم .
آمل أن تكون قد استمتعت بهذا البرنامج التعليمي ، وآمل أن يكون هذا قد ساعدك في إعداد خادم الويب الخاص بك للإنتاج على Vultr VPS.
استخدام نظام مختلف؟ Neos عبارة عن منصة تطبيق محتوى مع CMS وإطار تطبيق في جوهرها. سيوضح لك هذا الدليل كيفية التثبيت
استخدام نظام مختلف؟ Omeka Classic 2.4 CMS هو نظام نشر رقمي مجاني ومفتوح المصدر ونظام إدارة المحتوى (CMS) لمشاركة الصور الرقمية
استخدام نظام مختلف؟ BlogoText CMS هو نظام إدارة محتوى (CMS) بسيط وخفيف الوزن ومفتوح المصدر ومحرك مدونة بسيط
استخدام نظام مختلف؟ WonderCMS هو ملف CMS مفتوح المصدر وسريع وصغير مكتوب بلغة PHP. يتم استضافة كود مصدر WonderCMS على جيثب. فيل هذا الدليل
استخدام نظام مختلف؟ Neos عبارة عن منصة تطبيق محتوى مع CMS وإطار تطبيق في جوهرها. سيوضح لك هذا الدليل كيفية التثبيت
استخدام نظام مختلف؟ Directus 6.4 CMS هو نظام إدارة محتوى بلا محتوى قوي ومرن ومفتوح المصدر ومفتوح المصدر يوفر للمطورين
استخدام نظام مختلف؟ ProcessWire CMS 3.0 هو نظام إدارة محتوى بسيط ومرن وقوي ومجاني ومفتوح المصدر (CMS). ProcessWire CMS 3.
استخدام نظام مختلف؟ dotCMS هو نظام إدارة محتوى من فئة مفتوحة المصدر مفتوح بلغة جافا. أنه يحتوي تقريبا على كل ميزة مطلوبة ر
استخدام نظام مختلف؟ Automad هو نظام إدارة محتوى مفتوح المصدر (CMS) ومحرك قوالب مكتوب بلغة PHP. كود مصدر أوتوماد i
استخدام نظام مختلف؟ PyroCMS هو CMS مفتوح المصدر مكتوب بلغة PHP. يتم استضافة شفرة مصدر PyroCMS على GitHub. في هذا الدليل ، تمشي جيدًا عبر الكل
استخدام نظام مختلف؟ ProcessWire CMS 3.0 هو نظام إدارة محتوى بسيط ومرن وقوي ومجاني ومفتوح المصدر (CMS). ProcessWire CMS 3.
استخدام نظام مختلف؟ مقدمة Tiki Wiki CMS Groupware ، والمعروف أيضًا باسم Tiki ، هو نظام إدارة محتوى ويكي مجاني ومفتوح المصدر. ميزة Tikis
استخدام نظام مختلف؟ مقدمة BoltWire هو نظام إدارة محتوى مجاني وخفيف الوزن مكتوب بلغة PHP. مقارنة بمعظم إدارة المحتوى الأخرى
استخدام نظام مختلف؟ Omeka Classic 2.4 CMS هو نظام نشر رقمي مجاني ومفتوح المصدر ونظام إدارة المحتوى (CMS) لمشاركة الصور الرقمية
استخدام نظام مختلف؟ PyroCMS هو CMS مفتوح المصدر مكتوب بلغة PHP. يتم استضافة شفرة مصدر PyroCMS على GitHub. في هذا الدليل تمشي جيدًا عبر الكل
استخدام نظام مختلف؟ PyroCMS هو CMS مفتوح المصدر مكتوب بلغة PHP. يتم استضافة شفرة مصدر PyroCMS على GitHub. في هذا الدليل تمشي جيدًا عبر الكل
استخدام نظام مختلف؟ ProcessWire CMS 3.0 هو نظام إدارة محتوى بسيط ومرن وقوي ومجاني ومفتوح المصدر (CMS). ProcessWire CMS 3.
استخدام نظام مختلف؟ Microweber هو سحب مفتوح المصدر وإفلات CMS ومتجر عبر الإنترنت. يتم استضافة شفرة مصدر Microweber على GitHub. هذا الدليل سيظهر لك
استخدام نظام مختلف؟ Microweber هو سحب مفتوح المصدر وإفلات CMS ومتجر عبر الإنترنت. يتم استضافة شفرة مصدر Microweber على GitHub. هذا الدليل سيظهر لك
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد