تثبيت الخادم
المتطلبات
نظام التشغيل
يتم دعم جميع أنظمة التشغيل الرئيسية، بما في ذلك 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 على 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
لتغيير التكوين.
- الخلفية (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.