Что нужно знать при установки BPMonline на своем сервере (On-Site).

Предустановленные компоненты

Для начала у вас уже должно быть установлено:

  1. MSSQL Server: 2008, 2008R2, 2012
  2. Redis: http://redis.io/download
  3. Microsoft .NET Framework 4.0: сайт Microsoft
  4. IIS : 6.0, 7.0, 7.5

Настройка IIS

Теперь более подробно на настройке IIS, на примере версии 7.5.
Открываем:
Control Panel\All Control Panel Items\Programs and Features.
Далее:
Turn Windows features on or off.

Или просто запустите в командной строке:

OptionalFeatures

Минимальный список компонентов IIS:

  • Internet Information Services
    • Web Management Compatibility
      • IIS Management Console
      • IIS Management Service
    • World Wide Web Services
      • Application Development Features
        • .Net Extensibility
        • ASP.NET
        • ISAPI Extensions
        • ISAPI Filter
      • Common HTTP Features
        • Default Document
        • Directory Browsing
        • HTTP Errors
        • Static Content
        • WebDAV Publishing
      • Health and Diagnostics
        • HTTP Logging
        • Request Monitor
      • Performance Features
        • Static Content Compression
      • Security
        • Request Filtering

Если установлена утилита Deployment Image Servicing and Management tool, то можно установку сделать с помощью командной строки:

dism /Online /Enable-Feature /FeatureName:IIS-WebServerRole
dism /Online /Enable-Feature /FeatureName:IIS-WebServer
dism /Online /Enable-Feature /FeatureName:IIS-WebServerManagementTools
dism /Online /Enable-Feature /FeatureName:IIS-ManagementConsole
dism /Online /Enable-Feature /FeatureName:IIS-ManagementService
dism /Online /Enable-Feature /FeatureName:IIS-ISAPIFilter
dism /Online /Enable-Feature /FeatureName:IIS-ISAPIExtensions
dism /Online /Enable-Feature /FeatureName:IIS-NetFxExtensibility
dism /Online /Enable-Feature /FeatureName:IIS-ASPNET
dism /Online /Enable-Feature /FeatureName:IIS-WebDAV
dism /Online /Enable-Feature /FeatureName:IIS-Performance
dism /Online /Enable-Feature /FeatureName:IIS-HttpCompressionStatic

Установка BPMonline

После того как все предварительный работы выполнены, запускаем установку BPMonline. Установщик проведет по всем этапам. Хочу отметить несколько моментов, на которые стоит обратить внимание:

  1. Если СУБД – не локальный сервер, но нужно развернуть бекап из папки db установленного приложения.
  2. Если при установке подключение к базе было указано через Windows Authorization, то нужно в СУБД добавить пользователя, от имени которого запускается служба IIS

FAQ

Ниже буду добавлять список распространенных проблем по настройке IIS и их решения.

  1. Проблема: При входе на сайт еще до страници логина отображается сообщение:
    Handler “PageHandlerFactory-Integrated” has a bad module “ManagedPipelineHandler” in its module list
    Решение: Нужно доустановить ASP.NET:
    64-bit: %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
    32-bit: %windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
    Найдено тут: http://stackoverflow.com/a/10541165

Нравится

Поделиться

6 комментариев

Ок, весьма доходчиво)

"Alexandr Kravchuk" написал:Если при установке подключение к базе было указано через Windows Authorization, то нужно в СУБД добавить пользователя, от имени которого запускается служба IIS

А если СУБД и IIS на разных машинах и это не домен?

"Котенко Александр" написал:

А если СУБД и IIS на разных машинах и это не домен?

С уважением, Котенко Александр.


Тогда нужно использовать не доменную авторизацию.

Если у вас Windows Server 2012 и BPMonline 7.x не забудьте включить еще HTTP Activation
Add Features

"Alexandr Kravchuk" написал:можно установку сделать с помощью командной строки:

Установка первых пяти прошла успешно. При установке
dism /Online /Enable-Feature /FeatureName:IIS-ISAPIFilter
cmd.exe выдал ошибку 1603. В чем может быть проблема?
Использование инструментров типа:
netfx_setupverifier.exe
cleanup_tool.exe
NetFxRepairTool.exe

и переустановка .net framework 4.6.2 ничего не меняет.

Показать все комментарии

BPM 5.2
По локальной сети все нормально подключаюсь к серверу.

Чтобы подключиться вне сети, прокинул порты до MS SQL сервера.
Но как настроить IIS не нашел ни на сайте terrasoft, ни в интернете (по крайней мере такого описания, которое я бы воспринял).

Кто-нибудь может подсказать как решить данную задачу?
Как вариант поднять VPN сервер на том же сервере MS SQL, но у VPN сервера будет уже другой ip-адрес. Скорее всего IIS так же не будет работать со вторым ip-адресом, если просто прописать website2 в конфиге IIS.

