كيفية تثبيت وتكوين CyberPanel على خادم CentOS 7 الخاص بك
استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا
تخطيط موارد المؤسسات أو تخطيط موارد المؤسسة عبارة عن مجموعة تطبيقات خاصة بالمؤسسات تُستخدم لإدارة عمليات الأعمال الأساسية. ERPNext هو تطبيق ERP مجاني ومفتوح المصدر مستضاف ذاتيًا مكتوب في Python. يستخدم Node.js للواجهة الأمامية و MariaDB لتخزين بياناته. يوفر ERPNext واجهة ويب سهلة الاستخدام تتيح للشركات إدارة المهام اليومية. يحتوي على وحدات للمحاسبة وإدارة علاقات العملاء وإدارة الموارد البشرية والتصنيع ونقاط البيع وإدارة المشاريع والمشتريات وإدارة المبيعات وإدارة المستودعات والمزيد. يمكن استخدام ERPNext لإدارة الصناعات المختلفة مثل مقدمي الخدمات ، والتصنيع ، وتجارة التجزئة والمدارس.
في هذا البرنامج التعليمي ، سنقوم بتثبيت ERPNext على CentOS 7.
في هذا البرنامج التعليمي ، سنستخدم erp.example.com
كاسم المجال الموجه إلى الخادم. يرجى التأكد من استبدال جميع حالات التكرار erp.example.com
باسم نطاقك الفعلي.
قم بتحديث نظامك الأساسي باستخدام دليل " كيفية تحديث CentOS 7 ". بمجرد تحديث نظامك ، تابع تثبيت Python.
يحتاج ERPNext إلى Python الإصدار 2.7 للعمل. يتم تثبيت Python 2.7 بشكل افتراضي في كافة مثيلات خادم CentOS. يمكنك التحقق مما إذا كان إصدار Python المثبت عن طريق تشغيل:
python -V
يجب أن تحصل على نفس الناتج.
[user@vultr ~]$ python -V
Python 2.7.5
على الرغم من أن الإصدار المثبت من Python ليس الأحدث ، إلا أنه يعمل بدون وجود عوائق. قد يؤدي تغيير الإصدار الافتراضي من Python إلى كسر YUM.
قم بتثبيت الحزم في Development tools
المجموعة المطلوبة لتجميع ملفات المثبت.
sudo yum groupinstall -y "Development tools"
قم بتثبيت عدد قليل من التبعيات:
sudo yum install -y redhat-lsb-core git python-setuptools python-devel openssl-devel libffi-devel
تثبيت pip
أداة Python . Pip هو مدير التبعية لحزم Python.
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
سيقوم الأمر أعلاه بتثبيت Pip على نظامك. للتأكد من أن لديك أحدث نسخة من pip
و setuptools
، تشغيل:
sudo pip install --upgrade pip setuptools
تثبيت Ansible باستخدام Pip. يقوم Ansible بأتمتة توفير البرامج وإدارة التكوين ونشر التطبيق.
sudo pip install ansible
MariaDB هي شوكة لخادم قاعدة بيانات MySQL. قم بتثبيت MariaDB عن طريق التشغيل.
sudo yum -y install mariadb mariadb-server mysql-devel
مطلوب محرك تخزين Barracuda لإنشاء قواعد بيانات ERPNext ، وبالتالي ستحتاج إلى تكوين MariaDB لاستخدام محرك تخزين Barracuda. قم بتحرير ملف تكوين MariaDB الافتراضي my.cnf
.
sudo nano /etc/my.cnf
أضف الأسطر التالية تحت symbolic-links=0
الخط.
innodb-file-format=barracuda
innodb-file-per-table=1
innodb-large-prefix=1
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4
قم بتشغيل MariaDB وتمكينه من البدء تلقائيًا في وقت التمهيد.
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
قبل تكوين قاعدة البيانات ، ستحتاج إلى تأمين MariaDB. يمكنك تأمينه عن طريق تشغيل mysql_secure_installation
البرنامج النصي:
sudo mysql_secure_installation
ستتم مطالبتك بكلمة مرور جذر MariaDB الحالية. بشكل افتراضي ، لم يتم تعيين كلمة مرور الجذر على MariaDB. اضغط على مفتاح "Enter" للمتابعة. قم بتعيين كلمة مرور قوية للمستخدم الأساسي لخادم MariaDB وأجب بـ "Y" على جميع الأسئلة الأخرى التي يتم طرحها. الأسئلة المطروحة ذاتيّة.
نظرًا لأن مستودع EPEL مثبت افتراضيًا في جميع حالات Vultr CentOS 7 ، يمكنك تثبيت Redis و Nginx مباشرة. ولكن لتثبيت أحدث إصدار من Node.js ، ستحتاج إلى إضافة مستودع Nodesource إلى نظامك.
إضافة مستودع Nodesource لـ Node.js 8.x.
sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
تثبيت Nginx و Nodejs و Redis:
sudo yum -y install nginx nodejs redis
ابدأ Nginx وتمكينه من البدء في وقت التمهيد عن طريق تشغيل:
sudo systemctl start nginx
sudo systemctl enable nginx
قم بتشغيل Redis وتمكينه من البدء في وقت التمهيد عن طريق تشغيل:
sudo systemctl start redis
sudo systemctl enable redis
و wkhtmltopdf
البرنامج عبارة عن أداة سطر الأوامر التي المتحولين HTML إلى PDF باستخدام محرك جعل QT بكت. تثبيت التبعيات المطلوبة:
sudo yum -y install libXrender libXext xorg-x11-fonts-75dpi xorg-x11-fonts-Type1
تنزيل أحدث إصدار من wkhtmltopdf
.
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
قم باستخراج الأرشيف عن طريق تشغيل:
sudo tar -xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt
سيقوم الأمر أعلاه باستخراج الأرشيف إلى /opt/wkhtmltox
. إنشاء softlink بحيث wkhtmltopdf
و wkhtmltoimage
يمكن تنفيذها على الصعيد العالمي كأمر.
sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage
يمكنك الآن تشغيل wkhtmltopdf -V
الأمر للتحقق مما إذا كان يعمل ، سترى:
[user@vultr ~]$ wkhtmltopdf -V
wkhtmltopdf 0.12.4 (with patched qt)
عند هذه النقطة ، لدينا كل التبعيات المطلوبة مثبتة. يمكنك الآن متابعة تثبيت Bench.
Bench
هي أداة مساعدة لسطر الأوامر مقدمة من Frappe لتثبيت وإدارة تطبيق ERPNext على نظام يستند إلى Unix لأغراض التطوير والإنتاج. يمكن لـ Bench أيضًا إنشاء وإدارة Nginx وتكوين المشرف.
قم بإنشاء مستخدم جديد لتشغيل عمليات Bench في البيئة المعزولة.
sudo adduser bench -d /opt/bench
قم بتغيير كلمة مرور المستخدم.
sudo passwd bench
توفير sudo
أذونات إلى bench
المستخدم.
sudo usermod -aG wheel bench
تسجيل الدخول كمستخدم تم إنشاؤه حديثًا bench
:
sudo su - bench
استنساخ مستودع مقاعد البدلاء في /opt/bench
:
cd /opt/bench
git clone https://github.com/frappe/bench bench-repo
قم بتثبيت Bench باستخدام pip
.
sudo pip install -e bench-repo
بمجرد تثبيت Bench ، تابع المزيد لتثبيت ERPNext باستخدام Bench.
تهيئة دليل مقاعد البدلاء مع تثبيت إطار فرابي. للحفاظ على كل شيء مرتبًا ، سنعمل تحت /opt/bench
الدليل. سيقوم Bench أيضًا بإعداد نسخ احتياطية منتظمة وتحديثات تلقائية مرة واحدة في اليوم.
cd /opt/bench
bench init erpnext && cd erpnext
إنشاء موقع Frappe جديد:
bench new-site erp.example.com
سيطالبك الأمر أعلاه بكلمة مرور الجذر MySQL. قم بتوفير كلمة المرور التي قمت بتعيينها لمستخدم MySQL الجذر في وقت سابق. سيطلب منك أيضًا تعيين كلمة مرور جديدة لحساب المسؤول. ستحتاج إلى كلمة المرور هذه لاحقًا لتسجيل الدخول إلى لوحة تحكم المشرف.
قم بتنزيل ملفات تثبيت ERPNext من مستودع git عن بعد باستخدام Bench.
bench get-app erpnext https://github.com/frappe/erpnext
قم بتثبيت ERPNext على موقعك الذي تم إنشاؤه حديثًا:
bench --site erp.example.com install-app erpnext
يتم تثبيت ERPNext على الخادم الخاص بك. يمكنك بدء التطبيق على الفور للتحقق من تشغيل التطبيق بنجاح:
bench start
ومع ذلك ، يجب عليك إيقاف التنفيذ والمضي قدمًا في إعداد التطبيق لاستخدام الإنتاج.
بشكل افتراضي ، يستمع تطبيق ERPNext على المنفذ 8000 ، وليس إلى منفذ HTTP القياسي 80. أيضًا ، لا يُنصح بتشغيل خادم الويب المدمج للاستخدام في الإنتاج ، حيث أننا سنعرض الخادم للعالم. وبالتالي ، يجب عليك استخدام خادم ويب للإنتاج كخادم وكيل عكسي مثل Apache أو Nginx. في هذا البرنامج التعليمي ، سنستخدم Nginx كوكيل عكسي حيث يمكن تكوينه تلقائيًا باستخدام Bench. يمكن لـ Bench إنشاء التكوين وتثبيته تلقائيًا وفقًا لإعداد ERPNext.
على الرغم من أنه يمكننا بدء التطبيق باستخدام الأمر أعلاه ، سيتوقف تنفيذ ERPNext بمجرد إغلاق الوحدة الطرفية. للتغلب على هذه المشكلة ، أوصي باستخدام مشرف وهو مفيد جدًا في تشغيل التطبيق بشكل مستمر في بيئة إنتاج. المشرف هو نظام للتحكم في العمليات يمكنك من مراقبة عدد من العمليات والتحكم بها على أنظمة تشغيل Linux. بمجرد تكوين المشرف ، سيبدأ التطبيق تلقائيًا في وقت التمهيد وكذلك عند الفشل. يمكن لـ Bench تكوين المشرف تلقائيًا لتطبيق ERPNext.
مشرف التثبيت:
sudo yum -y install supervisor
قم بتشغيل المشرف وتمكينه من البدء تلقائيًا في وقت التمهيد:
sudo systemctl start supervisord
sudo systemctl enable supervisord
مقعد إعداد لاستخدام الإنتاج:
sudo bench setup production bench
قد يطالبك الأمر أعلاه قبل استبدال ملف التكوين الافتراضي للمشرف الحالي بملف جديد. اختر y
المتابعة. يضيف Bench عددًا من العمليات إلى ملف تكوين المشرف. سيسألك الأمر أعلاه أيضًا عما إذا كنت ترغب في استبدال تكوين Nginx الحالي بتكوين جديد. أدخل y
للمتابعة. بمجرد انتهاء Bench من تثبيت التهيئة ، قم بتوفير مستخدمين آخرين لتنفيذ الملفات في الدليل الرئيسي لمستخدم Bench.
chmod o+x /opt/bench/
إذا كنت تقوم بتشغيل جدار حماية على الخادم الخاص بك ، فستحتاج إلى تكوين جدار الحماية لتعيين استثناء لخدمة HTTP. السماح للوكيل العكسي لـ Nginx بالاتصال من خارج الشبكة.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
يمكنك الآن الوصول إلى الموقع على http://erp.example.com
.
يمكنك التحقق من حالة العمليات عن طريق تشغيل:
sudo supervisorctl status all
يجب أن تشاهد الإخراج التالي:
[bench@vultr ~]$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache RUNNING pid 2554, uptime 1:06:58
erpnext-redis:erpnext-redis-queue RUNNING pid 2553, uptime 1:06:58
erpnext-redis:erpnext-redis-socketio RUNNING pid 2555, uptime 1:06:58
erpnext-web:erpnext-frappe-web RUNNING pid 2559, uptime 1:06:58
erpnext-web:erpnext-node-socketio RUNNING pid 2556, uptime 1:06:58
erpnext-workers:erpnext-frappe-default-worker-0 RUNNING pid 2549, uptime 1:06:58
erpnext-workers:erpnext-frappe-long-worker-0 RUNNING pid 2551, uptime 1:06:58
erpnext-workers:erpnext-frappe-schedule RUNNING pid 2550, uptime 1:06:58
erpnext-workers:erpnext-frappe-short-worker-0 RUNNING pid 2552, uptime 1:06:58
لإيقاف جميع عمليات ERPNext ، استخدم:
sudo supervisorctl stop all
لبدء جميع عمليات ERPNext ، استخدم:
sudo supervisorctl start all
يتيح تشفير يوفر شهادات SSL مجانية للمستخدمين. يمكن تثبيت SSL يدويًا أو تلقائيًا من خلال Bench. يمكن لـ Bench تثبيت عميل Let's Encrypt تلقائيًا والحصول على الشهادات. بالإضافة إلى ذلك ، يقوم تلقائيًا بتحديث تكوين Nginx لاستخدام الشهادات.
يجب الإشارة إلى اسم المجال الذي تستخدمه للحصول على الشهادات من Let's Encrypt CA نحو الخادم. يتحقق العميل من صلاحية المجال قبل إصدار الشهادات.
تمكين نظام تأجير DNS المتعدد لتطبيق ERPNext.
bench config dns_multitenant on
شغّل Bench لإعداد Let's Encrypt على موقعك:
sudo bench setup lets-encrypt erp.example.com
أثناء تنفيذ البرنامج النصي ، سيطلب منك عميل Let's Encrypt إيقاف خادم الويب Nginx مؤقتًا. سيتم تلقائيًا تثبيت الحزم المطلوبة وعميل Let's Encrypt. سيطالب العميل بعنوان بريدك الإلكتروني. ستحتاج أيضًا إلى قبول الشروط والأحكام. بمجرد إنشاء الشهادات ، سيقوم Bench أيضًا بإنشاء التكوين الجديد لـ Nginx الذي يستخدم شهادات SSL. سيُطلب منك قبل استبدال التكوين الحالي. يقوم Bench أيضًا بإنشاء crontab
إدخال لتجديد الشهادات تلقائيًا كل شهر.
أخيرًا ، قم بتمكين المجدول لتشغيل الوظائف المجدولة تلقائيًا:
bench enable-scheduler
سترى:
[bench@vultr erpnext]$ bench enable-scheduler
Enabled for erp.example.com
بمجرد انتهاء العملية ، يمكنك الوصول إلى التطبيق الخاص بك على https://erp.example.com
. تسجيل الدخول باسم المستخدم وكلمة Administrator
المرور التي قمت بتعيينها أثناء التثبيت. سيتم نقلك إلى المكتب حيث ستحتاج إلى تقديم معلومات لتعيين ERPNext ERP وفقًا لشركتك. يمكنك الآن استخدام التطبيق لإدارة شركتك.
تهانينا ، لديك تطبيق ERPNext يعمل بشكل كامل مثبت على خادم CentOS 7 الخاص بك.
استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا
أكتوبر هو نظام إدارة محتوى مفتوح المصدر يعتمد على Laravel PHP Framework. مع واجهة أنيقة وبنية وحدات موجزة
RockMongo هي أداة إدارة MongoDB على الويب تشبه أداة إدارة MySQL: phpMyAdmin. سيغطي هذا البرنامج التعليمي عملية التثبيت
Lets Chat هو تطبيق دردشة مفتوح المصدر مصمم لتوفير خدمة الرسائل ذاتية الاستضافة للفرق الصغيرة. يعتمد Lets Chat على NodeJS و MongoDB
استخدام نظام مختلف؟ Taiga هو تطبيق مجاني ومفتوح المصدر لإدارة المشاريع. على عكس أدوات إدارة المشاريع الأخرى ، يستخدم Taiga زيادة
استخدام نظام مختلف؟ المتطلبات الأساسية مثيل خادم Vultr CentOS 7. مستخدم sudo. الخطوة 1: تحديث النظام أولاً ، قم بتحديث خادم النظام الخاص بك إلى th
استخدام نظام مختلف؟ Netdata هي نجمة صاعدة في مجال مراقبة مقاييس النظام في الوقت الفعلي. مقارنة بالأدوات الأخرى من نفس النوع ، Netdata:
DreamFactory هو برنامج مفتوح المصدر يمكنه تحويل أي قاعدة بيانات إلى منصة RESTful API. يمكن نشر DreamFactory على منصات مختلفة. في ثي
استخدام نظام مختلف؟ في هذا البرنامج التعليمي ، سأشرح لك كيفية إعداد خادم Starbound على CentOS 7. المتطلبات الأساسية يجب أن تمتلك هذه اللعبة عليك
Go (تُعرف أيضًا باسم Golang) هي لغة برمجة مكتوبة بشكل ثابت ومجمعة على شكل حرف C تم تطويرها بواسطة Google. جعلت البساطة وتعدد الاستخدامات ب
Django هو إطار Python شائع لكتابة تطبيقات الويب. مع Django ، يمكنك بناء التطبيقات بشكل أسرع ، دون إعادة اختراع العجلة. إذا كنت تريد
مرحبًا بك في برنامج تعليمي Vultr آخر. هنا ، ستتعلم كيفية تثبيت خادم SAMP وتشغيله. تمت كتابة هذا الدليل الخاص بـ CentOS 6. المتطلبات الأساسية التي ستحتاج إليها
Revive Adserver هو نظام عرض إعلانات مجاني ومفتوح المصدر يمكن استخدامه لإدارة الإعلانات على مواقع الويب و / أو التطبيقات و / أو مشغلات الفيديو. في هذه المقالة ،
استخدام نظام مختلف؟ Elgg هو محرك تواصل اجتماعي مفتوح المصدر يسمح بإنشاء بيئات اجتماعية مثل الشبكات الاجتماعية في الحرم الجامعي
استخدام نظام مختلف؟ الشتات هو شبكة اجتماعية مفتوحة المصدر تدرك الخصوصية. في هذا البرنامج التعليمي ، ستتعلم كيفية إعداد وتكوين po Diaspora po
نظرة عامة تهدف هذه المقالة إلى مساعدتك في إنشاء مجموعة Kubernetes وتشغيلها باستخدام kubeadm في لمح البصر. سيقوم هذا الدليل بنشر خادمين في
استخدام نظام مختلف؟ مقدمة Sails.js هو إطار عمل MVC لـ Node.js ، مشابه لـ Ruby on Rails. يجعل لتطوير التطبيقات الحديثة ver
استخدام نظام مختلف؟ يمكن استخدام NGINX كخادم HTTP / HTTPS أو خادم وكيل عكسي أو خادم وكيل بريد أو موازن تحميل أو فاصل TLS أو ذاكرة تخزين مؤقت
استخدام نظام مختلف؟ dotCMS هو نظام إدارة محتوى من فئة مفتوحة المصدر مفتوح بلغة جافا. أنه يحتوي تقريبا على كل ميزة مطلوبة ر
مقدمة في هذا البرنامج التعليمي ، سيتم تثبيت PufferPanel على Vultr VPS. PufferPanel هي لوحة تحكم مفتوحة المصدر مجانية للاستخدام لإدارتك
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد