Saltar al contenido principal

Instalación del servidor

Requisitos

Sistema operativo

Se admiten todos los principales sistemas operativos, incluidos Windows, Linux y macOS.

Entorno

info

El uso de Casibase se divide en dos pasos:

Recomendamos encarecidamente usar Yarn 1.x para ejecutar y construir el frontend de Casdoor y Casibase. El uso de NPM puede causar problemas de estilo en la interfaz de usuario, consulte: casdoor#294

precaución

Para usuarios chinos, para descargar con éxito los paquetes de dependencias de Go, necesita utilizar un proxy de Go configurando la variable de entorno GOPROXY. Recomendamos encarecidamente: https://goproxy.cn/

Base de datos

Casibase utiliza XORM para comunicarse con la base de datos. Basado en el soporte de controladores de Xorm, Casibase actualmente admite las siguientes bases de datos:

  • MySQL (base de datos)
  • MariaDB
  • PostgreSQL
  • CockroachDB
  • SQL Server
  • Oracle (base de datos)
  • SQLite 3 (base de datos)
  • TiDB

guacd (servicio)

Casibase utiliza guacamole-server para proporcionar acceso a escritorio remoto. Si desea utilizar esta función, necesita instalar guacamole-server antes. Si aún no ha instalado guacamole-server, consulte instalación de guacamole-server.

También puede ejecutar guacd en docker con el siguiente comando:

# Ejecutar guacd en modo daemon
docker run -d --name guacd -p 4822:4822 guacamole/guacd

Descarga

El código fuente de Casibase está alojado en GitHub: https://github.com/casibase/casibase. El código backend de Go y el código frontend de React están ambos en el mismo repositorio.

NombreDescripciónLenguajeCódigo fuente
InterfazUI web de CasibaseJavaScript + Reacthttps://github.com/casibase/casibase/tree/master/web
ServidorAPI RESTful de CasibaseGolang + Beego + XORM (framework y ORM)https://github.com/casibase/casibase

Casibase soporta Go Modules. Para descargar el código, simplemente clone el código a través de git:

# Clonar repositorio
cd path/to/folder
git clone https://github.com/casibase/casibase

Configuración

Configuración de Casdoor

Consulte la sección Casdoor-SSO para configurar Casdoor.

Recuerde la información de su configuración de Casdoor, como clientId, clientSecret, organization, application, etc. Los usaremos más adelante.

Configuración de la base de datos

Casibase admite mysql, mssql, sqlite3, postgres. Casibase utiliza mysql por defecto.

MySQL (base de datos)

Casibase almacenará su información de usuarios, nodos y modelos en una base de datos MySQL llamada casibase. Si la base de datos no existe, necesita crearla manualmente. La cadena de conexión a la base de datos se puede especificar aquí: https://github.com/casibase/casibase/blob/master/conf/app.conf

driverName = mysql dataSourceName = root:123456@tcp(localhost:3306)/ dbName = casibase

PostgreSQL

Como debemos seleccionar una base de datos al abrir Postgres con xorm, debe preparar manualmente una base de datos antes de ejecutar Casibase.

Supongamos que ha preparado una base de datos llamada casibase, entonces debería especificar app.conf:

driverName = postgres dataSourceName = "user=postgres password=postgres host=localhost port=5432 sslmode=disable dbname=casibase" dbName =

info

Para PostgreSQL, asegúrese de que dataSourceName tenga un dbName no vacío y deje el campo dbName separado vacío como en el ejemplo anterior.

CockroachDB

También puede usar el controlador postgres para usar Cockroachdb. Su configuración es la misma que PostgreSQL.

driverName = postgres dataSourceName = "user=postgres password=postgres host=localhost port=5432 sslmode=disable dbname=casibase serial_normalization=virtual_sequence" dbName =

info

Para CockroachDB, no olvide agregar serial_normalization=virtual_sequence a dataSourceName como en el ejemplo anterior. De lo contrario, recibirá un error sobre la existencia de la base de datos cada vez que se inicie o reinicie el servicio. Tenga en cuenta que esto debe agregarse antes de crear la base de datos.

Sqlite3 (base de datos ligera)

Debe especificar app.conf:

driverName = sqlite
dataSourceName = "file:casibase.db?cache=shared"
dbName = casibase

Configuración personalizada

Casibase admite configuración personalizada, puede modificar el archivo de configuración conf/app.conf para cambiar la configuración.

  • Servidor (conf/app.conf)
casdoorEndpoint = <Su punto final de Casdoor>
clientId = <El ID de cliente de su aplicación Casdoor>
clientSecret = <El secreto de cliente de su aplicación Casdoor>
casdoorOrganization = <El nombre de su organización Casdoor>
casdoorApplication = <El nombre de su aplicación Casdoor>
  • Interfaz (web/src/Conf.js)
serverUrl: "<Su punto final de Casdoor>"
clientId: "<El ID de cliente de su aplicación Casdoor>"
appName: "<El nombre de su aplicación Casdoor>"
organizationName: "<El nombre de su organización Casdoor>"

Ejecutar

Actualmente hay dos métodos de inicio, puede elegir uno de ellos según su situación.

precaución

Casibase necesita Casdoor para proporcionar control de acceso y algunos servicios de backend, así que antes de ejecutar Casibase, debe asegurarse de que Casdoor esté funcionando correctamente.

Cómo instalar y ejecutar Casdoor:

Modo de desarrollo

Servidor

El backend Go de Casibase se ejecuta de forma predeterminada en el puerto 14000. Puede iniciar el backend Go con el siguiente comando:

go run main.go

Después de que el servidor se inicie correctamente, podemos iniciar la parte del frontend.

Interfaz

El frontend de Casibase es un proyecto Create-React-App (CRA) muy clásico. Se ejecuta de forma predeterminada en el puerto 13001. Use los siguientes comandos para ejecutar el frontend:

cd web
yarn install
yarn start

Modo de producción

Servidor

Compile el código del backend Go de Casibase en un ejecutable e inícielo.

Para Linux:

go build
./casibase

Para Windows:

# Compilar para Windows
go build
casibase.exe

Interfaz

Compile el código del frontend de Casibase en recursos estáticos (archivos .html, .js, .css):

cd web
yarn install
yarn build

Nginx (servidor web)

consejo

Si usa nginx como proxy inverso, debe agregar la siguiente configuración en su archivo de configuración de nginx:

location / {
*** Su configuración ***
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

Porque Casibase usa websocket para comunicarse con guacd.

Vista previa

Visite http://localhost:13001 en su navegador. Inicie sesión en el panel de control de Casibase con la cuenta de usuario que acaba de registrar en Casdoor:

login

Luego accederá a la página de inicio de Casibase:

inicio

consejo

Para usar un puerto diferente, edite conf/app.conf y modifique httpport, luego reinicie el backend Go.