Нравится

12 комментариев

Не совсем понятно - у вас в локальной сети стоит IIS+MsSql ?
И вы хотите подключится извне сети к сайту ?
Насколько я понимаю вам достаточно прокинуть порт, по которому доступен сайт.

>Чтобы подключиться вне сети, прокинул порты до MS SQL сервера.
Или у вас MsSql в локальной сети, а сайт вы хотите поднять извне сети ?

Я хочу получиться к IIS снаружи. Прокидывание портов не помогает.

Здравствуйте.
Если в локальной сети сайт работает, то нет никакой необходимости пробрасывать доступ к SQL-серверу снаружи. Нужно только доступ к сайту по порту, на котором он висит. Что касается самого проброса, то этот вопрос лежит исключительно в области администрирования сети и зависит от конкретной реализации доступа к Интернет.
С уважением, Terrasoft Support Team.

Так порт 8080 я прокинул до сервера IIS, все равно не работает.
IIS пишет ошибку "Failed to translate IP address + Hostname to Site Id"

Что у вас стоит в настройках сайта в Bindings ?
Может быть проблема в том что IIS отлавливает только обращения по определенному доменному имени, а не по *:80 в целом ?

Из настроек IIS сервера:

        <sites>
            <site name="WebSite1" id="1" serverAutoStart="true">
                <application path="/">
                    <virtualDirectory path="/" physicalPath="c:\5.2.0.458(456)_Release_Softkey_RUS_MSSQL_Realty_20121129\" />

