База знаний The Hostels

Установка и настройка решения

Введение

Платформу можно ставить на Windows Server (например, 1Cloud.ru), либо Windows хостинг (например, reg.ru Win-1).

Есть 2 модификации платформы: 

  • MVC - на базе ASP.NET MVC 5
  • Core - на базе ASP.NET Core (в корне проекта есть appsettings.json). 

Модификации отличаются структурой каталогов. 

Для установки на Windows Server минимальные требования: 

  • 2 ГБ RAM 
  • 30Гб HDD
  • 2 ядра CPU

Требуемый софт на сервере

  • MS SQL Server 2016+ (подойдет бесплатная версия SQL Server Express Edition).
  • IIS Manager 8+
  • .NET 4.6

Порядок установки приложения Falcon Space

Создать базу путем Restore backup из образа чистовой базы blank2, либо из другой базы.

Создать пользователя SQL и дать права на созданную базу данных (схема db_owner).

Скопировать файлы веб-приложения Falcon Space в папку на сервере (например, C:\sites\projectName)

Прописать в файле appsettings.json (или в web.config для MVC версии) подключение к БД (в Connection Strings), имя куки, ключ лицензии(в разделе appSettings), прописанный в лицензионном договоре.

Создать сайт в IIS:

  • привязка (binging) к домену (4 привязки - www и без www, https и без).
  • путь к папке с веб-приложением
  • создать и привязать пул к приложению. для Core приложения лучше создавать отдельный пул с типом No Managed Code (в настройках пула Advanced Settings также указать LoadUserProfile = true). Для MVC - обычный пул типа .NET 4.0

Дать права на запись в папку /uploads (для Core - /wwwroot/uploads) для IIS_IUSRS через File Explorer (Мой компьютер).

Проверяем, что все работает - запускаем домен и входим под админом (пароль админа будет получен при передачи бекапа БД).

Примечание: Ваш домен должен указывать на IP адрес сервера. Для этого необходимо прописать DNS зону для домена (2 записи типа A с IP сервера приложения - @ и www). Чтобы уменьшить время обновления установить TTL домена в минимальное значение (3600). 

Проверить связку домен - IP можно через команду ping: Win +R > cmd > ping mydomain.ru

Установка через панель Plesk на хостинге (например, reg.ru)

  1. Создаем домен в разделе Сайты
  2. В настройках ASP.NET указываем версию 4.7
  3. В разделе Базы данных создаем базу данных MS SQL 
  4. Создаем пользователя FTP и подклчаемся через FTP клиент. 
  5. Копируем через FTP бекап базы данных и выполняем операцию Восставление БД из бекапа
  6. По FTP копируем все файлы приложения в папку сайта. 
  7. Прописываем в файле web.config (для Core версии - appsettings.json) подключение к БД, имя куки, ключ лицензии, прописанный в лицензионном договоре
  8. В Файлы даем права редактирования на папку /uploads для пользователя Пользователь пула 
  9. После создания вы можете также сделать Lets Encrypt для https версии сайта (беслпатный SSL для домена).
  10. В DNS прописываем IP адрес, соответствующий сайту

Примечание: для хранения сессий пользователей на диске, необходимо создать папку DataProtectionStorage (дать доступ процессу пула на запись), а также файлы certificate.json и pfx сертификат. Как создать сертификат (Create self signed sertificate)

Обновление экземпляра Falcon Space

Перед обновлением создаем бекап существующего сайта - копируем папку сайта. 

Переименовываем файл /app_offline1.html в app_offline.html - это поставит заглушку на сайт и позволит заменять файлы проекта (операционная система не будет занимать файлы).

Обновляем все файлы из свежей версии, кроме:

  • папки uploads - в ней лежат рабочие файлы проекта (картинки, документы и т.д.)
  • web.config (или appsettings.json), urlrewrite.config - здесь хранятся настройки приложения
  • manifest.json, webmanifest - файлы манифеста PWA приложения
  • папка /app_data - системная папка с данными

Переименовываем файл /app_offline.html в /app_offline.html обратно 

База данных при обновлении ядра платформы не меняеются (могут быть только точечные изменения, но они делаются вне процесса обновления ядра платформы). 

Настройка системы

В системе есть различный уровень настроек:

  • Системный SQL (/syssp) задает ключевые настройки, работающие через SQL ( в первую очередь это каркас страницы GetLayout)
  • Статичные настройки (/settings) - раздел неизменяемых опций, которые используются в системе
  • Системные настройки (файл web.config)
  • Настройки frontend (/uplaods/as.systemOptions.js) - для стилизации и работы в JS 

Раздел Системный SQL (/sysSP)

  • Процедура поиска (falcon_search) - процедура глобального поиска (в шапке сайта)
  • Процедура GetLayout (falcon_getLayoutInfo) - процедура извлечения для построения страницы (язык, настройки макета и т.д.). Выполняется при загрузке каждой страницы
  • Периодический запуск (falcon_sync) - хранимки, которые запускаются по периоду. Чтобы они корректно работали, необходимо настроить ежеминутный вызов адреса из внешнего сервиса (см. соответствующий раздел)
  • Генерация sitemap.xml (falcon_sitemap) - создание карты сайта в виде файла sitemap.xml

Раздел  Настройки /settings

  • mail…. - Настройки отправки почты
  • commonScripts - разметка перед закрывающим тегом (счетчики, скрипты, глобальные кнопки и т.д.)
  • commonStyles - добавление стилей, подключение шрифтов
  • apiType  - тип вывода АПИ. Либо XML либо JSON
  • brand - Что выводится наверху слева (название сайта)
  • logChanges - логировать или нет изменения сущностей (если не используется, то лучше не логировать, чтобы не разрасталась база)
  • robots.txt - редактирование файла индексации robots (для поисковиков)
  • sitemap.xml - редактирование sitemap.xml файла (для поисковиков). Настройка НЕАКТУАЛЬНА (данные теперь берутся из процедуры falcon_sitemap).
  • globalJS - JS, который будет доступен каждой странице
  • globalCSS - стили, которые применятся к каждой странице
  • logoIcon - FontAwesome иконка для логотипа вверху слева
  • ShowDebugInfo - если 1, то для компонентов Форма, Таблица, Дашборд и др будут выводиться JSON объекты в консоль браузера (независимо от роли)
  • logoffURL - если указан URL, то после выхода пользователь будет переходить на этот адрес, а не на главную
  • enableLogErrorForBot - если "1", то для ботов будут фиксироваться JS ошибки в trace (по умолчанию логирование ошибок для ботов отключено)
  • disableMailLog - если 1, то будет отключено логирование отправки писем в trace с кодом email

Подробную информацию можно найти в официальной документации

Все вопросы