Customisation StoreFront 3.x (1/2)

Customiser un StoreFront n’a rien de compliqué (merci CSS et la fenêtre de développement de votre browser favori, exemple la touche F12 pour Chrome).

Ce billet sera divisé en deux parties, la première partie traite de la customisation de la page de login de StoreFront (dans notre cas un SF 3.01.55 fr sur un serveur 2008 R2 sp1 fr) , la deuxième partie traitera de la page affichant les applications et bureaux.

 

SF3_Custo01La page de login du thème X1

Le but dans notre exemple est d’obtenir un thème avec des nuances de gris.


SF3_Custo03
La page de login une fois customisée

La mise en place de cette customisation est simple et rapide, décompresser le fichier “Custo1_SF3x.rar” et copier le fichier “style.css” dans “..\VotreStoreWeb\Custom” (au préalable faite un backup de votre fichier “style.css”), copier le répertoire “CustoImages” dans “…\VotreStoreWeb\receiver\images” puis vider le cache de votre navigateur.

Vous trouverez ci-dessous la liste des éléments que nous avons modifiés via le fichier “style.css” (contenu dans le répertoire “Custom”) afin de vous permettre de mettre en place votre propre customisation 😉 .

  • Modifier le logo
    .logon-logo-container {
    background-image: url(“../receiver/images/CustoImages/SF_custo_auth_14B96BFF2B0A6FF8.png”);
    background-repeat: no-repeat;
    background-position: center center
    }
  • Modifier l’image de fond
    .web-screen {
    background-color: #161619;
    background-image: url(“../receiver/images/CustoImages/SF_custo_FullScreenBackground_46E559C0E6B5A27B.jpg”);
    background-size: 100% 100%;
    min-height: 400px;
    height: auto!important;
    height: 400px
    }
  • Modifier l’effet de transparence de la bannière centrale
    .web-screen .content-area {
    padding: 60px 0;
    background-color: #3f3643;
    background-color: rgba(63, 54, 67, 0.2);
    text-align: center
    }
  • Modifier la couleur des textbox Nom d’utilisateur et Mot de passe
    .credentialform .plain {
    margin-left: 0;
    color: #FFFFFF;
    font-size: 17px;
    font-weight: 300;
    line-height: 44px
    }
  • Modifer la couleur du bouton “Ouvrir une session”
    .button.default {
    background-color: #1E1E1E
    }
  • Modifier la couleur et taille des champs Username et Password
    .credentialform input[type=text],
    .credentialform input[type=password],
    .credentialform .pseudo-input {
    box-sizing: border-box;
    width: 385px;
    height: 40px;
    outline: 0;
    border: 0;
    background-color: #E4E3E3;
    font-size: 16px;
    color: #000
    }

Download_2Custo1_SF3x.rar

Post to Twitter

StoreFront 3.x erreur : Impossible de démarrer le bureau…….

Sur un cluster de StoreFront 3.0 (W2K12 US)  nous avons rencontré un problème de lancement d’applications et bureaux publiés  (ferme en XA 7.6 US) avec Internet Explorer (ver 9,10 et11), en effet cela fonctionnait sans problème avec Firefox et Chrome.

SF3Error1On va pas se réconcilier de si tôt avec IE

 


En regardant sur les Storefronts nous avons constaté les Event ID 0 et 28.


SF3Error2

 

Description: Failed to launch the resource ‘………………’ using the Citrix XML Service at address ‘http://VotreServeur/scripts/wpnbr.dll’. The XML service returned error: ‘not-trusted’.

 

SF3Error3

 

Description: The Citrix servers do not trust the server. This message was reported from the XML Service at address http://VotreServeur/scripts/wpnbr.dll [NFuseProtocol.TRequestAddress].


Ce qui nous a mis sur la piste est bien sur le “The Citrix servers do not trust the server”, en effet en lancant un Get-BrokerSite sur un de nos Delivery Controller nous avons constaté que la valeur TrusRequestsSentToTheXmlServicePort était à False.


SF3Error4On vous l’accorde ça n’explique pas le fait que ça fonctionne avec d’autres navigateurs

 

