كيفية تثبيت منصة عربة التسوق LiteCart على أوبونتو 16.04
LiteCart عبارة عن منصة سلة تسوق مجانية ومفتوحة المصدر مكتوبة بلغة PHP و jQuery و HTML 5. وهي عبارة عن برنامج بسيط وخفيف الوزن وسهل الاستخدام للتجارة الإلكترونية
تخطيط موارد المؤسسات أو تخطيط موارد المؤسسة عبارة عن مجموعة تطبيقات خاصة بالمؤسسات تُستخدم لإدارة عمليات الأعمال الأساسية. 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 إلى النظام.
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" على جميع الأسئلة الأخرى التي يتم طرحها.
إضافة مستودع 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
و 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.
تهيئة دليل مقاعد البدلاء مع تثبيت إطار فرابي. للحفاظ على كل شيء مرتبًا ، سنعمل تحت /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
ومع ذلك ، يجب عليك إيقاف التنفيذ والمضي قدمًا في إعداد التطبيق لاستخدام الإنتاج.
بشكل افتراضي ، يستمع تطبيق 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 مجانية للمستخدمين. يمكن تثبيت 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 الخاص بك.
LiteCart عبارة عن منصة سلة تسوق مجانية ومفتوحة المصدر مكتوبة بلغة PHP و jQuery و HTML 5. وهي عبارة عن برنامج بسيط وخفيف الوزن وسهل الاستخدام للتجارة الإلكترونية
استخدام نظام مختلف؟ Matomo (Piwik سابقًا) هو نظام أساسي مفتوح المصدر للتحليلات ، وهو بديل مفتوح لبرنامج Google Analytics. مصدر Matomo مستضاف
TeamTalk هو نظام مؤتمرات يتيح للمستخدمين إجراء محادثات صوتية / مرئية عالية الجودة ، والدردشة النصية ، ونقل الملفات ، ومشاركة الشاشات. أنا
استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا
استخدام نظام مختلف؟ Neos عبارة عن منصة تطبيق محتوى مع CMS وإطار تطبيق في جوهرها. سيوضح لك هذا الدليل كيفية التثبيت
استخدام نظام مختلف؟ Brotli هو طريقة ضغط جديدة مع نسبة ضغط أفضل من GZIP. تتم استضافة رمز المصدر الخاص به علنًا على Githu هذا
استخدام نظام مختلف؟ OpenNMS عبارة عن منصة إدارة شبكة مفتوحة المصدر على مستوى المؤسسات يمكن استخدامها لمراقبة وإدارة العديد من الأجهزة
مقدمة: التأليف والإصدار الموزع على الويب (WebDAV) هو امتداد HTTP يوفر إطار عمل لإنشاء الملفات وتعديلها عن بُعد على
استخدام نظام مختلف؟ Omeka Classic 2.4 CMS هو نظام نشر رقمي مجاني ومفتوح المصدر ونظام إدارة المحتوى (CMS) لمشاركة الصور الرقمية
استخدام نظام مختلف؟ DokuWiki هو برنامج ويكي مفتوح المصدر مكتوب بلغة PHP ولا يتطلب قاعدة بيانات. يقوم بتخزين البيانات في ملفات نصية. DokuWik
استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا
استخدام نظام مختلف؟ Ghost هي منصة تدوين مفتوحة المصدر اكتسبت شعبية بين المطورين والمستخدمين العاديين منذ عام 201
RockMongo هي أداة إدارة MongoDB على الويب تشبه أداة إدارة MySQL: phpMyAdmin. سيغطي هذا البرنامج التعليمي عملية التثبيت
Lets Chat هو تطبيق دردشة مفتوح المصدر مصمم لتوفير خدمة الرسائل ذاتية الاستضافة للفرق الصغيرة. يعتمد Lets Chat على NodeJS و MongoDB
استخدام نظام مختلف؟ Taiga هو تطبيق مجاني ومفتوح المصدر لإدارة المشاريع. على عكس أدوات إدارة المشاريع الأخرى ، يستخدم Taiga زيادة
استخدام نظام مختلف؟ المتطلبات الأساسية مثيل خادم Vultr CentOS 7. مستخدم sudo. الخطوة 1: تحديث النظام أولاً ، قم بتحديث خادم النظام الخاص بك إلى th
استخدام نظام مختلف؟ NodeBB هو منتدى قائم على Node.js. يستخدم مقابس الويب للتفاعل الفوري والإشعارات في الوقت الحقيقي. كود مصدر NodeBB i
استخدام نظام مختلف؟ Brotli هو طريقة ضغط جديدة مع نسبة ضغط أفضل من Gzip. يتم استضافة رمز المصدر الخاص به علانية على Github. ثي
استخدام نظام مختلف؟ BlogoText CMS هو نظام إدارة محتوى (CMS) بسيط وخفيف الوزن ومفتوح المصدر ومحرك مدونة بسيط
استخدام نظام مختلف؟ Netdata هي نجمة صاعدة في مجال مراقبة مقاييس النظام في الوقت الفعلي. مقارنة بالأدوات الأخرى من نفس النوع ، Netdata:
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد