Deploy Citrix Web Interface on Linux for reliable Web Interface / PNAgent funtionality for Xenapp, Xendesktop and Netscaler integration.

Casey HermanCitrix Engineer
After several days of searching and hunting for limited documentation, I wanted to share this guide to hopefully save someone the hassle of trying to figure this out on their own.
I have tested this on Xendesktop 7.1 and PS 4.5 running simultaneously off of the same web interface server. So the old and the new works together easily.

For this article the following pieces of software were used -

Ubuntu 12.04 lts x64 - Download Here
Citrix Web Interface 5.4 for Java Application servers - Download here
Putty to ssh into the server - Download Here
Winscp to transfer files to/from the server - Download Here

Starting off there are tons of guides on how to install Ubuntu server and set a static ip with dns resolution. Make sure when you are installing it you install with the below options. This article assumes you have used winscp, putty, and linux shell editors like nano and vi before.

If you know how to install Apache on its own, I would recommend doing it that way. For ease of use we select the LAMP server option in this document.

Install optionsThis will install the core OS with all the software needed to make this work.

Once the os is up and running.

I like to make sure a few things are installed to help troubleshoot if needed.

Make sure your system is up to date and here are the tools I like to use.

I also like to make sure dkms is installed. If it is a vm then it helps to make sure that the vmware tools gets rebuilt if there is a kernel upgrade. Else I have seen the machines loose their network connections

sudo apt-get update
                      sudo apt-get upgrade
                      reboot  for good measure
                      sudo apt-get install dkms htop nmon

Open in new window

At this point we are good on the OS.

The next thing I recommend doing is setting your permissions for tomcat6 so you can log in and deploy applications.

Edit tomcat users 
cd /etc/tomcat6
                      use whatever editor you like. I personally prefer vi or nano.
                      sudo vi tomcat-users.xml
                      Add the roles and passwords to manage the tomcat apps
                       <role rolename="admin"/>
                        <role rolename="manager-gui"/>
                        <user username="tomcatadmin" password="somecomplexpassword" roles="admin ,manager-gui"/>
                      save and exit the editor
                      restart tomcat6
                      /etc/init.d/tomcat6 restart

Open in new window

At this point you should be able to log into tomcat and manipulate applications.

So open a web browser and go to the server ip / dns :8080    <-- replace the with your ip or dns name.

You should see this now.

tomcat landing pageclick on "Manager Web App"

You will be prompted for a login.

Enter the login info you provided in the tomcat-users.xml

tomcat loginYou should now see the below or something close to it. If not review the steps that you have taken.

tomcat app deployment pageAt this point you have tomcat configured and it is ready to deploy the web interface.

The next thing we need to do is configure the web interface application web archive.

Open up a putty session and a winscp session to the temp directory and transfer the Webinterface.jar file to the server.

When I did this I transferred it to the /tmp directory.

This may be an extra step but I wanted to make sure whatever was being built with java, would be built with the same version of java that the server was running.

You might be able to build this file locally but I have not tried it myself.

That being said once the file is transferred, open up putty and ssh to the server.

change to the /tmp directory or where ever you stored the file.

execute the following command.

sudo java -jar WebInterface.jar

Open in new window

web interface installPress enter

WI install 2Press "Y" then enter

Wi install 3Ok. So now we need to decide if we are doing Web Interface or PNAgent.

Press 1 for Web interface or 2 for PNAgent.

For my situation I needed both. So I ran this installer twice so that I had both options available. The installer essentially works the same for both options.

Select your option then enter in your zone data collector. I am not sure if you can add more than one here but you can edit the webinterface.conf file and find the line where that is entered and add your second ZDC. You will just add a comma after the other one and add the new one right after it.

Select option and enter ZDCSelect the protocol. I am using http so I selected option 1.

Select protocol for xml serviceSelect the port that the XML service is running on.

XML service portSelect the interface style you want. I am generally ok with the minimal as I do not need to give the users too many options. You can change this later in the webinterface.conf

Interface StyleI use dual mode so I selected that for the next option. You can just do this to be safe.

Select Online, Offline, or DualSelect whether or not you want to upload the Citrix receiver to the web interface.

I elected not to at the moment and manually copied them over afterwards.

Copy the client if you want too.Press Enter here to save the generated XenApp.war file in the same directory that you uploaded the webinterface.jar file.

Save file locationPress "Y" to create the file in the working directory.

Create the .war file 
ls -lisah

Open in new window

You should now see the XenApp.war or PNAgent.war file in the folder.

list of filesUsing WinSCP copy the XenApp.war or the PNAgent.war file back to your desktop.

After that open a web browser, log into tomcat web app manager.

Towards the bottom find the below section of the screen.

Tomcat Deploy.Choose the file you copied back to your workstation.

DeployNow press the deploy button.

If you scroll back up towards the top you will see the XenApp or PNAgent site that you deployed. In my case both are listed.

XenApp and PNAgent sites displayedYou can click on the XenApp site and it will take you right into the XenApp / XenDesktop Web Interface.

Web Interface is now runningTo test the PNAgent site add config.xml at the end of the web address and you should see something similar to this.

PNAgent testNow the reason we installed apache was so you could set up a redirect from the default Apache site.

If your web interface is set up as and users try to browse their the will get the good old Apache "IT WORKS!" page.

We want it to redirect to the new Citrix web interface site.

So what we need to do is putty into the server.

cd /var/www
                      cp index.html index.html.bak
                      sudo vi index.html
                      delete everything in the file.
                      Then add your favorite method of redirection to the web interface site,
                      I added this to mine.
                      <meta HTTP-EQUIV="REFRESH" content="0; 

Open in new window

Make sure you use the proper case for the address. IE "XenApp" and not "xenapp" as it is case sensitive or "PNAgent" and not "pnagent."

So now browse to your server at and you should be redirected to the Web Interface site.

For the most part now everything is done.  All you have left to do is configure the actual web interface settings for your domain and such.

So reference this document - Web Interface Parameters

The webinterface.conf will be located at :


Replace XenApp with PNAgent if you are working on that site.

A few key times to check out are:

You can reorder these as needed.


May need to modify this if you are using a netscaler


AutoLaunchDesktop=Off  (you can decide change to on if you want a desktop to launch automatically)

UserInterfaceBranding=Desktops (Can also be set to Applications just changes the splash screen to say XenDesktop or XenApp is all this does)

ShowDesktopViewer=On  (I like this so that the user can easily resize the desktop)

HideDomainField=Off  (If you have a single domain you can set it then hide the domain field)

DomainSelection=DOMAIN1,DOMAIN2 (These will show in a dropdown box if you only have one, enable the above option as well)

These are just a few of the options that I set.

After you change any options and save the webinterface.conf file you will need to restart the application. I believe you can stop then start it from the tomcat app manager or you can just restart tomcat6.   (/etc/init.d/tomcat6 restart)

This process looks a lot worse than it actually is.

Once your options are configured correct you should be able to log into the web interface and execute your applications.

Your receiver should also be able to connect to the PNAgent site once the config is set properly.

Casey HermanCitrix Engineer

Comments (0)

Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.