Afin d’activer le TrustRequestSentToTheXmlServicePort il faut lancer la commande suivante sur un de vos Delivery Controller : Set-BrokerSite -TrustRequestSentToTheXmlServicePort $True

 

SF3Error5La commande Get-BrokerSite confirme bien que nous sommes en True en TrustRequestSentToTheXmlServicePort

 


SF3Error6
Et oui avant on pouvait setter l’approbation des requêtes XML en policy (exemple sur une ferme en XA 6.5)

 

Post to Twitter

StoreFront 3.0 : perte des icones

Sur un groupe de StoreFront 3.0 de qualif nous avons rencontré un problème d’icônes. En effet toutes les icônes des applications publiées et bureaux publiés ne s’affichaient plus.

 

SF3_Error3Sympa les carrés blancs…

 

En regardant les events des StoreFront impactés on a vite trouvé la cause dans l’event ID 2 :

 

Log Name:      Citrix Delivery Services
Source:        Citrix Receiver for Web
Event ID:      2
Task Category: (3003)
Level:         Error
Description:
There was an error during an icon request.
System.UnauthorizedAccessException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b66a5c561874e091
Access to the path ‘C:\inetpub\wwwroot\Citrix\VotreStoreWeb\App_Data\CtxsWebProxyIconCache\L0NpdHJpeC9WRFhBL5Jlc291cmNlcy99Mi9RamxEUVRBeE8UZ3pSVFF9T1RoRFJVVTNOMF


SF3_Error1En modifiant les permissions NTFS le problème subsistait

 

Afin de résoudre ce problème d’affichage nous avons supprimé le contenu du répertoire C:\inetpub\wwwroot\Citrix\VotreStoreWeb\App_Data\CtxsWebProxyIconCache.

 


SF3_Error4On peut retourner à la custo de nos StoreFront (custo qui fera prochainement l’objet d’un billet)

 

Post to Twitter

StoreFront : Impossible de traiter votre demande

Au sein d’une infra comprenant notamment des StoreFront 3.0 (W2K12 US et issus d’une migration StoreFront 2.5 vers 3.0) nos utilisateurs rencontraient l’erreur ci-dessous lors de l’accès à un magasin spécifique.

 

Billet2Dans un prochain billet nous traiterons la modification de ce type de pop-up 🙂

 

En regardant les logs des StoreFront, nous avons constaté un nombre conséquent d’évents Id 17.

Log Name:      Citrix Delivery Services
Source:        Citrix Receiver for Web
Event ID:      17
Task Category: (3002)
Level:         Error
Description:
Failed to run discovery
Citrix.Web.DeliveryServicesProxy.ConfigLoader.DiscoveryServiceException, ReceiverWebConfigLoader, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null
An error occured while contacting the Discovery Service
at Citrix.Web.DeliveryServicesProxy.ConfigLoader.Discovery.AppendConfigurationFromDiscoveryService(WebReceiverConfigSection section)
at Citrix.Web.DeliveryServicesProxy.ConfigLoader.Discovery.RunDiscovery(WebReceiverConfigSection configSection)
at Citrix.Web.Proxy.Filters.DiscoveryComplete.OnAuthorization(AuthorizationContext filterContext)
System.Net.WebException, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
The underlying connection was closed: An unexpected error occurred on a send.
Url: https://127.0.0.1/Citrix/VotreStore/discovery

 

billet2

 

Le problème ne se présentant que sur un store spécifique nous avons comparé les fichiers web.config (situés dans VotreStoreWEB) entre un magasin sans l’erreur et le magasin présentant l’erreur, il s’avère que le problème se situait au niveau du loopback qui était à on sur le magasin présentant le problème. Une fois le loopback passé à off le magasin était à nouveau disponible.

 

<communication attempts=”2″ timeout=”00:01:00″ loopback=”Off”

 

La CTX133904 (mise à jour le 18/09/2015) traite ce type de problème.

 

Ce billet nous ramène à nos sources 🙂 .

Post to Twitter

StoreFront 3.0 erreur MMC (sous Windows 2008 R2)

