Встановлення сервера
Вимоги
Операційна система
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 |
| Бекенд | RESTful API бекенд для 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
Режим виробництва
Бекенд
Зібрати код Go бекенду Casdoor в виконуваний файл та запустити його.
Для Linux:
go build
./casdoor
Для Windows:
go build
casdoor.exe
Фронтенд
Зібрати код фронтенду Casdoor у статичні ресурси (.html, .js, .css файли):
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.
