Merchandising Server is a fairly recent addition to the XenApp suite and one which I have held off implementing a while, for a couple of reasons. The first is that frankly, I have enough XenApp servers now thanks very much, and the second is that its use in life appears to be limited to supporting the Windows and Mac editions of the Citrix Receiver.
We have a big implementation of the Agent which works very nicely so I had no need for the Receiver, so no need for the Merchandising Server.
But then the newly released HDX Experience Monitor for XenApp only supports the Receiver and I need that, so here we go.
By the way, here’s the Citrix eDocs site for Merchandising Server:
Downloading the Merchandising Server
The Merchandising Server is unusual in that it comes as a XenServer or VMware exported VM. The VM is actually a 1GB CentOS 5 machine which comes all ready to configure, so the process can be over remarkably fast. I started with little idea what I was doing at about 9am and had a working system before lunch, hopefully these notes will help someone get it done a bit faster.
These download links will require a valid logon to My Citrix.
The main server download is a “bz2” file – 7zip should be able to extract this for you, its about 4gb extracted. There is also a plug-ins ZIP file which is worth downloading, though not essential.
I’m assuming here that you have a XenServer machine – mine is a slightly old XenServer 5.5 server so all the instructions are for the XenServer edition, I doubt the VMware edition is much different.
Importing the VM into XenServer
Firstly, setup your XenServer machine and XenCenter client tools on your workstation, if you don’t have these. Your XenServer host will need 1gb of spare memory and 20GB spare storage.
Right click your XenServer in XenCenter, Import VM:
Browse to the extracted xva file and click Next
Click Next and Import to select the host and storage repository. Select the networking – link it to your real network. It won’t use DHCP, so until you give it an IP it won’t do anything.
Click the Logs tab in XenServer to import:
At this point I have had the unhelpful message “This file could not be imported”. I downloaded the whole file again and extracted it with 7zip instead of WinRAR, then I imported it again using locally installed XenCenter tools and a Console session, rather than XenApp streamed tools in an RDP session. I don’t know which of these steps fixed it, but it imported fine the second time.
A successful import should take about 10 minutes.
Once the server is imported it should start automatically by default.
Select your Server in XenCenter and click the Console tab to view its setup functions
Configuring the Merchandising Server’s Network Configuration
You will need to know the Hostname you want to use for the server, and IP addresses for the server, its netmask, DNS server IPs and the gateway IP to get the server working. You should now see the following screen in your Console window:
Click 1 and enter a hostname and domain, then follow the menu through to steps 2-5 to complete the rest of the networking. When you’re done, press 9 to save the changes:
Type yes to confirm, then enter a new root password. The system will reboot and return to the menu
To finish this section, update the XenServer tools while you have chance. Click the DVD Drive drop down menu and select xs-tools.iso. In the rebooted server’s Console window, select 8 for Diagnostics. You will now see these options:
Select 3 and press y to start the upgrade – this will cause one last server reboot. In the Search tab of your XenServer’s host you should now see CPU and memory usage for the new guest OS.
You are done with XenCenter now and can close it. The rest of the config is in the web interface.
Configuring the Merchandising Server
Before you can use the web interface, you may need to configure the DNS record to point to the IP that you have the server. Pick something friendly as the DNS name as this could be something you’ll expect users to remember. Mine is called “xenmerchant”
You will get a certificate error as it starts with a self signed certificate with less than a month left to run:
After accepting the certificate you get put into the default download page. You don’t want this, so remove the download part of the URL – you want http://servername/appliance
You should now get this:
Once logged in click Change Root Password first – enter a decent password.
Working up the menu, click Configure AD
Fill this in, using a service account on your Active Directory that has a non-expiring password. This should be a non admin user and only needs to be a member of Domain Users. These are some example settings – obviously, change your source name to a domain controller, the Bind DN and Bind Password to your non admin user and Base DN to the Distinguished Name of your domain.
Click Save and Sync. The Sync will take a few minutes and you might need to wait for it to complete.
Click Permissions and enter your administrators name (your name?), then click Search. Select yourself and click Edit. Give yourself Administrator privilege and Click Save. Set up any other admins you need.
Click Log off and Log in again with your domain username and password. Your username should be in the form DOMAIN\username.
You finally see all the options and it should look like this:
Merchandising Server appears to be basically a mechanism to get a real Citrix client to your users, and so it doesn’t do much without any plug-ins. You can download clients directly from the Citrix site (although of course you can only really get the latest client from the Citrix site itself). If you do this, remember to get the metadata file too.
Once you have the XML and executable file for the plug-in, click Upload in the plug-ins section and select them. You should not normally have to change the metadata (though you can). Once the upload is complete it will be present in Uploaded Plug-ins. Don’t worry about the fact you have not configured the client yet – you will configure the essentials later.
Otherwise, just click Get New under the plug-ins section. It should detect the available plug-ins and download them – assuming it understands your internet connection. Personally, my proxy server foiled it.
Creating Rules and a Delivery
Now you have a plug-in uploaded to the server, its ready to be able to deploy it.
Click Rules under Deliveries.
You might have lots of rules here – of course you might not care who downloads clients from your server and might just put in one very permissive rule. In my case I only care that the PCs are domain computers, so I just selected Computer Domain Membership. You might want to create rules for specific groups of users of operating systems, such as Mac users.
Click Create / Edit to set up a Delivery.
Enter sensible values for this – have a think about the Completion Text, the users will see it!
Click the Plug-ins tab at the top and click Add to select the plug-in that you want to distribute. Note this can be a delivery to Uninstall a client as well as Install it.
Click the Configuration tab – this will look different depending on what was in the Metadata file for the client you just selected. In the case of my Online plug-in, it asks me to supply the Web Interface Server URL. This field is required.
Click Rules and select one of the Rules you created earlier. Note if you checked the Default Delivery button on the first page, this page doesn’t do anything.
Click the Schedule tab and then button and if you are happy to save it without scheduling it for a specific time.
Using the server
That’s the easy bit. Go to the website from a PC and enter the DNS name you created earlier.