نظام ERPNext هو نظام لإدارة وتخطيط موارد المنشآت ويحتوي على العديد من المميزات الأساسية التي تتواجد في أي نظام اخر فيه المحاسبة والمخازن والمبيعات والمشتريات و العملاء والموارد البشرية وكذلك نقاط البيع في هذه التدوينة سوف اتطرق لطريقة تثبيت نظام ERPNext آخر اصدار
بالتفصيل وذلك على نظام اوبنتو Ubuntu Linux
في البداية : يتطلب نظام ubutu 22 وذلك ان اصدار erpnext14 هو اخر اصدار ويتطلب بايثون 3.10
العتاد (مواصفات جهاز الكمبيوتر او السيرفر المحلي ) يفضل الذاكرة ram 4 جيجا بايت وسعة القرص 20 جيجابايت
لكن بالإمكان استخدام ذاكرة (رام ) 1 جيجا و سعة تخزين 10 جيجابايت او اقل نسبيا في حالة استخدام خفيف (مستخدم واحد و بيانات قليلة ) في الغالب متدرب او منشأة صغيرة جداً و مستخدم واحد
الخطوة (1) : عمل تحديثات النظام
sudo apt-get update -ysudo apt-get upgrade -y
الخطوة (2) : إضافة مستخدم لينكس وإعطائه الصلاحيات
sudo adduser [frappe-user]usermod -aG sudo [frappe-user]su [frappe-user] cd /home/[frappe-user]
ملاحظة : استبدل ما بين القوس المربع بالاسم الذي تريد استخدمه
الخطوة(3) : تثبيت git
sudo apt-get install git
الخطوة (4) : تثبيت لغة بايثون و متطلبات لغة بايثون للإصدار 3.10
sudo apt-get install python3-dev python3.10-dev python3-setuptools python3-pip python3-distutils
الخطوة (5) : تثبيت البيئة الافتراضية (الوهمية ) لبايثون الإصدار 3.10
sudo apt-get install python3.10-venv
الخطوة (6) : تثبيت بعض المستودعات الضرورية
sudo apt-get install software-properties-common
الخطوة (7) : تثبيت الخادم / العميل لقواعد البيانات حيث ان النظام يستند على قواعد بيانات Mysql
sudo apt install mariadb-server mariadb-client
تثبيت redis-server
sudo apt-get install redis-server
الخطوة (8) : تثبيت wkhtmlpdf الخاص ب التعامل مع صفحات html و pdf كذلك مكتبات mysql
sudo apt-get install xvfb libfontconfig wkhtmltopdfsudo apt-get install libmysqlclient-dev
الخطوة (9) : ضبط حماية قواعد بيانات mysql من خلال الامر التالي
sudo mysql_secure_installation
- اتبع هذه الخطوات الهامة
- Enter current password for root: (Enter your SSH root user password)
- سيطلب منك ادخال كلمة مرور root اتركها فارغة واضغط إدخال
- Switch to unix_socket authentication [Y/n]: Y
- قم باختبار نعم
- Change the root password? [Y/n]: Y
- تغيير كلمة المرور اضغط نعم
- الان عليك بعمل كلمة مرور لقواعد البيانات (تذكرها مهمة جدا للقيام بعمليات كثيرة في erpnext مثل النسخ الاحتياطي والاستعادة )
- Remove anonymous users? [Y/n] Y
- حذف المستخدم المجهول نعم
- Disallow root login remotely? [Y/n]: N
- تعطيل الوصول ل root عن بعد لا (ويفضل نعم )
- Remove test database and access to it? [Y/n]: Y
- حذف قاعدة بيانات test نعم
- Reload privilege tables now? [Y/n]: Y
- إعادة تحميل نعم
الخطوة (10) : تعديل ملف التكوين (config) لقواعد البيانات
sudo nano /etc/mysql/my.cnf
اضف الاسطر التالية في آخر الملف
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4
لا تنس حفظ التعديلات
ثم إعادة تشغيل mysql
sudo service mysql restart
الخطوة (11) : تثبيت أداة curl التي تتيح لك تنزيل الملفات الضرورية الى السيرفر من روابط أخرى
sudo apt install curl
الخطوة (12) : تنزيل وتثبيت nvm
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.profile
nvm install 16.15.0
تثبيت : npm
sudo apt-get install npm
تثبيت : yarn
sudo npm install -g yarn
الخطوة (13) : تثبيت frappe-bench
sudo pip3 install frappe-bench
ثم تهيئة erpnext14
bench init --frappe-branch version-14 frappe-bench
بعد ذلك الدخول على الدليل frappe-bench
cd frappe-bench
إعطاء الصلاحيات الكاملة للمستخدم (حسب التسمية في الخطوات الأولى)
chmod -R o+rx /home/[frappe-user]
الأن نقوم بإنشاء موقع جديد مثلا [site1.local] استبدلها بدل site-name
bench new-site [site-name]
تنزيل مديول المدفوعات
bench get-app payments
تنزيل erpnext14 ملاحظة : يجب تنزيل الموديل السابق payments حتى لا تصادف أخطاء اثناء التثبيت
bench get-app --branch version-14 erpnext
مديول الموارد البشرية (اختياري) يمكن تجاوزه
bench get-app hrms
تثبيت تطبيقات erpnext
bench --site [site-name] install-app erpnext
تثبيت تطبيق (مديول الموارد البشرية ) ويمكن تجاوزه
bench --site [site-name] install-app hrms
اعداد production
sudo bench setup production [frappe-user]
الخطوة (14) تثبيت وإعداد سيرفر انجنكس (nginx)