إنشاء موقع

كل موقع يأتي مع قاعدة بيانات خاصة به. يمكن تخصيصهم من خلال البرمجة النصية الخاصة بالموقع أو يمكن تثبيت التطبيقات عليهم.

إنشاء موقع جديد

لإنشاء موقع جديد، قم بتشغيل الأمر التالي من دليل 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)
Discard
Save

On this page

Review Changes ← Back to Content
Message Status Space Raised By Last update on