Перейти до основного контенту

Встановлення сервера

Вимоги

Операційна система

Підтримуються всі основні операційні системи, включаючи Windows, Linux та macOS.

Середовище

інформація

Використання Casibase розділено на два етапи:

Ми настійно рекомендуємо використовувати Yarn 1.x для запуску та збірки фронтенду Casdoor&Casibase, оскільки використання NPM може призвести до проблем зі стилізацією інтерфейсу, більше деталей дивіться за посиланням: casdoor#294

обережно

Для китайських користувачів, щоб успішно завантажувати пакети залежностей Go, потрібно використовувати Go proxy, налаштувавши змінну середовища GOPROXY. Ми настійно рекомендуємо: https://goproxy.cn/

База даних

Casibase використовує XORM для взаємодії з базою даних. Базуючись на Підтримці драйверів Xorm, Casibase наразі підтримує наступні бази даних:

  • MySQL
  • MariaDB
  • PostgreSQL
  • CockroachDB
  • SQL Server
  • Oracle
  • SQLite 3
  • TiDB

guacd

Casibase використовує guacamole-server для надання доступу до віддаленого робочого столу. Якщо ви бажаєте використовувати цю функцію, спочатку потрібно встановити guacamole-server. Якщо ви ще не встановили guacamole-server, будь ласка, ознайомтеся з інструкцією з встановлення guacamole-server.

Ви також можете запустити guacd у docker за допомогою такої команди:

docker run -d --name guacd -p 4822:4822 guacamole/guacd

Завантаження

Джерельний код Casibase розміщено на GitHub: https://github.com/casibase/casibase. І бекенд на Go, і фронтенд на React знаходяться в одному репозиторії.

НазваОписМоваВихідний код
ФронтендВеб-інтерфейс CasibaseJavaScript + Reacthttps://github.com/casibase/casibase/tree/master/web
БекендRESTful API бекенд CasibaseGolang + Beego + XORMhttps://github.com/casibase/casibase

Casibase підтримує Go Modules. Щоб завантажити код, ви можете просто клонувати репозиторій за допомогою git:

cd шлях/до/папки
git clone https://github.com/casibase/casibase

Налаштування

Налаштування Casdoor

Будь ласка, зверніться до розділу Casdoor-SSO для налаштування Casdoor.

Запам'ятайте ваші clientId,clientSecret,organization,application тощо в конфігурації Casdoor, вони нам знадобляться надалі.

Налаштування бази даних

Casibase підтримує mysql, mssql, sqlite3, postgres. За замовчуванням Casibase використовує mysql.

MySQL

Casibase зберігатиме інформацію про своїх користувачів, вузли та теми в базі даних MySQL з назвою: casibase. Якщо база даних не існує, її потрібно створити вручну. Рядок підключення до бази даних можна вказати за адресою: https://github.com/casibase/casibase/blob/master/conf/app.conf

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

PostgreSQL

Оскільки ми повинні вибрати базу даних при відкритті Postgres за допомогою xorm, вам слід вручну підготувати базу даних перед запуском Casibase.

Припустимо, ви підготували базу даних з назвою casibase, тоді вам слід вказати app.conf:

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

інформація

Для PostgreSQL переконайтеся, що dataSourceName має ненульове значення dbName, а окреме поле dbName залишається порожнім, як у прикладі вище.

CockroachDB

Ви також можете використовувати Cockroachdb з драйвером postgres. Вона має таку ж конфігурацію, як postgreSQL.

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

інформація

Для CockroachDB не забудьте додати serial_normalization=virtual_sequence до dataSourceName, як у наведеному прикладі. інакше при запуску або перезапуску сервісу ви отримаєте помилку щодо існуючої бази даних. Зверніть увагу, це потрібно додати до створення бази даних.

Sqlite3

Ви повинні вказати app.conf:

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

Налаштування за бажанням

Casibase підтримує користувацьку конфігурацію, ви можете змінити файл конфігурації conf/app.conf для зміни налаштувань.

  • Бекенд (conf/app.conf)
casdoorEndpoint = <Ваша кінцева точка Casdoor>
clientId = <ID клієнта вашої програми Casdoor>
clientSecret = <Секрет клієнта вашої програми Casdoor>
casdoorOrganization = <Назва вашої організації Casdoor>
casdoorApplication = <Назва вашої програми Casdoor>
  • Фронтенд (web/src/Conf.js)
serverUrl: "<Ваша кінцева точка Casdoor>"
clientId: "<ID клієнта вашої програми Casdoor>"
appName: "<Назва вашої програми Casdoor>"
organizationName: "<Назва вашої організації Casdoor>"

Запуск

Наразі є два способи запуску, ви можете вибрати один з них відповідно до вашої ситуації.

обережно

Casibase потребує Casdoor для забезпечення контролю доступу та деяких серверних послуг, тому перед запуском Casibase ви повинні переконатися, що Casdoor працює нормально.

Як встановити та запустити Casdoor:

Режим розробки

Бекенд

Go-бекенд Casibase за замовчуванням працює на порту 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 використовує websocket для спілкування з guacd.

Перегляд

Відкрийте у браузері: http://localhost:13001. Увійдіть у панель керування Casibase, використовуючи обліковий запис, який ви щойно зареєстрували в Casdoor:

login

Потім ви перейдете на головну сторінку Casibase:

home

порада

Щоб використовувати інший порт, відредагуйте conf/app.conf і змініть httpport, потім перезапустіть бекенд Go.