إنشاء موقع
كل موقع يأتي مع قاعدة بيانات خاصة به. يمكن تخصيصهم من خلال البرمجة النصية الخاصة بالموقع أو يمكن تثبيت التطبيقات عليهم.
إنشاء موقع جديد
لإنشاء موقع جديد، قم بتشغيل الأمر التالي من دليل frappe-bench:
$ bench new-site library.localhost
MySQL root password:
Installing frappe...
Updating DocTypes for frappe : [========================================] 100%
Set Administrator password:
*** Scheduler is disabled ***
Current Site set to library.localhost
سيؤدي هذا الأمر إلى إنشاء قاعدة بيانات جديدة، لذا تحتاج إلى إدخال كلمة مرور root الخاصة بـ MariaDB. كما سيطلب تعيين كلمة مرور لمستخدم Administrator، فقط قم بتعيين كلمة مرور لن تنساها. ستكون مفيدة لاحقًا.
الآن، سيكون لديك مجلد جديد يُسمى library.localhost في دليل sites.
إذا فشل إنشاء الموقع لأي سبب، ستُطلب منك التراجع عن التغييرات. سيؤدي هذا إلى حذف library.localhost أو ما يعادله في دليل sites الخاص بك، وحذف قاعدة البيانات/المستخدم الذي تم إنشاؤه. سيسمح لك ذلك بإعادة المحاولة بسهولة دون الحاجة إلى التنظيف اليدوي للموقع غير القابل للاستخدام.
هيكل دليل الموقع
سيبدو هيكل دليل الموقع شيئًا كالتالي:
sites/library.localhost
├── indexes
│ └── web_routes
├── locks
├── logs
├── private
│ ├── backups
│ └── files
├── public
│ └── files
└── site_config.json
- يحتوي مجلد
indexesعلى فهارس تم إنشاؤها عبر البحث في الموقع. - يحافظ مجلد
locksعلى أقفال قائمة على الملفات عبر المستندات داخل الموقع بالإضافة إلى مؤشرات على حالة الموقع نفسه. - كما ترى، سيحتوي مجلد
privateعلى أي نسخ احتياطية لقاعدة البيانات وملفات خاصة. الملفات الخاصة هي الملفات التي تم تحميلها من قبل المستخدم والتي تتطلب مصادقة للوصول إليها. - سيحتوي مجلد
publicعلى الملفات التي يمكن الوصول إليها بدون مصادقة. يمكن أن يحتوي هذا على صور الموقع التي يجب أن تكون قابلة للوصول بدون تسجيل الدخول. - يحتوي ملف
site_config.jsonعلى التكوين المحدد لهذا الموقع والذي يجب عدم التحكم فيه بالإصدار. هذا مشابه لملف متغيرات البيئة. إذا نظرت إلى محتويات الملف، فسيحتوي على قيم تكوين قاعدة البيانات لهذا الموقع.
{
"db_name": "_ad03fa1a016ca1c4",
"db_password": "pz1d2gN5y35ydRO5",
"db_type": "mariadb"
}
الوصول إلى الموقع في متصفحك
يسمح لك bench بإنشاء مواقع متعددة والوصول إليها بشكل منفصل في المتصفح على نفس المنفذ. هذا ما نسميه دعم تعدد الإيجارات (multi-tenancy) في bench.
سوف يحدد Frappe الموقع الذي يجب تقديمه من خلال مطابقة اسم المضيف للطلب مع اسم الموقع، لذا يجب أن تكون قادرًا على الوصول إلى موقعك على http://library.localhost:8000.
إذا لم ينجح هذا بالنسبة لك، فذلك لأننا يجب أن نخبر نظام التشغيل الخاص بنا أن library.localhost يجب أن يشير إلى localhost. للقيام بذلك، يمكنك إدخال الإدخال التالي إلى ملف /etc/hosts الخاص بك.
127.0.0.1 library.localhost
سيؤدي هذا إلى تعيين library.localhost إلى localhost. لدى Bench أمر مناسب للقيام بذلك فقط.
$ bench --site library.localhost add-to-hosts
سيطلب هذا كلمة مرور root الخاصة بك وسيضيف إدخالًا إلى ملف /etc/hosts الخاص بك.
<اسم الصورة>
رائع، الآن يمكنك الوصول إلى موقعك على http://library.localhost:8000. تهانينا على وصولك إلى هذا الحد.
تثبيت التطبيق على الموقع
لتثبيت تطبيق إدارة المكتبة الخاص بنا على موقعنا، قم بتشغيل الأمر التالي:
$ bench --site library.localhost install-app library_management
Installing library_management...
لتأكيد ما إذا تم تثبيت التطبيق، قم بتشغيل الأمر التالي:
$ bench --site library.localhost list-apps
frappe
library_management
يجب أن ترى frappe و library_management كتطبيقات مثبتة على موقعك.
عند إنشاء موقع جديد، يتم تثبيت تطبيق
frappeافتراضيًا.
تسجيل الدخول إلى Desk
لإنشاء أنواع مستندات في تطبيقنا، يجب علينا تسجيل الدخول إلى Desk. انتقل إلى http://library.localhost:8000 ويجب أن يعرض لك صفحة تسجيل الدخول.
<اسم الصورة>
أدخل Administrator كمستخدم وكلمة المرور التي قمت بتعيينها أثناء إنشاء الموقع.
<اسم الصورة>
بعد تسجيل الدخول بنجاح، سترى ساحر الإعداد (setup wizard). هذا ساحر إعداد لمرة واحدة يستخدم لإعداد تفاصيل التوطين لموقعك. تابع، حدد لغتك، وأكمل الساحر.
أحسنت عملًا في الوصول إلى هذا الحد!
يجب أن ترى Desk الذي يبدو شيئًا كالتالي:
<اسم الصورة>
أوامر الموقع
لقد قمنا بتشغيل أمرين bench مع خيار --site. تسمى هذه الأوامر أوامر الموقع.
فيما يلي بعض أوامر الموقع المفيدة.
وحدة تحكم Python
# الوصول إلى وحدة تحكم Python
$ bench --site library.localhost console
Apps in this namespace:
frappe, library_management
In [1]:
وحدة تحكم MariaDB
# الوصول إلى وحدة تحكم MariaDB
$ bench --site library.localhost mariadb
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2333498
Server version: 10.4.13-MariaDB Homebrew
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [_ad03fa1a016ca1c4]>
نسخ احتياطي لقاعدة البيانات
$ bench --site library.localhost backup
Backup Summary for library.localhost at 2020-10-06 23:21:17.277960
Config : ./library.localhost/private/backups/20201006_232116-library_test-site_config_backup.json 94.0B
Database: ./library.localhost/private/backups/20201006_232116-library_test-database.sql.gz 217.4KiB
Backup for Site library.localhost has been successfully completed
يمكنك رؤية قائمة بجميع أوامر الموقع عن طريق تشغيل الأمر التالي:
$ bench --help
Usage: bench frappe [OPTIONS] COMMAND [ARGS]...
Options:
--site TEXT
--profile Profile
--verbose Verbose
--force Force
--help Show this message and exit.
Commands:
add-system-manager Add a new system manager to a site
add-to-email-queue Add an email to the Email Queue
add-to-hosts Add site to hosts
backup Backup
browse Opens the site on web browser
build Minify + concatenate JS and CSS files, build...
build-message-files Build message files for translation
build-search-index
bulk-rename Rename multiple records via CSV file
clear-cache Clear cache, doctype cache and defaults
clear-website-cache Clear website cache
console Start ipython console for a site
data-import Import documents in bulk from CSV or XLSX...
destroy-all-sessions Clear sessions of all users (logs them out)