تخطى إلى المحتوى الرئيسي

تثبيت الخادم

المتطلبات

نظام التشغيل

يتم دعم جميع أنظمة التشغيل الرئيسية، بما في ذلك Windows وLinux وmacOS.

البيئة

معلومات

يتم استخدام Casibase على خطوتين:

نوصي بشدة باستخدام Yarn 1.x لتشغيل وبناء واجهة Casdoor وCasibase الأمامية، حيث قد يؤدي استخدام NPM إلى مشاكل في تنسيق واجهة المستخدم، انظر: casdoor#294

تنبيه

بالنسبة للمستخدمين الصينيين، لتنزيل حزم Go بنجاح، تحتاج إلى استخدام وكيل Go من خلال تكوين متغير البيئة GOPROXY. نوصي بشدة باستخدام: https://goproxy.cn/

قاعدة البيانات

يستخدم Casibase XORM للتواصل مع قاعدة البيانات. استنادًا إلى دعم برامج تشغيل Xorm، يدعم Casibase حاليًا قواعد البيانات التالية:

  • ماي إس كيو إل
  • ماريا دي بي
  • بوستجري إس كيو إل
  • كوكرتش دِي بي
  • خادم SQL
  • أوراكل
  • إس كيو لايت 3
  • تي دِي بي

جواكيد

يستخدم Casibase guacamole-server لتوفير الوصول إلى سطح المكتب عن بُعد. إذا كنت ترغب في استخدام هذه الميزة، فعليك تثبيت guacamole-server أولاً. إذا لم تكن قد قمت بتثبيت guacamole-server بعد، يمكنك الرجوع إلى تثبيت guacamole-server.

يمكنك أيضًا تشغيل guacd في Docker باستخدام الأمر التالي:

docker run -d --name جواكيد -p 4822:4822 guacamole/guacd

التنزيل

يتم استضافة الكود المصدري لـ Casibase على GitHub: https://github.com/casibase/casibase. كل من كود الخلفية المكتوب بلغة Go وكود الواجهة الأمامية المكتوب بلغة React موجودان في نفس المستودع.

الاسمالوصفاللغةالكود المصدري
الواجهة الأماميةواجهة المستخدم الأمامية لـ CasibaseJavaScript + React<الرابط: https://github.com/casibase/casibase/tree/master/web>
الخلفيةواجهة برمجة تطبيقات RESTful لـ CasibaseGolang + Beego + XORM<الرابط: https://github.com/casibase/casibase>

يدعم Casibase Go Modules. لتنزيل الكود، ما عليك سوى استنساخ الكود عبر git:

انتقل إلى المسار: path/to/folder
قم بتنفيذ git clone https://github.com/casibase/casibase

التكوين

تكوين Casdoor

Please refer to Casdoor-SSO section to configure Casdoor.

تذكر معلومات تكوين Casdoor الخاصة بك مثل clientId وclientSecret وorganization وapplication، والتي سنستخدمها لاحقًا.

تكوين قاعدة البيانات

يدعم Casibase mysql وmssql وsqlite3 وpostgres. يستخدم Casibase mysql افتراضيًا.

ماي إس كيو إل

سيخزن Casibase معلومات المستخدمين والعقد والموضوعات في قاعدة بيانات MySQL تسمى casibase. إذا لم تكن قاعدة البيانات موجودة، فستحتاج إلى إنشائها يدويًا. يمكن تحديد سلسلة اتصال قاعدة البيانات هنا: https://github.com/casibase/casibase/blob/master/conf/app.conf

اسم السائق = mysql dataSourceName = root:123456@tcp(localhost:3306)/ اسم قاعدة البيانات = casibase

بوستجري إس كيو إل

نظرًا لأننا يجب أن نختار قاعدة بيانات عند فتح Postgres باستخدام xorm، يجب عليك تحضير قاعدة بيانات يدويًا قبل تشغيل Casibase.

بافتراض أنك قد جهزت بالفعل قاعدة بيانات تسمى casibase، يجب عليك تحديد app.conf كما يلي:

اسم السائق = postgres dataSourceName = "user=postgres password=postgres host=localhost port=5432 sslmode=disable dbname=casibase" اسم قاعدة البيانات =

معلومات

بالنسبة لـ PostgreSQL، تأكد من أن dataSourceName يحتوي على dbName غير فارغ، واترك حقل dbName المنفصل فارغًا كما في المثال أعلاه.

كوكرتش دِي بي

