تثبيت الخادم
المتطلبات
نظام التشغيل
يتم دعم جميع أنظمة التشغيل الرئيسية، بما في ذلك Windows وLinux وmacOS.
البيئة
يتم استخدام Casibase على خطوتين:
- الخطوة 1: نشر وتشغيل Casdoor
- الخطوة 2: نشر وتشغيل 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 موجودان في نفس المستودع.
| الاسم | الوصف | اللغة | الكود المصدري |
|---|---|---|---|
| الواجهة الأمامية | واجهة المستخدم الأمامية لـ Casibase | JavaScript + React | <الرابط: https://github.com/casibase/casibase/tree/master/web> |
| الخلفية | واجهة برمجة تطبيقات RESTful لـ Casibase | Golang + 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.