การติดตั้งเซิร์ฟเวอร์
ความต้องการ
ระบบปฏิบัติการ
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 อาจทำให้เกิดปัญหาเกี่ยวกับสไตล์ UI สำหรับรายละเอียดเพิ่มเติม ดูที่: 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 อยู่ในที่เก็บเดียวกัน
| ชื่อ | คำอธิบาย | ภาษา | ซอร์สโค้ด |
|---|---|---|---|
| ฟรอนต์เอนด์ | UI ฟรอนต์เอนด์เว็บสำหรับ Casdoor | JavaScript + React | https://github.com/casdoor/casdoor/tree/master/web |
| แบ็กเอนด์ | แบ็กเอนด์ API แบบ 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
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
serial_normalization=virtual_sequence ใน dataSourceName ตามที่แสดงในตัวอย่างด้านบน มิฉะนั้น คุณจะได้รับข้อผิดพลาดเกี่ยวกับฐานข้อมูลที่มีอยู่แล้วเมื่อบริการเริ่มต้นหรือรีสตาร์ท โปรดทราบว่าสิ่งนี้ต้องเพิ่มก่อนที่จะสร้างฐานข้อมูล :::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 เป็นไฟล์ที่สามารถทำงานได้และเริ่มต้นมัน
สำหรับ Linux:
go build
./casdoor
สำหรับ Windows:
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 (หากคุณใช้ reverse proxy คุณต้องตั้งค่าลิงก์เป็น โดเมนของคุณ)
ยกตัวอย่างเว็บบอร์ดอย่างเป็นทางการของเรา Casnode
Casnode ใช้ Casdoor เพื่อจัดการการตรวจสอบสิทธิ์
เมื่อเรากำลังทดสอบ Casnode ในสภาพแวดล้อม dev เราตั้งค่า serverUrl เป็น http://localhost:7001 ดังนั้นเมื่อเราทดสอบฟังก์ชันล็อกอินและสมัครใช้งานผ่าน Casdoor มันจะไปที่ localhost 7001 ซึ่งเป็นพอร์ตของ Casdoor
และเมื่อเรานำ Casnode ไปใช้ในสภาพแวดล้อม prod เราตั้งค่า serverUrl เป็น https://door.casdoor.com ดังนั้นผู้ใช้สามารถล็อกอินหรือสมัครใช้งานผ่าน Casdoor