Comme vous le savez surement StoreFront 3.0 est disponible depuis le 30 juin 2015.

Lors de nos tests nous avions rencontrés une erreur (ou une feature 🙂 ), en effet sur un serveur 2008 R2 Sp1 Fr, nous avions configuré un magasin Web  (Store) avec “L’expérience Receiver Classique” (vous savez celle avec le fond d’écran vert), lorsque nous avons voulu activer “L’expérience unifiée” sur le magasin en question nous avons rencontré l’erreur ci-dessous.

 

SF3_Error1Ça commence pas bien la 🙂

En regardant du côté des events nous avons trouvé l’erreur ci-dessous.

SF3_Error3

Nom du journal :Citrix Delivery Services
Source :       Citrix Delivery Services Admin
ID de l’événement :1
Catégorie de la tâche :(2850)
Description :
Une erreur s’est produite lors de l’exécution de la commande : ‘Get-DSUnifiedExperienceVirtualPaths’
La propriété « SiteId » est introuvable sur cet objet. Vérifiez qu’elle existe.
Au niveau de C:\Program Files\Citrix\Receiver StoreFront\Management\Cmdlets\StoresModule.psm1 : 3631 Caractère : 69
+         $classicEnabled = Get-DSClassicSiteExperience -SiteId $site. <<<< SiteId -VirtualPath $site.VirtualPath
La propriété « SiteId » est introuvable sur cet objet. Vérifiez qu’elle existe.

Citrix.DeliveryServices.PowerShell.Command.RunnerInterfaces.Exceptions.PowerShellExecutionException, Citrix.DeliveryServices.PowerShell.Command.RunnerInterfaces, Version=3.0.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856
Une erreur s’est produite lors de l’exécution de la commande : ‘Get-DSUnifiedExperienceVirtualPaths’
La propriété « SiteId » est introuvable sur cet objet. Vérifiez qu’elle existe.
Au niveau de C:\Program Files\Citrix\Receiver StoreFront\Management\Cmdlets\StoresModule.psm1 : 3631 Caractère : 69
+         $classicEnabled = Get-DSClassicSiteExperience -SiteId $site. <<<< SiteId -VirtualPath $site.VirtualPath
<Data>Une erreur s’est produite lors de l’exécution de la commande : ‘Get-DSUnifiedExperienceVirtualPaths’
La propriété « SiteId » est introuvable sur cet objet. Vérifiez qu’elle existe.
Au niveau de C:\Program Files\Citrix\Receiver StoreFront\Management\Cmdlets\StoresModule.psm1 : 3631 Caractère : 69
+         $classicEnabled = Get-DSClassicSiteExperience -SiteId $site. &lt;&lt;&lt;&lt; SiteId -VirtualPath $site.VirtualPath
La propriété « SiteId » est introuvable sur cet objet. Vérifiez qu’elle existe.
Une erreur s’est produite lors de l’exécution de la commande : ‘Get-DSUnifiedExperienceVirtualPaths’
La propriété « SiteId » est introuvable sur cet objet. Vérifiez qu’elle existe.
Au niveau de C:\Program Files\Citrix\Receiver StoreFront\Management\Cmdlets\StoresModule.psm1 : 3631 Caractère : 69
+         $classicEnabled = Get-DSClassicSiteExperience -SiteId $site. &lt;&lt;&lt;&lt; SiteId -VirtualPath $site.VirtualPath

 

Afin d’éviter cette erreur il faut désactiver l’expérience Receiver Classique 🙁 .

Ce problème n’est pas apparu avec un StoreFront 3.0 sous Windows 2012.

Post to Twitter

StoreFront : exporter les passerelles NetScaler

Un billet post-it en direct de nos vacances 🙂

Si vous souhaitez backuper vos passerelles NetScaler (et pas la même occasion vos STA) sous StoreFront sans passer par une ligne de commande (pas bien 😉 ), alors copiez le ficher web.config situé dans le répertoire “C:\inetpub\wwwroot\Citrix\Roaming vers les serveurs StoreFront où vous souhaitez importer les passerelles Netscaler.

