메인 콘텐츠로 건너뛰기

서버 설치

요구 사항

운영 체제

Windows, Linux 및 macOS를 포함한 모든 주요 운영 체제가 지원됩니다.

환경

정보

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의 경우, 위 예제와 같이 dataSourceNameserial_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 백엔드를 재시작하십시오.