Здравствуйте.
Что-то не так с "пробросом" порта на роутере. Вы снаружи можете подключаться на внешний IP Вашей сети не обязательно по 8080. Нужно на роутере настроить Port Forvardig (например для маршрутизаторов D-Link: http://www.dlink.ru/ru/faq/68/275.html). То есть перенаправление с порта, по которому Вы заходите снаружи на порт 8080 машины, где установлен IIS.
С уважением , Terrasoft Support Team.

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

Илья, а так пробовали конфиг IIS'а задавать:

      <sites>
            <site name="WebSite1" id="1" serverAutoStart="true">
                <application path="/">
                    <virtualDirectory path="/" physicalPath="c:\5.2.0.458(456)_Release_Softkey_RUS_MSSQL_Realty_20121129\" />

После того, как прописал :8080:, ошибка в IIS исчезла.

При этом в IIS пишет при запросе снаружи:
Request started: POST http://192.168.1.250:8080/Services/UserCounterValuesServic
e.asmx/GetUserCounterValues
Request ended: "http://192.168.1.250:8080/Services/UserCounterValuesService.asmx
/GetUserCounterValues" with HTTP status 200.0

Но в браузере все равно ничего не отображается.

А при запросах с локалной сети по прежнему все работает.

Все внезапно заработало. Спасибо за решение задачи.

Показать все комментарии

Здравствуйте,дорогие читатели моего блога.

Сегодня я хочу рассмотреть некоторые особенности настройки Web-формы Terrasoft Service Desk .

В основном все сводится к правильной настройки IIS. В документации «Руководства администратора» довольно подробно описано как сделать настройку IIS для разных версий: 6.0 (Windows Server 2003) и 7.0(Windows Vista, Windows Server 2008). Существуют, конечно, еще такие версии как 5.1 (Windows XP) и 7.5 (Windows 7, Windows Server 2008 R2), но основные отличия начинаются при переходе с 6-той на 7-мую версию.

Итак, на повестке дня следующий вопрос: «Как увеличить таймаут работы Web-формы?» Часто от пользователей появлялись пожелания увеличить на Web-форму таймаут в N часов. В настройках IIS по умолчанию сессия Web-формы существует только 20 минут, потом, при любых действиях, пользователя "выбрасывает" на страницу с логином, где приходится заново логиниться. Т.е. работая в Web-форме пользователю неудобно постоянно вводить свой логин и пароль, стоит ему отвлечься на 20 минут.

Хочу отметить, что Microsoft советует уменьшать таймаут:

«Если для приложения разрешено состояние сеанса, пользователь получает уникальный идентификатор сеанса при первом запросе веб-страницы у приложения ASP. По умолчанию срок действия сеанса заканчивается, если пользователь не запрашивает или не обновляет страницу в приложении ASP в течение 20 минут. Так как объекты сеанса занимают память веб-сервера, можно рассмотреть возможность уменьшения значения тайм-аута для сбережения ресурсов.»

Но для меня главным является удобство пользователя. Поэтому таймаут я буду увеличивать. Кстати, там написано как изменять этот параметр, но написано довольно скудно. Я постараюсь более подробно и полно описать процесс настройки.

  • У меня уже есть готовая настроенная Web-форма на IIS 7.0. Вот как выглядит настроенный сайт в диспетчере сервера
  • А это окно логина в запущенной Web-форме
  • И, собственно, сама Web-форма в действии. Для примера, список инцидентов
  • Теперь покажу где установлен таймаут. Становлюсь на службу IIS в диспетчере служб, выбираю внизу «Просмотр возможностей» (по умолчанию эта вкладка уже активна)
  • Выбираю ASP в списке возможностей
  • Далее в действиях нажимаю на ссылку «Открытие функции» или двойное нажатие на ASP
  • В группе службы разворачиваю «Свойства сеанса»
  • Время сеанса установлено в 20 минут. Ставлю, например, 10 часов: 10:00:00. В правой части окна в разделе «Действия» нажимаю на ссылку «Применить» для сохранения изменений

  • Приметка: По информации с сайта Microsoft эту же операцию можно сделать в командной строке с помощью команды appcmd. Сначала у меня не получилось. Но потом, немного поискав, нашел нужную комбинацию параметров. Для моего случая это будет выглядеть так: %windir%\system32\inetsrv\appcmd set config /section:asp /session.timeout:10:00:00. Отмечу, что для 64-битной системы нужно вместо system32 писать syswow64.

  • После этого нужно настроить состояние сеанса. Становлюсь на мою Web-форму и выбираю «Состояние сеанса» в списке возможностей
  • Перехожу внутрь двойным щелчком мыши и нахожу ниже «Параметры файла cookie» -> «Тайм-аут (в минутах)»
  • Изменяю значение на 600, что значит 10 часов и в правой части окна в разделе «Действия» нажимаю на ссылку «Применить» для сохранения изменений
  • И последнее, нужно настроить таймаут простоя пула приложений. Для начала узнаю на какой пул приложений настроена моя Web-форма. Становлюсь на Web-форму
  • В разделе «Действия» нажимаю «Основные настройки...» – вижу, что для моей Web-формы установлен стандартный (устанавливаемый по умолчанию) пул приложений «DefaultAppPool». Закрываю это окно без изменений.
  • В диспечеру служб выбираю «Пулы приложения» и нахожу нужный мне пул
  • Выбираю «Дополнительные параметры» в разделе «Действия» и нахожу «Тайм-аут простоя (в минутах)»
  • Устанавливаю значение в 600, что соответсвует 10 часам, и нажимаю кнопку OK
  • Для того, чтобы все изменения вошли в силу – перезагрузагружаю IIS. Становлюсь на IIS в диспетчере служб и в разделе «Действия» выбираете «Перезагрузить». Хотя, как показывает практика, если при каждом изменении нажимать в действиях на «Применить» – то изменения уже вступили в действие и для всех пользователей, которые войдут на сайт Web-формы, будут действовать уже новые параметры.

Если есть какие-то вопросы – задавайте, с удовольствием отвечу.
Продолжение для IIS 6.0 читайте тут.

Нравится

Поделиться

4 комментария

У меня система BPMonline Realty 5.
Сделала описанные выше настройки на своем сервере.
Помимо вышеуказанного, сделала изменения в настройках в файле web.config
Тем не менее, по прохождению времени пользователя из системы не выкидывает.:confused:

Здравствуйте, Антонина!

Для приложения BPMonline 5 существуют три таймаута: авторизационный и сессионный (настраивается в web.config), а также, таймаут пула приложения.

Изменения необходимо внести в файл Web.config –

system.web/ authentication/forms - параметр timeout="359" авторизационный
system.web/sessionState - параметр timeout="360" сессионный

Время указано в минутах.

Прошу обратить внимание на то, что авторизационный параметр должен быть меньше чем сессионный, а сессионный должен быть такой же, как и параметр таймаута пула на стороне IIS.

Таймаут пула в IIS:

"Резвов Роман" написал:

Здравствуйте, Антонина!

Для приложения BPMonline 5 существуют три таймаута: авторизационный и сессионный (настраивается в web.config), а также, таймаут пула приложения.

Изменения необходимо внести в файл Web.config –

system.web/ authentication/forms - параметр timeout="359" авторизационный

system.web/sessionState - параметр timeout="360" сессионный

Время указано в минутах.

Прошу обратить внимание на то, что авторизационный параметр должен быть меньше чем сессионный, а сессионный должен быть такой же, как и параметр таймаута пула на стороне IIS.

Таймаут пула в IIS:

С уважением,

Роман Резвов

Специалист службы поддержки II линии

Группа компаний Terrasoft


Роман, так и делала. Для теста указала:
авторизационный - 3мин
сессионный - 5мин
В пуле - 5мин.
Инструкцию как делала, прикрепила.

Антонина, существует два Web.config: в корне бинарных файлов и в папке Terrasoft.WebApp. Необходимо вносить изменения именно в корневой Web.config.

Несмотря на "Хочу обратить Ваше внимание, что данный параметр будет применен для всех сайтов запущенных на IIS сервере." попробуйте, пожалуйста, установить таймаут одному конкретному пулу.

Показать все комментарии