Skip to main content

Установка

Эти параграфы помогут вам развернуть Casnode на вашем сервере. Если вы хотите установить Casnode с помощью панели BT или Docker, пожалуйста, ознакомьтесь с подробностями на сайте: BT Panel и Docker.

Сначала клонируйте кастронд:

git clone https://github.com/casbin/casnode

и выполните эти шаги, чтобы легко настроить свой собственный форум!

Производственная среда

1. Настроить корпус

Кашузел использует Casdoor для управления членами. Поэтому вам нужно создать организацию и приложение для Casnode в экземпляре Касдвери.

Выполните следующие шаги для настройки кассена для Casnode:

  • Перейдите в Касдорф (нажмите здесь для деталей Касдор)

  • Войдите в организацию "Встроенная"

  • Нажмите организаций в верхней панели

  • Нажмите кнопку добавить

  • Запомнить название организации, здесь я использую casbin-forum в качестве имени моей организации: организация

  • Нажмите Приложения в верхней панели

  • Нажмите кнопку добавить

  • Запомнить имя приложения, здесь я использую форум в качестве моего имени приложения:

  • Нажмите Изменить

приложение

  • Выберите организацию, которую вы только что создали в качестве организации приложения

выбрать

  • Изменить URL перенаправления по URL форума. Если вы находитесь в развивающейся среде, ваш URL перенаправления - http://localhost:3000/callback. Если вы находитесь в рабочей среде, то URL-адрес перенаправления будет http://yourip:7000/callback

редиректы

  • Нажмите Сохранить и запомните ID клиента и ключ клиента

клиент

2. Изменить conf/app.conf

Вот объяснение элементов конфигурации:

Database connection:

Casnode database

Имя водителя = mysql
dataSourceName = root:123@tcp(localhost:3306)/
dbName = casnode

Casdoor database

casdoorDbName = casdoor
Casdoor's driverName and dataSourceName are the same as casnode by default. If your Casdoor and Casnode are not in the same database, you can set up the casdoor database in casdoor/adapter.go

Here we provide an example:

  1. Add casdoor configuration in conf/app.conf:
casdoorDriverName =
casdoorDataSourceName =
  1. Modify the func InitCasdoorAdapter():
    adapter = NewAdapter(beego.AppConfig.String("casdoorDriverName"), beego.AppConfig.String("casdoorDriverName"), beego.AppConfig.String("casdoorDbName"))

Object Storage Service (Casnode uses OSS to store resources):

OSSProvider = ""
accessKeyID = ""
accessKeySecret = ""
OSSCustomDomain = ""
OSSBasicPath = ""
OSSRegion = ""
OSSEndPoint = ""
OSSBucket = ""

If you can not access Google in normal ways, you need to set up a http proxy here:

httpProxy = "127.0.0.1:10808"

Casdoor config:

# Your Casdoor endpoint in step 1
casdoorEndpoint = http://localhost:8000

# Client ID you copied in step 1
clientId = xxx

# Client Secret you copied in step 1
clientSecret = xxx

jwtSecret = CasdoorSecret

# Organization name in step 1
casdoorOrganization = "casbin-forum"

3. Изменить web/src/Conf.js

export const AuthConfig = {
// Your Casdoor endpoint in step 1
serverUrl: "http://localhost:7001",

// Client ID you copied in step 1
clientId: "014ae4bd048734ca2dea",

// Application name you copied in step 1
appName: "app-casbin-forum",

// Organization name you copied in step 1
organizationName: "casbin-forum",
};

4. Построить фронт

В папке web, выполните следующие команды:

yarn install && yarn run build

5. Собрать конец

В корне репозитория, запустите:

go build
./casnode

Затем приложение Casnode должно работать на порту 7000. Вы можете настроить передачу nginx прокси для управления SSL или чем-то еще.

Для большинства владельцев сайтов, которые хотят создать форум с помощью Casnode, достаточно шагов, описанных выше. Но если вы разработчик, хотите внести свой вклад в Casnode, или измените код, соответствующий вашему окружению, вы можете запустить Casnode в режиме разработки. Пожалуйста, выполните эти шаги для начала разработки режима:

Окружение Dev

1. Сделайте шаг 1-3 выше

4. Вернуться к концу

go run main.go

5. Запустить конец фронта

В веб- папке:

yarn install
yarn run start

Теперь Casnode работает на порту 3000 и запускает его обратно на порту 7000. Вы можете изменить код и посмотреть, что произойдет. ::caution В передней части используются эти коды для определения того, является ли это режим dev:

export function initServerUrl() {
const hostname = window.location.hostname;
if (hostname === "localhost") {
ServerUrl = `http://${hostname}:7000`;
}
}

Это означает, что имя хоста localhost, то вы находитесь в режиме dev. Если нет, то вы находитесь в продуктивном режиме. Порт конечного порта не совпадает в режиме dev и в продуктивном режиме, поэтому не используйте 127. .0.1 вместо localhost в вашем браузере в режиме dev. :::