Dans le cas présent il nous fallait dupliquer les passerelles NetScaler sur six StoreFront qui ne sont pas en cluster.

copier2Ca faisait longtemps qu’on avait pas usé du copier/coller

 

 

Post to Twitter

MonitorX (us version)

MonitorX is a Zabbix non-official appliance dedicated to “XenApp” (which uses the XenApp 6.5 template). It allows you to monitor your XenApp 6.5 environment, including your Web Interface/StoreFront/NetScaler 10.x.

The appliance runs on a Debian Wheezy 7.8 (2 vCPU, 4Gb RAM and 40Gb thin provisioned disk), configured to use DHCP with the following modules:

  • apache2
  • mysql-server + mysql-client
  • php5-mysql libapache2-mod-php5
  • phpmyadmin
  • zabbix 2.4.4
  • zabbix agent 2.2.7

Continue reading “MonitorX (us version)”

Post to Twitter

MonitorX (fr version)

MonitorX est une appliance non officielle ZABBIX dédiée “XenApp” (qui reprend notamment le template XenApp 6.5), permettant rapidement et simplement de superviser/Monitorer un environnement XenApp 6.5 (avec ses Webi /StoreFront/Netscaler 10x. ).

L’appliance repose sur une Debian Wheezy 7.8, (2 Vcpu, 4Go de ram et 40 Go de DD en thin) en DHCP (le mot de passe root est “password!01” on vous conseille fortement de le changer) avec les modules ci-dessous :

  • apache2
  • mysql-server + mysql-client
  • php5-mysql libapache2-mod-php5
  • phpmyadmin
  • zabbix 2.4.4
  • zabbix agent 2.2.7

 

Au préalable, si vous ne connaissez pas ZABBIX , nous vous conseillons d’aller faire un tour sur http://www.zabbix.com et http://www.monitoring-fr.org/solutions/zabbix/.

Dans un premier temps, veuillez décompacter le fichier MonitorX.rar (607 Mo), une fois décompacté vous obtenez deux dossiers :

  • Le dossier OVA qui contient l’ova à importer
  • Le dossier Zabbix_agent qui contient l’agent zabbix windows (avec le script permettant l’installation de l’agent et le service associé)

 

Installation de l’appliance :

  1. Importez dans votre hyperviseur favori l’ova “MonitorX.ova” (dans notre cas Esxi 5.5)
  2. Configurez la partie IP si vous ne souhaitez pas rester en DHCP (attention si vous changez le nom du Hostname (ZAB01 par défaut), pensez à changer aussi le nom du hostname dans Zabbix, voir en fin de billet)
    1. Connectez-vous en SSH (via PuTTY par exemple et choisissez le menu 5) via le compte root (mot de passe : password!01)

Menu-MonitorX
Les fans de Sexilog auront reconnu le SexiMenu que nous avons adapté à MonitorX 🙂

 

Lancez dans un navigateur l’url “http://IpMonitorX”

MonitorX_acceuile_ZabbixRenseignez les champs Username (admin) et Password (zabbix)

 

Activation du serveur Zabbix :

  1. Allez dans Configuration-Host

MonitorX_EnableSrv_ZabbixCliquez sur Disabled afin d’activer la supervision/monitoring serveur Zabbix

Ajout des hosts :

  1. Déploiement de l’agent Zabbix  sur vos serveurs XenApp
    1. Copiez le répertoire  “Zabbix_Agent_Install” sur un serveur d’administration de votre ferme XenApp.
    2. Exécutez dans une console PowerShell le script “Zabbix_Agent_Install.ps1”.
    3. Via le menu vous pourrez :
      – Modifiez l’IP du server Zabbix (renseigné dans le fichier zabbix_agentd.win.conf)
      – Déployez l’agent Zabbix sur tous les serveurs membres de la ferme XenApp en cours
      – Ouvrir et modifiez le fichier contenant la liste des serveurs sur lesquels vous souhaitez déployer l’agent Zabbix ( si vous ne souhaitez pas déployer    l’agent Zabbix sur tous les serveurs membres de la ferme XenApp en cours)
      – Déployez l’agent Zabbix sur les serveurs inscrits dans le fichier Servers.txt

