كيفية تثبيت ERPNext ERP مفتوح المصدر على أوبونتو 17.04

تخطيط موارد المؤسسات أو تخطيط موارد المؤسسة عبارة عن مجموعة تطبيقات خاصة بالمؤسسات تُستخدم لإدارة عمليات الأعمال الأساسية. ERPNext هو تطبيق ERP مجاني ومفتوح المصدر ومستضاف ذاتيًا مكتوب بلغة Python. يستخدم Node.js للواجهة الأمامية و MariaDB لتخزين بياناته. يوفر ERPNext واجهة ويب سهلة الاستخدام تتيح للشركات إدارة المهام اليومية. يحتوي على وحدات للمحاسبة وإدارة علاقات العملاء وإدارة الموارد البشرية والتصنيع ونقاط البيع وإدارة المشاريع والمشتريات وإدارة المبيعات وإدارة المستودعات والمزيد. يمكن استخدام ERPNext لإدارة الصناعات المختلفة مثل مقدمي الخدمات ، والتصنيع ، وتجارة التجزئة والمدارس.

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

ملاحظة: في هذا البرنامج التعليمي ، سوف نستخدم erp.example.comاسم النطاق الموجه إلى الخادم. يرجى التأكد من استبدال جميع حالات التكرار erp.example.comباسم نطاقك الفعلي .

قبل أن نبدأ ، تأكد من تحديث خادمك.

sudo apt update
sudo apt -y upgrade

تثبيت أدوات التطوير

يحتاج ERPNext إلى Python الإصدار 2.7 للعمل. قم بتثبيت Python 2.7.

sudo apt -y install python-minimal

يجب أن تكون قادرًا على التحقق من إصداره.

python -V

سترى الناتج التالي.

user@vultr:~$ python -V
Python 2.7.13

قم بتثبيت عدد قليل من التبعيات.

sudo apt -y install git build-essential python-setuptools python-dev libffi-dev libssl-dev

تثبيت pipأداة Python . Pip هو مدير التبعية لحزم Python.

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

تأكد من أن لديك أحدث إصدار من pipو setuptools.

sudo pip install --upgrade pip setuptools

تثبيت Ansible باستخدام Pip. يقوم Ansible بأتمتة توفير البرامج وإدارة التكوين ونشر التطبيق.

sudo pip install ansible

تثبيت خادم MariaDB

أضف مستودع MariaDB إلى النظام.

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.nodesdirect.com/mariadb/repo/10.2/ubuntu xenial main'

قم بتثبيت MariaDB.

sudo apt update
sudo apt -y install mariadb-server libmysqlclient-dev

قم بتوفير كلمة مرور قوية للمستخدم الجذر MariaDB عند سؤالك.

مطلوب محرك تخزين Barracuda لإنشاء قواعد بيانات ERPNext ، لذلك ستحتاج إلى تكوين MariaDB لاستخدام محرك تخزين Barracuda. قم بتحرير ملف تكوين MariaDB الافتراضي my.cnf.

sudo nano /etc/mysql/my.cnf

أضف الأسطر التالية تحت [mysqld]الخط.

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 restart mariadb
sudo systemctl enable mariadb

قبل تكوين قاعدة البيانات ، ستحتاج إلى تأمين MariaDB. يمكنك تأمينه عن طريق تشغيل mysql_secure_installationالبرنامج النصي.

sudo mysql_secure_installation

ستتم مطالبتك بكلمة مرور جذر MariaDB الحالية. أدخل كلمة المرور التي قمت بتعيينها أثناء التثبيت. سيتم سؤالك عما إذا كنت ترغب في تغيير كلمة المرور الحالية للمستخدم الجذر لخادم MariaDB. يمكنك تخطي تعيين كلمة مرور جديدة ، لأنك قدمت بالفعل كلمة مرور قوية أثناء التثبيت. أجب بـ "Y" على جميع الأسئلة الأخرى التي يتم طرحها.

قم بتثبيت Nginx و Node.js و Redis

إضافة مستودع Nodesource لـ Node.js 8.x.

sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -

قم بتثبيت Nginx و Node.js و Redis.

sudo apt -y install nginx nodejs redis-server

قم بتشغيل Nginx وتمكينه من البدء في وقت التمهيد.

sudo systemctl start nginx
sudo systemctl enable nginx

قم بتشغيل Redis وتمكينه من البدء في وقت التمهيد.

sudo systemctl start redis-server
sudo systemctl enable redis-server

قم بتثبيت محول PDF

و wkhtmltopdfالبرنامج عبارة عن أداة سطر الأوامر التي المتحولين HTML إلى PDF باستخدام محرك جعل QT بكت. تثبيت التبعيات المطلوبة.

