Нормального материала, где бы рассказывались все этапы установки решения XenApp 7.x на один сервер, без виртуализации, с публикацией приложений именно того сервера, где разворачивается сам XenApp, с использованием NAT, я не нашел. Поэтому, после мытарств, и набивания собственных шишек, решил написать краткий мануал с основными этапами установки.
Итак, поехали…
1. Устанавливаем Delivery Controller
! Не устанавливаем: Windows Remote Assistance, Call Home.
2. После установки Delivery Controller, запускаем консоль управления Citrix Studio, и идем по мастеру установки до шага Connection. Тут выбираем: No machine management, т.к. мы будем использовать внутренние ресурсы сервера (в данном случае установленные приложения на самом сервере).
3. После успешной инсталляции, нам необходимо установить VDA (Virtual Delivery Agent), который нам позволит использовать в качестве ресурса наш свеже установленный сервер. При использовании мастера установки, нам необходимо выбрать на первом пункте мастера Enviroment — Enable connections to a server machine, на шаге Delivery Controller — Do it manully, при этом должны указать имя нашего сервера (обязательно должен быть сигнал, в виде зеленой галочки, в противном случае, что то пошло не так)
4. Далее повторно запускаем Citrix Studio, и создаем Machine Catalog. На шаге Operating System выбираем Server OS. На шаге Machine Management , Machines that are not power management, и Another service or technology. На шаге Machines мы должны указать сервер, на котором развернут Delivery Controller (по сути, это должен быть тот же сервер). Обязательно, при выборе сервера из каталога, он должен подсвечиваться зеленым значком, в противном случае, что то установлено не верно, и надо начинать сначала.
5. На следующем шаге мы по сути уже публикуем приложение, в разделе Delivery Groups. Тут не должно возникнуть каких либо проблем, если раньше этим занимались.
Далее идут тонкости настроек, которые не являются очевидными.
Так как мы по сути установили StoreFront по умолчанию, нужно немного упростить нам жизнь. Упрощение будет состоять в том, что нам не нужно будет постоянно писать при авторизации пользователя домен, если мы его укажем по умолчанию. Это делается в разделе самого StoreFront.
Заходим Citrix StoreFront -> Manage Authentication Methods -> далее у нас должна стоять галочка на User name and password, заходим в Settings и выбираем Configure Trusted Domains. Зайдя в эту настройку, выбираем Trusted domains only и добавляем существующий домен. После этого действия при авторизации пользователя требования о вводе домена перед именем пользователя пропадает.
Это еще совсем не все, что нужно настроить в StoreFront. Далее, идем Citrix StoreFront -> Server Group, выбираем в правой колонке Change Base URL, и меняем на наше внешнее доменное имя.
Если мы хотим, чтобы при загрузке нашей интернет странички после авторизации пользователя отображались только приложения без возможности использования удаленных рабочих столов (а ведь мы публикуем только приложения), то нам необходимо пойти по пути: Citrix StoreFront -> Stores, в правом меню выбрать Manage Receiver for Web Sites, нажать кнопку Configure…, выбрать раздел Client Interface Settings и в выпадающем меню раздела Applications and Desktops view on Receiver for Web выбрать Show Applications view only. Тем самым, мы ограничим пользователя возможностью видеть только опубликованные приложения, и ничего более.
Так же можно установить Дефолтную страницу по умолчанию, для этого необходимо пройти Citrix StoreFront -> Stores, в правом меню выбрать Set Default WebSite, и поставив галочку выбрать интересующие параметры запуска.
Ну вот мы и добрались до самой больной темы, это когда наш сервер находится за NAT, и при авторизации пользователя и попытки скачать ICA файл, нам преподносится отлуп, и приложение не стартует.
При парсинге ICA файла выясняется, что сервер приложений по умолчанию берет не внешний IP адрес (белый), а внутренний (серый). Есть несколько решений этой задачи, один из них — это полноценная настройка NetScaller Gateways, но необходимость в нем возникает только тогда, когда у нас несколько Delivery Controller, и необходимо настроить например балансировку между ними. Наш же случай простой, и необходимость в этом отсутствует, достаточно применить «топорное», но работоспособное решение. Это принудительно прописать сервер доставки в шаблон ICA файла.
Как же это сделать?
Заходим в каталог нашего приложения (как правило, по дефолту он будет такой же)
c:\inetpub\wwwroot\Citrix\Store\App_Data
находим файл default.ica
открываем любым редактором, и в разделе
добавляем строчки
UDPCGPPort=< Доменное имя или внешний IP адрес>:2598
UDPICAPort=< Доменное имя или внешний IP адрес>:1494
Сохраняемся, и пробуем запустить опубликованное приложение. Должно сработать.
Есть еще тонны тонкостей, которые в этой статье не учтены, такие как настройка HTTPS, внешний вид StoreFront и т.д., но я при наличии свободного времени обязательно о них расскажу в следующих статьях.
Полезные ссылки на материалы:
https://www.christiaanbrinkhoff.com/2016/10/24/how-to-install-configure-and-customize-citrix-storefront-3-7/
https://christiaanbrinkhoff.com/2016/12/12/how-to-install-configure-citrix-xenapp-7-12-including-windows-server-2016-mcs-and-local-host-cache/
https://thebackroomtech.com/2018/04/09/simple-citrix-xenapp-install-and-deployment-step-by-step/
http://juventusitprofessional.blogspot.com/2015/05/citrix-xenapp-76-part-2-install-xenapp.html
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ee649187(v=ws.10)
https://www.carlstalhood.com/group-policy-objects-vda-computer-settings/
https://www.carlstalhood.com/storefront-config-for-netscaler-gateway/
https://www.carlstalhood.com/storefront-basic-configuration/
https://www.carlstalhood.com/storefront-3-5-basic-configuration/
http://itsave.ru/citrix/xendesktop-7/xendesktop-7-1-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0/
https://www.carlstalhood.com/storefront-3-5-configuration-for-netscaler-gateway/