서버 설치
요구 사항
운영 체제
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 프론트엔드 코드는 단일 저장소에 포함되어 있습니다.
| 이름 | 설명 | 언어 | 소스 코드 |
|---|---|---|---|
| 프론트엔드 | Casdoor을 위한 웹 프론트엔드 UI | JavaScript + React | https://github.com/casdoor/casdoor/tree/master/web |
| 백엔드 | Casdoor을 위한 RESTful API 백엔드 | 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는 사용자, 노드, 토픽 정보를 casdoor라는 MySQL 데이터베이스에 저장합니다. 데이터베이스가 존재하지 않으면 수동으로 생성해야 합니다. DB 연결 문자열은 다음 위치에서 지정할 수 있습니다: 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).
실행
현재 시작하는 두 가지 방법이 있으며, 상황에 따라 하나를 선택할 수 있습니다.
개발 모드
백엔드
Casdoor의 Go 백엔드는 기본적으로 8000 포트에서 실행됩니다. 다음 명령을 사용하여 Go 백엔드를 시작할 수 있습니다:
go run main.go
서버가 성공적으로 실행되면 프론트엔드 부분을 시작할 수 있습니다.
프론트엔드
Casdoor의 프론트엔드는 매우 클래식한 Create-React-App (CRA) 프로젝트입니다. 기본적으로 7001 포트에서 실행됩니다. 다음 명령을 사용하여 프론트엔드를 실행하세요:
cd web
yarn install
yarn start
브라우저에서 http://localhost:7001을 방문하세요. 기본 전역 관리자 계정인 built-in/admin으로 Casdoor 대시보드에 로그인하세요.
admin
123
생산 모드
백엔드
Casdoor Go 백엔드 코드를 실행 가능한 파일로 빌드하고 시작하세요.
리눅스용:
go build
./casdoor
윈도우용:
go build
casdoor.exe
프론트엔드
Casdoor 프론트엔드 코드를 정적 리소스(.html, .js, .css 파일)로 빌드하세요:
cd web
yarn install
yarn build
브라우저에서 http://localhost:8000을 방문하세요. 기본 전역 관리자 계정인 built-in/admin으로 Casdoor 대시보드에 로그인하세요.
admin
123
다른 포트를 사용하려면 conf/app.conf를 편집하고 httpport를 수정한 다음 Go 백엔드를 다시 시작하세요.
dev 환경에서 프론트엔드는 7001 포트에서 yarn run으로 실행되므로 Casdoor 로그인 페이지로 이동하려면 Casdoor 링크를 http://localhost:7001로 설정해야 합니다.
prod 환경에서 프론트엔드 파일은 먼저 yarn build에 의해 빌드되고 8000 포트에서 제공되므로 Casdoor 로그인 페이지로 이동하려면 Casdoor 링크를 https://your-casdoor-url.com:8000로 설정해야 합니다(리버스 프록시를 사용하는 경우 링크를 당신의 도메인으로 설정해야 합니다).
우리의 공식 포럼 Casnode를 예로 들어보겠습니다
Casnode는 Casdoor를 사용하여 인증을 처리합니다.
dev 환경에서 Casnode를 테스트할 때, 우리는 serverUrl을 http://localhost:7001로 설정하므로, 우리가 Casdoor를 사용하여 로그인 및 가입 기능을 테스트할 때, 이는 Casdoor 포트인 localhost 7001로 이동할 것입니다.
그리고 우리가 Casnode를 prod 환경에 넣을 때, 우리는 serverUrl을 https://door.casdoor.com로 설정하므로, 사용자는 Casdoor를 사용하여 로그인 또는 가입할 수 있습니다.
