Установка веб-платформы Falcon Space на сервер/хостинг

Введение

Платформу можно ставить на 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 обратно 

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

Примечания по переносу с хостинга на сервер

При переносе с хостинга на сервер возникают нюансы (из-за доп настроек на хостинге).

Необходимо убрать из web.config следующие настройки: 

  • убрать настройку <ModSecurity enabled="false" />
  • убрать параметр tempDirectory (путь к компиляции) в теге compilation.

Если сайт все равно не запускается, то ставим в web.config   <customErrors mode="RemoteOnly" /> и смотрим с сервера какое сообщение ошибки выдается при запуске сайта. 

Falcon Space - функциальная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом

Это быстрое внесение изменений

по ходу эксплуатации программы. Как создается функционал на платформе

Это простой удобный интерфейс

адаптация под мобильные устройства. Про юзабилити платформы