sudo apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base

تنزيل أحدث إصدار من 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 --home /opt/bench

توفير sudoأذونات إلى benchالمستخدم.

sudo usermod -aG sudo 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.

قم بتثبيت 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

يمكنك بدء التطبيق على الفور للتحقق من تثبيت التطبيق بنجاح.

bench start

ومع ذلك ، يجب عليك إيقاف التنفيذ والمضي قدمًا في إعداد التطبيق لاستخدام الإنتاج.

مشرف الإعداد و Nginx

بشكل افتراضي ، يستمع تطبيق ERPNext على المنفذ 8000، وليس منفذ HTTP القياسي 80. أيضًا ، لا يُنصح بتشغيل خادم الويب المدمج للاستخدام في الإنتاج ، حيث أننا سنعرض الخادم للعالم. يجب عليك استخدام خادم ويب للإنتاج كخادم وكيل عكسي مثل Apache أو Nginx. سنستخدم Nginx كوكيل عكسي حيث يمكن تكوينه تلقائيًا باستخدام Bench. يمكن لـ Bench إنشاء التكوين وتثبيته تلقائيًا وفقًا لإعداد ERPNext.

على الرغم من أنه يمكننا بدء التطبيق باستخدام الأمر "bench start" ، سيتوقف تنفيذ ERPNext بمجرد إغلاق الوحدة الطرفية. للتغلب على هذه المشكلة ، يجب عليك استخدام المشرف ، وهو أمر مفيد للغاية في تشغيل التطبيق بشكل مستمر في بيئة إنتاج. المشرف هو نظام للتحكم في العمليات يمكنك من مراقبة عدد من العمليات والتحكم بها على أنظمة تشغيل Linux. بمجرد تكوين المشرف ، سيبدأ التطبيق تلقائيًا في وقت التمهيد وكذلك عند الفشل. يمكن لـ Bench تكوين المشرف تلقائيًا لتطبيق ERPNext.

تثبيت المشرف.

sudo apt -y install supervisor

قم بتشغيل المشرف وتمكينه من البدء تلقائيًا في وقت التمهيد.

sudo systemctl start supervisor
sudo systemctl enable supervisor

إعداد مقعد لاستخدام الإنتاج.

 sudo bench setup production bench

قد يطالبك الأمر أعلاه قبل استبدال ملف التكوين الافتراضي للمشرف الحالي بملف جديد. اختر yالمتابعة. يضيف Bench عددًا من العمليات إلى ملف تكوين المشرف. سيسألك الأمر أعلاه أيضًا عما إذا كنت ترغب في استبدال تكوين Nginx الحالي بتكوين جديد. أدخل yللمتابعة. بمجرد الانتهاء من تثبيت Bench ، قم بتزويد المستخدمين الآخرين بتنفيذ الملفات في الدليل الرئيسي لمستخدم Bench.

chmod o+x /opt/bench/

يمكنك الآن الوصول إلى الموقع على http://erp.example.com.

يمكنك التحقق من حالة العمليات عن طريق التشغيل.

sudo supervisorctl status all

يجب أن تشاهد الإخراج التالي.

bench@vultr:~/erpnext$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache                 RUNNING   pid 13852, uptime 0:00:54
erpnext-redis:erpnext-redis-queue                 RUNNING   pid 13851, uptime 0:00:54
erpnext-redis:erpnext-redis-socketio              RUNNING   pid 13853, uptime 0:00:54
erpnext-web:erpnext-frappe-web                    RUNNING   pid 13856, uptime 0:00:54
erpnext-web:erpnext-node-socketio                 RUNNING   pid 13855, uptime 0:00:54
erpnext-workers:erpnext-frappe-default-worker-0   RUNNING   pid 13862, uptime 0:00:54
erpnext-workers:erpnext-frappe-long-worker-0      RUNNING   pid 13870, uptime 0:00:54
erpnext-workers:erpnext-frappe-schedule           RUNNING   pid 13869, uptime 0:00:54
erpnext-workers:erpnext-frappe-short-worker-0     RUNNING   pid 13875, uptime 0:00:54

لإيقاف جميع عمليات ERPNext.

sudo supervisorctl stop all

لبدء جميع عمليات ERPNext.

sudo supervisorctl start all

إعداد SSL باستخدام Let's Encrypt

يتيح تشفير يوفر شهادات 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 يعمل بشكل كامل مثبت على خادم Ubuntu 17.04 الخاص بك.



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. قراءة هذه المادة لمعرفة المزيد