Начнем с того, что в своей организации у меня «экосистема» ПО построена на базе 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>
Все недостающие функции вроде как заработали, и можно бы уже порадоваться, но войдя под учеткой из Active Directory отвалился чат. Погрешив на IIS, перелопатил все настройки, но ничего не помогло. И только опытным путем была найдена причина:
мастер настройки портала некорректно создает группы пользователей и у них нет доступа к чату, а иногда и к главной странице.
Для исправления этой проблемы оказалось достаточно заменить группы, к которым добавляется пользователь после авторизации из AD
![image](https://habrastorage.org/getpro/habr/post_images/fb9/b7c/833/fb9b7c833d2350584f0bccbc8b92020e.png)
В правой выделенной части, достаточно заменить группы с префиксом «SITE_WIZARD:» на подобные группы без этого префикса.
После установки кэша для PHP производительность тоже подтянулась до приемлемого уровня. Для меня осталось решить только проблемы не работающего автообновления и стыковки почтового домена по IMAP, но это уже вопросы к техподдержке, на которые пока ответа не получено. А после, можно и решить вопрос о приобретении. Хотя некий осадочек, от недоработок в установке продукта конечно остался.
Надеюсь это поможет кому-нибудь)
Комментарии (10)
Evil_Demon
29.03.2016 12:09Верно. В наборе "вэб-окружение" от производителя он идёт комплектом, но какой именно — не разбирался. Ещё предстоит разобраться, можно ли битрикс связать с установленным у нас Openfire.
awMinor
29.03.2016 12:23И я так понял, что у вас была задача так же интегрировать в битрикс AD? Возможно у вас найдется время более подробно осветить этот момент (возможно даже в новой статье)? Это очень не тривиальная задача как мне кажется. Очень интересна техническая сторона как это работает и как это интегрируется.
Evil_Demon
29.03.2016 12:27Честно говоря, я пока дальше базовой интеграции групп AD и ликвидации той шибки мастера первоначальной настройки не заходил, это всё ещё впереди. Но вполне могу расписать попозже, если будет интересно, когда завершим тестирование демо версии. В принципе, насколько я понял, это изначально предусмотренно в битрикс24, хотя и с несколько кривым мастером.
Diden05
29.03.2016 17:38А теперь самый главный вопрос, зачем нужно это извращение? Вы сами себя лишили кучи функционала в Б24, например все что связанно с модулем push&pull
Evil_Demon
29.03.2016 17:57- Удобство в администрировании
- Отсутствие подходящих альтернатив под Windows
- Не пришлось морочить голову с допиливанием cent-os для использования ms sql.
Остальные причины указал в начале статьи.
IvanPanfilov
29.03.2016 19:17спешу вас обрадовать
www.instagram.com/p/BBFrGcjtXTsEvil_Demon
29.03.2016 19:18Вот даже как, это серьёзный момент, влияющий на смысл покупки этого продукта. Спасибо за информацию.
citius
29.03.2016 18:12Отпишите теперь в поддержку битрикса, пусть учатся в IIS реврайты настраивать. У них ведь так и не заработало? :)
TihoFih
30.03.2016 13:36Был схожий опыт. После того, как был куплен Битрикс, тоже решили поставить его на Windows. Мелькали смутные мысли о «знакомая среда, администрирование должно быть проще», «понадобится интеграция — будет проще сделать, так как ms sql уже используется в ряде систем»,
«а как там будет с AD — оно же не заработает или будет кривым» и вообще этот непонятный линукс возьмёт да загнётся, что мы будем делать?
На практике все эти «мысли» оказались не состоятельными.
1) Сайт регулярно сообщал о «internal server error», что лечилось перезагрузкой iis.
2) Работал медленно, ощутимо медленнее, чем демо-виртуалка от Битрикса.
3) Часть функционала не поддерживается — тут уже написали про «push&pull»
4) Поддержка Битрикса заворачивает любые вопросы к «у вас iss, вот и обращайтесь в поддержку microsoft»
5) Росло ощущение, что такая конфигурация оставляет нас где-то на обочине в силу своей непопуярности
Потому осуществили переезд на виртуалку Битрикса. Спустя два года. Как ни странно, но задачи интеграции вполне успешно пережили смену ms sql на my sql. Интеграция с AD после переезда на centos вполне работоспособна — пользователей из AD загружаются, на портале аутентифицируются без ввода пароля. Скорость работы заметно подрасла. И самое главное — совершенно стабильная работа сайта. Ни одной ошибки 500 с тех пор больше не было.
Тут конечно можно сказать что «вы не умеете его (Битрикс на Windows) готовить». Да, не умеем. И судя по всему, в этом умении совершенно нет никакой необходимости.
awMinor
Спасибо за статью. Очень инетерсно было бы узнать как себя чувствует битрикс на такой не обычной для него конфигурации в сравнении с традиционным apache/nginx, PHP, MySQL.
Во втором пункте у вас написано XMPP, в моем понимании это джабер? Или я ошибаюсь?