تثبيت الخادم
المتطلبات
نظام التشغيل
All major operating systems are supported, including Windows, Linux, and macOS.
البيئة
We strongly recommend using Yarn 1.x to run and build the Casdoor frontend. قد يتسبب استخدام NPM في مشاكل في أنماط واجهة المستخدم. لمزيد من التفاصيل، انظر: casdoor#294.
If your network fails to directly sync Go dependency packages successfully, you need to use a Go proxy by configuring the GOPROXY environment variable. نوصي بشدة باستخدام: https://goproxy.cn/
قاعدة البيانات
Casdoor يستخدم XORM للتواصل مع قاعدة البيانات. Based on Xorm Drivers Support, Casdoor currently provides support for the following databases:
MySQLMariaDBPostgreSQLCockroachDBSQL ServerOracleSQLite 3TiDB
تحميل
شيفرة مصدر Casdoor مستضافة على GitHub: https://github.com/casdoor/casdoor. كل من شيفرة الواجهة الخلفية Go وشيفرة الواجهة الأمامية React موجودة في مستودع واحد.
| الاسم | الوصف | اللغة | شيفرة المصدر |
|---|---|---|---|
| واجهة المستخدم الأمامية | واجهة المستخدم الأمامية للويب لـ Casdoor | JavaScript + React | https://github.com/casdoor/casdoor/tree/master/web |
| الواجهة الخلفية | واجهة برمجة التطبيقات الخلفية RESTful لـ Casdoor | Golang + Beego + XORM | https://github.com/casdoor/casdoor |
Casdoor يدعم Go Modules. لتحميل الشيفرة، ببساطة انسخ الشيفرة باستخدام git:
cd path/to/folder
git clone https://github.com/casdoor/casdoor
التكوين
تكوين قاعدة البيانات
يدعم Casdoor قواعد بيانات MySQL، MSSQL، SQLite3، و PostgreSQL. بشكل افتراضي، يستخدم Casdoor قاعدة بيانات MySQL.
MySQL
يخزن Casdoor معلومات المستخدمين والعقد والمواضيع في قاعدة بيانات MySQL باسم casdoor. إذا لم تكن قاعدة البيانات موجودة، يجب إنشاؤها يدويًا. يمكن تحديد سلسلة اتصال قاعدة البيانات على: https://github.com/casdoor/casdoor/blob/master/conf/app.conf
driverName = mysql
dataSourceName = root:123456@tcp(localhost:3306)/
dbName = casdoor
PostgreSQL
Before running Casdoor, you need to manually prepare a database for PostgreSQL, as Casdoor requires a database to be selected when opening Postgres with xorm.
بافتراض أنك قد أعددت بالفعل قاعدة بيانات تسمى casdoor، يجب أن تحدد app.conf كما يلي:
driverName = postgres
dataSourceName = user=postgres password=postgres host=localhost port=5432 sslmode=disable dbname=casdoor
dbName = casdoor
dataSourceName يحتوي على dbName غير فارغ وأيضاً قم بتكرار اسم قاعدة البيانات لحقل dbname كما هو موضح في المثال أعلاه. :::CockroachDB
يمكن أيضًا استخدام CockroachDB مع برنامج تشغيل PostgreSQL وله نفس التكوين كـ PostgreSQL.
driverName = postgres
dataSourceName = user=postgres password=postgres host=localhost port=5432 sslmode=disable dbname=casdoor serial_normalization=virtual_sequence
dbName = casdoor
SQLite3
لتكوين SQLite3، يجب أن تحدد app.conf كما يلي:
driverName = sqlite
dataSourceName = file:casdoor.db?cache=shared
dbName = casdoor
Configuration Files
Casdoor can be configured via configuration files for both the backend and frontend. For a complete reference of all configuration options, see the Configuration File documentation.
For basic setup, you typically only need to modify driverName and dataSourceName in the conf/app.conf file based on your database (see Configure Database).
تشغيل
هناك حاليًا طريقتان للبدء، ويمكنك اختيار واحدة وفقًا لوضعك.
وضع التطوير
الواجهة الخلفية
يعمل الخلفية Go لـ Casdoor على المنفذ 8000 بشكل افتراضي. يمكنك بدء الخلفية Go بالأمر التالي:
go run main.go
بعد أن يعمل الخادم بنجاح، يمكنك بدء الجزء الأمامي.
الواجهة الأمامية
واجهة Casdoor الأمامية هي مشروع Create-React-App (CRA) كلاسيكي جدًا. يعمل بشكل افتراضي على المنفذ 7001. استخدم الأوامر التالية لتشغيل الواجهة الأمامية:
cd web
yarn install
yarn start
قم بزيارة http://localhost:7001 في متصفحك. قم بتسجيل الدخول إلى لوحة تحكم Casdoor باستخدام حساب المدير العالمي الافتراضي: built-in/admin.
admin
123
وضع الإنتاج
الواجهة الخلفية
قم ببناء كود خلفية Casdoor Go إلى ملف تنفيذي وابدأ تشغيله.
لنظام لينكس:
go build
./casdoor
لنظام ويندوز:
go build
casdoor.exe
الواجهة الأمامية
قم ببناء كود واجهة Casdoor الأمامية إلى موارد ثابتة (.html، .js، .css files):
cd web
yarn install
yarn build
قم بزيارة http://localhost:8000 في متصفحك. قم بتسجيل الدخول إلى لوحة تحكم Casdoor باستخدام حساب المدير العالمي الافتراضي: built-in/admin.
admin
123
لإستخدام منفذ آخر، يرجى تعديل conf/app.conf وتعديل httpport، ثم أعد تشغيل خلفية Go.
في بيئة dev، يتم تشغيل الواجهة الأمامية بواسطة yarn run على المنفذ 7001، لذا إذا أردت الذهاب إلى صفحة تسجيل الدخول Casdoor، تحتاج إلى ضبط رابط Casdoor كـ http://localhost:7001.
في بيئة prod، يتم أولاً بناء ملفات الواجهة الأمامية بواسطة yarn build ويتم تقديمها على المنفذ 8000، لذا إذا أردت الذهاب إلى صفحة تسجيل الدخول Casdoor، تحتاج إلى ضبط رابط Casdoor كـ https://your-casdoor-url.com:8000 (إذا كنت تستخدم وكيل عكسي، تحتاج إلى ضبط الرابط كـ نطاقك).
خذ منتدانا الرسمي Casnode كمثال
Casnode يستخدم Casdoor للتعامل مع المصادقة.
عندما نقوم بتجربة Casnode في بيئة dev، نضبط serverUrl كـ http://localhost:7001، لذا عندما نختبر وظائف تسجيل الدخول والتسجيل باستخدام Casdoor، سيتم الذهاب إلى localhost 7001، وهو منفذ Casdoor.
وعندما نضع Casnode في بيئة prod، نضبط serverUrl كـ https://door.casdoor.com، لذا يمكن للمستخدمين تسجيل الدخول أو التسجيل باستخدام Casdoor.
