На днях, встала задача протестировать этот корпоративный портал в коробочной версии. Потратив немало времени и сил, решил описать сей процесс, чтобы сэкономить кому-то лишние усилия.
Начнем с того, что в своей организации у меня «экосистема» ПО построена на базе Windows систем и присутствует большое количество прикладных приложений, написанных под наши задачи и требовалось использование MSSQL для их интеграции. Посему, было решено выделить виртуальную машину с Windows Server для тестирования продукта.
Почитав предлагаемые решения, решил попробовать три варианта:
1. Установка портала на свой IIS сервер с PHP и MSSQL
Первый пункт завершился по началу неудачно: пройдя все шаги настройки по инструкции от разработчиков, в установленном портале не работала половина функций. Как показал анализ и обращение к техподдержке, проблемы была в переопределении URL адресов. Как мне сказали, успешного запуска под IIS пока не получалось. Решил проверить дальше.
2. Установка предлагаемого комплекта с веб-окружением (апач с PHP, mysql и XMPP).
Установка комплекта «по-умолчанию» завелась сразу, но с некоторыми проблемами. Скорость работы была довольно низкой, попытки настроить кэш и сжатие особо не помогли. Переключение в HTTPS не работало, не смотря на отдельно выведенную настройку в консоли. Видимо не зря на официальном сайте стояла приписочка " Пакет «Битрикс: Веб-окружение» рекомендуется использовать только для тестирования ознакомительных версий. Для работы реального проекта рекомендуется BitrixVM".
3. Виртуальная машина битрикс с cent-os.
Некоторые режимы при выборе установки не работали. Пошла только установка демонстрационной версии. Отсутствовал выбор используемой базы данных. В системе не была установлена поддержка MSSQL.
Пришлось вернуться к первому варианту. Помучав то, что есть по этому в интернете выяснил, что правила для переопределения URL прописаны в .htaccess файле и IIS его не понимает.Решил попробовать сконвертировать правила .htaccess в понятный для сервера вид, получив следующую секцию для файла web.config:
<rewrite>
<rules>
<rule name="bitrix rewrite URL" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" pattern="/bitrix/urlrewrite.php$" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="/bitrix/urlrewrite.php" />
</rule>
</rules>
</rewrite>
К сожалению, не доступен сервер mySQL