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

تثبيت الخادم

المتطلبات

نظام التشغيل

يتم دعم جميع أنظمة التشغيل الرئيسية، بما في ذلك 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 can be installed using pre-built binaries or by building from source.

Pre-built Binaries

For production deployments, we recommend using pre-built binaries. Download the latest release from the GitHub Releases page. Casibase provides binaries for:

  • Linux: x86_64 (amd64) and ARM64
  • Windows: x86_64 (amd64) and ARM64
  • macOS: x86_64 (amd64) and ARM64

Extract the downloaded archive and you'll find the Casibase binary along with the web frontend and configuration files ready to use.

Build from Source

يتم استضافة الكود المصدري لـ 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 لتغيير التكوين.

casdoorEndpoint = <نقطة نهاية Casdoor الخاصة بك>
clientId = <معرف العميل لتطبيق Casdoor الخاص بك>
clientSecret = <سر العميل لتطبيق Casdoor الخاص بك>
casdoorOrganization = <اسم منظمة Casdoor الخاصة بك>
casdoorApplication = <اسم تطبيق Casdoor الخاص بك>

Run

تنبيه

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

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

Using Pre-built Binary

If you downloaded a pre-built binary, extract the archive and run Casibase directly. The binary already includes the compiled frontend.

For Linux/macOS:

# Example for Linux x86_64
tar -xzf casibase_Linux_x86_64.tar.gz
cd casibase
./casibase

For Windows (PowerShell):

# Example for Windows x86_64
Expand-Archive casibase_Windows_x86_64.zip -DestinationPath .
cd casibase
.\casibase.exe

The server will start on port 14000 by default.

وضع التطوير

الخلفية

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

شغّل go run main.go

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

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

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

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

Building from Source

If you're building from source, follow these steps to create a production build.

الخلفية

قم ببناء كود خلفية 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.