MonitorXMenuLa première étape est de changer l’IP du serveur Zabbix configuré par l’IP de votre serveur MonitorX (menu 1)
Une fois le déploiement terminé, un fichier de log (StatutAgentInstall.txt) est disponible dans le dossier Zabbix_Agent_Install.

  1. Ajoutez vos hosts dans Zabbix
    1. Via le discovery rule “XenApp_Discover” (allez dans Configuration-Discovery, modifiez le range IP de la règle “XenApp_Discover”, activez la règle et cliquez sur Update).
    2. Ajoutez les hosts manuellement (pour les courageux 🙂  )
      • Ajoutez les  hosts XenApp dans le groupe “GRP_Citrix_XenApp_6.5”
      • Associez les hosts XenApp au template “TPL_Citrix_XenApp_6.5”
      • Associez les hosts de type Webi/StoreFront (Windows 2008 R2) au template “TPL_Windows_IIS_7.5”

 

Si vous utilisez Edgesight (plus pour très longtemps 😉 ) ou UPM il vous faudra activez les items dans le template “TPL_Citrix_XenApp_6.5”.
Allez Dans l’onglet Configuration-Template , puis cliquez sur TPL_Citrix_XenApp_6.5 et allez dans Items.

MonitorXTemplate_ItemsDisabledCliquez sur Disabled afin d’activer les items

 

Renommez le serveur dans Zabbix (Si vous avez renommé le serveur MonitorX):

  • Connectez-vous en SSH sur le serveur MonitorX
  • Lancez la commande “vi /etc/zabbix/web/zabbix.conf.php”

MonitorX_ZabbixHostnameVi
Modifiez le nom du serveur Zabbix ($ZBX_SERVER = ‘ZAB01’; et $ZBX_SERVER_NAME = ‘ZAB01’; ) et enregistrez le fichier (commande vi “:wq”), pour les réfractaires au “vi” vous pouvez passer par WinSCP.

Si vous ne renommez pas le Hostname dans Zabbix vous obtiendrez l’erreur ci-dessous :

Zabbix server is not running: the information displayed may not be current

ZabbisErrorPas d’inquiétude cependant, ce message dans le cas présent n’a pas d’impact sur les mises à jour des hosts ou autres

 

 

Administrer la base Zabbix
http://IpMonitorX/phpmyadmin ( root/password!01)

 

Et voila ce que ça donne 🙂 .

MonitorXSrvLes graphiques par host (onglet screen de chaque host)

 

 MonitorXAllSrv
Le graphique des CCU de la ferme XenApp (Onglet Monitoring-Screens)

 

Download_2MonitorX.rar

Post to Twitter

StoreFront erreur : L’ajout, la suppression et le repositionnement des applications……

Si vous rencontrez l’erreur ci-dessous lors d’une connexion sur un StoreFront :

“L’ajout, la suppression et le repositionnement des applications n’est actuellement pas disponible. Toute modification effectuée ne seront pas conservée pour les sessions à venir. Veuillez contacter votre bureau d’assistance.”

Vérifier sur votre serveur sql que vous n’avez pas d’event 18456 dans le journal Application.

Échec de l’ouverture de session de l’utilisateur ‘domain\computer$’. Raison : impossible d’ouvrir la base de données spécifiée explicitement. [CLIENT : IP]

Si c’est le cas il vous faut donner les droits sur votre base StoreFront au compte ordinateur (le mieux étant de la faire via un groupe local) en question via le script ci-dessous (voir sur Citrix eDocs pour la création complète d’une base StoreFront.

USE [DATABASE_NAME]
CREATE USER [CitrixSubscriptionDBUsers] FOR LOGIN [WINDOWS_USER];
EXEC sp_addrolemember N'db_datawriter', N'CitrixSubscriptionDBUsers';
EXEC sp_addrolemember N'db_datareader', N'CitrixSubscriptionDBUsers';

De notre coté cette erreur faisait suite à une multitude de tests sur notre base StoreFront 🙂 .

Post to Twitter