خطة التثبيت كما يلي:
اسم الـ Bench:
frappe-bench(كما في الدليل الأصلي).اسم المستخدم (Bench User):
frappe(كما في التحديثات السابقة).النطاق/اسم الموقع:
erp.sdce.com.sa.
إليك الرمز البرمجي الكامل والمُحدّث، مع تصحيح اسم الـ Bench ليعود إلى frappe-bench، وتطبيق جميع المتطلبات الأخرى (اسم المستخدم، النطاق، HRMS، SSL).
🛠️ الرمز البرمجي لتثبيت ERPNext 15 (مصحح ومحدّث)
1. ⚙️ إعداد الخادم وتحديث الحزم
## تحديث وتجهيز النظام
sudo apt-get update -y
sudo apt-get upgrade -y
2. 🧑💻 إنشاء مستخدم Bench وتجهيزه
نستخدم frappe كاسم لمستخدم الـ Bench.
## إنشاء المستخدم frappe (Bench User)
sudo adduser frappe
# إضافة المستخدم frappe إلى مجموعة sudo
sudo usermod -aG sudo frappe
# التبديل إلى المستخدم frappe لتنفيذ أوامر التثبيت
su - frappe
# الانتقال إلى المجلد الرئيسي للمستخدم
cd /home/frappe
3. 📦 تثبيت الاعتماديات الأساسية (كـ frappe User)
## تثبيت Git والاعتماديات الأخرى
sudo apt-get install git python3-dev python3-setuptools python3-pip python3.12-venv -y
## تثبيت wkhtmltopdf (لإنشاء التقارير بصيغة PDF)
sudo apt-get install xvfb libfontconfig wkhtmltopdf -y
## تثبيت CURL و Node.js v18 و Yarn
sudo apt install curl -y
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.profile
nvm install 18
sudo npm install -g yarn -y
4. 💾 تثبيت MariaDB وتكوينه
## تثبيت MariaDB
sudo apt-get install software-properties-common -y
sudo apt install mariadb-server -y
## تأمين وتجهيز MariaDB (اتبع التعليمات التي تظهر)
sudo mysql_secure_installation
## تعديل ملف إعدادات MariaDB الافتراضي
sudo nano /etc/mysql/my.cnf
# --- (أضف الكتلة التالية في نهاية الملف my.cnf) ---
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4
# ----------------------------------------------------
## إعادة تشغيل خدمة MariaDB
sudo service mysql restart
5. ⚡ تثبيت Redis Server
## تثبيت Redis Server
sudo apt-get install redis-server -y
6. 🛠️ تثبيت Frappe Bench (مصحح)
هنا نلتزم باسم الـ Bench وهو frappe-bench.
## تثبيت Bench و Ansible باستخدام pip3
sudo -H pip3 install frappe-bench --break-system-packages
sudo -H pip3 install ansible --break-system-packages
## تهيئة Bench (نستخدم frappe-bench كاسم للـ Bench)
bench init frappe-bench --frappe-branch version-15
## الدخول إلى مجلد الـ Bench الجديد
cd frappe-bench
## تغيير أذونات مجلد المستخدم
sudo chmod -R o+rx /home/frappe
7. 🌐 إنشاء الموقع وتثبيت التطبيقات
نستخدم النطاق erp.sdce.com.sa كاسم للموقع، ونضيف تطبيق HRMS.
## إنشاء موقع جديد باستخدام النطاق المحدد
bench new-site erp.sdce.com.sa
## تحميل التطبيقات المطلوبة
bench get-app payments
bench get-app --branch version-15 erpnext
bench get-app hrms
## تثبيت التطبيقات على الموقع
bench --site erp.sdce.com.sa install-app payments
bench --site erp.sdce.com.sa install-app erpnext
bench --site erp.sdce.com.sa install-app hrms
8. 🚀 إعداد وضع الإنتاج (Production)
نستخدم اسم المستخدم frappe واسم الموقع erp.sdce.com.sa.
## تمكين المجدول الزمني (Scheduler)
bench --site erp.sdce.com.sa enable-scheduler
## إيقاف وضع الصيانة
bench --site erp.sdce.com.sa set-maintenance-mode off
## إعداد إعدادات الإنتاج (كـ Root)
sudo bench setup production frappe
## تطبيق إعدادات NGINX
bench setup nginx
## إعادة تشغيل Supervisor وبدء وضع الإنتاج
sudo supervisorctl restart all
9. 🔒 تثبيت شهادة SSL (Let's Encrypt)
## تثبيت Certbot
sudo apt install certbot -y
## إعداد شهادة SSL لموقعك
sudo bench setup lets-encrypt erp.sdce.com.sa
لقد تم تصحيح الرمز البرمجي ليتوافق تماماً مع طلباتك: استخدام frappe-bench، و frappe كمستخدم، وتثبيت ERPNext و HRMS، وإعداد SSL على erp.sdce.com.sa.
إرسال تعليق