يمكنك أيضًا استخدام Cockroachdb مع برنامج تشغيل postgres. التكوين هو نفسه كما في PostgreSQL.

اسم السائق = postgres dataSourceName = "user=postgres password=postgres host=localhost port=5432 sslmode=disable dbname=casibase serial_normalization=virtual_sequence" اسم قاعدة البيانات =

معلومات

بالنسبة لـ CockroachDB، لا تنسَ إضافة serial_normalization=virtual_sequence في dataSourceName كما في المثال أعلاه. وإلا، ستتلقى خطأً في كل مرة يبدأ فيها الخدمة أو يعاد تشغيلها بأن قاعدة البيانات موجودة بالفعل. لاحظ أنه يجب إضافة هذا قبل إنشاء قاعدة البيانات.

إس كيو لايت 3

يجب عليك تحديد app.conf كما يلي:

اسم السائق = sqlite
dataSourceName = "file:casibase.db?cache=shared"
اسم قاعدة البيانات = casibase

التكوين المخصص

يدعم Casibase التكوينات المخصصة، يمكنك تعديل ملف التكوين conf/app.conf لتغيير التكوين.

  • الخلفية (conf/app.conf)
casdoorEndpoint = <نقطة نهاية Casdoor الخاصة بك>
clientId = <معرف العميل لتطبيق Casdoor الخاص بك>
clientSecret = <سر العميل لتطبيق Casdoor الخاص بك>
casdoorOrganization = <اسم منظمة Casdoor الخاصة بك>
casdoorApplication = <اسم تطبيق Casdoor الخاص بك>
  • الواجهة الأمامية (web/src/Conf.js)
serverUrl: "<نقطة نهاية Casdoor الخاصة بك>"
clientId: "<معرف العميل لتطبيق Casdoor الخاص بك>"
appName: "<اسم تطبيق Casdoor الخاص بك>"
organizationName: "<اسم منظمة Casdoor الخاصة بك>"

Run

حاليًا، هناك طريقتان للبدء، ويمكنك اختيار إحداهما وفقًا لحالتك.

تنبيه

يحتاج Casibase إلى Casdoor للتحكم في الوصول وبعض خدمات الخلفية، لذلك يجب عليك التأكد من أن Casdoor يعمل بشكل صحيح قبل تشغيل Casibase.

كيفية تثبيت وتشغيل Casdoor:

وضع التطوير

الخلفية

تعمل خلفية Go لـ Casibase على المنفذ 14000 افتراضيًا. يمكنك بدء تشغيل خلفية Go باستخدام الأمر التالي:

شغّل go run main.go

بعد تشغيل الخادم بنجاح، يمكننا بدء جزء الواجهة الأمامية.

الواجهة الأمامية

الواجهة الأمامية لـ Casibase هي مشروع Create-React-App (CRA) كلاسيكي جدًا. وهو يعمل على المنفذ 13001 افتراضيًا. استخدم الأمر التالي لتشغيل الواجهة الأمامية:

انتقل إلى مجلد web
yarn install
ابدأ yarn

وضع الإنتاج

الخلفية

قم ببناء كود خلفية Go لـ Casibase إلى ملف قابل للتنفيذ وتشغيله.

بالنسبة لـ Linux:

go build
./casibase

بالنسبة لـ Windows:

go build
casibase.exe

الواجهة الأمامية

قم ببناء كود الواجهة الأمامية لـ Casibase إلى موارد ثابتة (ملفات .html و.js و.css):

انتقل إلى مجلد web
yarn install
قم ببناء المشروع باستخدام yarn

إنجينكس

نصيحة

إذا كنت تستخدم nginx كوكيل عكسي، فأنت بحاجة إلى إضافة التكوين التالي في ملف تكوين nginx الخاص بك:

location / {
*** تكوينك ***
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

لأن Casibase يستخدم websocket للتواصل مع guacd.

معاينة

قم بزيارة: http://localhost:13001 في المتصفح. قم بتسجيل الدخول إلى لوحة تحكم Casibase باستخدام حساب المستخدم الذي قمت بالتو بتسجيله في Casdoor:

تسجيل الدخول

ثم ستذهب إلى الصفحة الرئيسية من كاسيباس:

الرئيسية

نصيحة

لاستخدام منفذ آخر، يرجى تعديل conf/app.conf وتغيير قيمة httpport، ثم إعادة تشغيل الخادم الخلفي المكتوب بـ Go.