서버 설치
요구 사항
운영 체제
Windows, Linux 및 macOS를 포함한 모든 주요 운영 체제가 지원됩니다.
환경
Casibase 사용은 두 단계로 이루어집니다:
- 1단계: Casdoor 배포 및 실행
- 2단계: Casibase 배포 및 실행(이 문서)
Casdoor와 Casibase 프론트엔드를 실행하고 빌드하기 위해 Yarn 1.x를 사용할 것을 강력히 권장합니다. NPM을 사용하면 UI 스타일 문제가 발생할 수 있습니다. 참고: casdoor#294
중국 사용자의 경우, Go 의존성을 성공적으로 다운로드하려면 GOPROXY 환경 변수를 구성하여 Go 프록시를 사용해야 합니다. 다음을 강력히 권장합니다: https://goproxy.cn/
데이터베이스
Casibase는 데이터베이스와 통신하기 위해 XORM을 사용합니다. Xorm 드라이버 지원에 기반하여 Casibase는 현재 다음 데이터베이스를 지원합니다:
MySQL 데이터베이스
MariaDB 데이터베이스
PostgreSQL 데이터베이스
CockroachDB 데이터베이스
SQL Server 데이터베이스
Oracle 데이터베이스
SQLite 3 데이터베이스
TiDB 데이터베이스
구아캣드
Casibase는 원격 데스크톱 액세스를 제공하기 위해 guacamole-server를 사용합니다. 이 기능을 사용하려면 먼저 guacamole-server를 설치해야 합니다. guacamole-server를 아직 설치하지 않았다면 guacamole-server 설치를 참조하세요.
다음 명령으로 Docker에서 guacd를 실행할 수도 있습니다:
명령어: docker run -d --name guacd -p 4822:4822 guacamole/guacd
다운로드
Casibase의 소스 코드는 GitHub에 호스팅되어 있습니다: https://github.com/casibase/casibase. Go 백엔드 코드와 React 프론트엔드 코드는 모두 동일한 리포지토리에 있습니다.
이름 | 설명 | 언어 | 소스 코드 |
---|---|---|---|
프론트엔드 | Casibase의 웹 프론트엔드 UI | 자바스크립트 + 리액트 | 웹 경로: https://github.com/casibase/casibase/tree/master/web |
백엔드 | Casibase의 RESTful API 백엔드 | Go 언어 + Beego + XORM | 저장소: https://github.com/casibase/casibase |
Casibase는 Go Modules
를 지원합니다. 코드를 다운로드하려면 git을 통해 코드를 클론하기만 하면 됩니다:
명령어: cd path/to/folder
git clone https://github.com/casibase/casibase
구성
Casdoor 구성
Casdoor를 구성하려면 Casdoor-SSO 섹션을 참조하세요.
나중에 사용할 clientId
, clientSecret
, organization
, application
등과 같은 Casdoor 구성 정보를 기억해 두세요.
데이터베이스 구성
Casibase는 mysql, mssql, sqlite3, postgres를 지원합니다. Casibase는 기본적으로 mysql을 사용합니다.
MySQL 데이터베이스
Casibase는 사용자, 노드 및 주제 정보를 casibase
라는 MySQL 데이터베이스에 저장합니다. 데이터베이스가 존재하지 않는 경우 수동으로 생성해야 합니다. 데이터베이스 연결 문자열은 다음 위치에서 지정할 수 있습니다: https://github.com/casibase/casibase/blob/master/conf/app.conf
드라이버명 = mysql dataSourceName = root:123456@tcp(localhost:3306)/ 데이터베이스명 = casibase
PostgreSQL 데이터베이스
xorm으로 Postgres를 열 때 데이터베이스를 선택해야 하므로 Casibase를 실행하기 전에 수동으로 데이터베이스를 준비해야 합니다.
casibase
라는 데이터베이스를 이미 준비했다고 가정하면, app.conf
를 다음과 같이 지정해야 합니다:
드라이버명 = postgres dataSourceName = "user=postgres password=postgres host=localhost port=5432 sslmode=disable dbname=casibase" 데이터베이스명 =
PostgreSQL의 경우, dataSourceName
에 비어있지 않은 dbName
이 있는지 확인하고 위 예제와 같이 별도의 dbName
필드를 비워 두세요.
CockroachDB 데이터베이스
postgres 드라이버와 함께 Cockroachdb를 사용할 수도 있습니다. 구성은 PostgreSQL과 동일합니다.
드라이버명 = postgres dataSourceName = "user=postgres password=postgres host=localhost port=5432 sslmode=disable dbname=casibase serial_normalization=virtual_sequence" 데이터베이스명 =
CockroachDB의 경우, 위 예제와 같이 dataSourceName
에 serial_normalization=virtual_sequence
를 추가하는 것을 잊지 마세요. 그렇지 않으면 서비스가 시작하거나 재시작할 때마다 데이터베이스가 이미 존재한다는 오류가 발생합니다. 이는 데이터베이스를 생성하기 전에 추가해야 합니다.
Sqlite3 데이터베이스
app.conf
를 다음과 같이 지정해야 합니다:
driverName = sqlite
dataSourceName = "file:casibase.db?cache=shared"
dbName = casibase
사용자 정의 구성
Casibase는 사용자 정의 구성을 지원합니다. 구성 파일 conf/app.conf
를 수정하여 구성을 변경할 수 있습니다.
- 백엔드 (conf/app.conf)
casdoorEndpoint = <Casdoor 엔드포인트>
clientId = <Casdoor 애플리케이션의 클라이언트 ID>
clientSecret = <Casdoor 애플리케이션의 클라이언트 시크릿>
casdoorOrganization = <Casdoor 조직 이름>
casdoorApplication = <Casdoor 애플리케이션 이름>
- 프론트엔드 (web/src/Conf.js)
serverUrl: "<Casdoor 엔드포인트>"
clientId: "<Casdoor 애플리케이션의 클라이언트 ID>"
appName: "<Casdoor 애플리케이션 이름>"
organizationName: "<Casdoor 조직 이름>"
실행
현재 두 가지 시작 방법이 있으며, 상황에 따라 하나를 선택할 수 있습니다.
Casibase는 접근 제어 및 일부 백엔드 서비스를 위해 Casdoor가 필요하므로 Casibase를 실행하기 전에 Casdoor가 제대로 실행되고 있는지 확인해야 합니다.
Casdoor를 설치하고 실행하는 방법:
개발 모드
백엔드
Casibase의 Go 백엔드는 기본적으로 포트 14000에서 실행됩니다. 다음 명령으로 Go 백엔드를 시작할 수 있습니다:
명령어: go run main.go
서버가 성공적으로 실행된 후, 프론트엔드 부분을 시작할 수 있습니다.
프론트엔드
Casibase의 프론트엔드는 매우 전형적인 Create-React-App (CRA) 프로젝트입니다. 기본적으로 포트 13001
에서 실행됩니다. 다음 명령으로 프론트엔드를 실행하세요:
명령어: cd web
yarn install
yarn start
프로덕션 모드
백엔드
Casibase Go 백엔드 코드를 실행 파일로 빌드하고 시작합니다.
Linux의 경우:
go build
./casibase
Windows의 경우:
go build
casibase.exe
프론트엔드
Casibase 프론트엔드 코드를 정적 리소스(.html, .js, .css 파일)로 빌드합니다:
명령어: cd web
yarn install
yarn build
Nginx 웹서버
nginx를 리버스 프록시로 사용하는 경우, nginx 구성 파일에 다음 구성을 추가해야 합니다:
location / {
*** 당신의 구성 ***
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
Casibase는 guacd와 통신하기 위해 websocket을 사용하기 때문입니다.
미리보기
브라우저에서 http://localhost:13001
을 방문하세요. Casdoor에 방금 등록한 사용자 계정으로 Casibase 대시보드에 로그인하세요:
그러면 Casibase의 홈 페이지로 이동합니다:
다른 포트를 사용하려면 conf/app.conf
파일을 편집하여 httpport
값을 수정한 후 Go 백엔드를 재시작하십시오.