Home > Documents > Installation > NX Web Companion Installation Instructions
Download this same document as: PDF Format HTML Format
NX Web Companion Installation Instructions
Welcome to the NX Web Companion installation guide. Below you will find some hints on the NX Web Companion packages and step-by-step instructions on how to install, update or remove the Web Companion on your Operating System. You can download the latest available version of the package suitable for your O.S. at:

http://www.nomachine.com/download

In the following document, X.Y.Z-W indicates the version of the package you are going to install, e.g. nxplugin-X.Y.Z-W.i386.rpm.

1. NX Web Companion Installation Instructions

1.1 Supported Platforms

The supported platforms are:

Linux

  • RedHat Enterprise Linux 4/5
  • SuSE 10/10.1/10.2/Enterprise 10
  • Mandriva 10.1/2005/2006/2007
  • Fedora Core 4/5/6
  • Fedora 7
  • Debian GNU/4.0 Etch
  • Ubuntu 5.10 Breezy/6.06 Dapper/6.10 Edgy/7.04 Feisty Fawn
  • Xandros Desktop 4.1/Xandros Server 2.0

Solaris Sparc

  • 8/9/10

Windows

  • 2000/2003/XP

1.2 Prerequisites

Before going ahead with the installation of the NX Web Companion, please be sure you have installed the Apache HTTP Server or the IIS Web Server on Windows.

NoMachine has verified that the NX Web Companion works in the following environments:

  • Debian GNU/Linux Sarge 3.1 and Apache HTTP Server version 1.3
  • SuSE Linux 9.2 Apache HTTP Server version 2.0.54
  • Solaris Sparc 9 and Apache HTTP Server version 1.3
  • Windows XP Professional and Apache HTTP Server version 1.3
  • Windows XP Professiona and IIS version 5.1

1.3 List of the Available NX Web Companion Packages

The following NX Web Companion packages are available:

  • RPM, DEB i386/AMD64 for Linux
  • Compressed TAR i386/AMD64 for Linux and Windows
  • SPARC.GZ for Solaris SPARC

The list of the supported platforms may be updated from time to time, please refer to the download page to get the latest information:

http://www.nomachine.com/download.php


1.4 What is included in the NX Web Companion Packages?

The NX Web Companion package includes either the java applet and the NX Client package to be downloaded by the end-user according to his/her own platform, organized according to the following structure:

  • plugin/Java/nxapplet.jar
  • plugin/nxapplet.html
  • plugin/Linux/client.zip
  • plugin/Windows/client.zip
  • plugin/MacOSX/client.zip
  • plugin/Solaris/client.zip

The client.zip archive is a LZMA compressed Jar archive of the NX System directory content for each of the supported Operating Systems. Note also that the Linux/client.zip archive ship a nxclient executable that links dynamically with GLIBC and requires that libstdc++ version 6 is present on the system. Since it provides support for font antialising, it requires also that the XFT libraries (libfontconfig.so.1 and libXft.so.2) are present on the system.

1.5 Installation instructions

The instructions reported in the following sections mainly refer to the installation of the NX Web Companion on Linux and Solaris and assume that the Web Server is Apache.

The installation instructions can be easily extended to the Windows platform and also to the IIS Web Server, keeping in mind that:

  • The compressed TAR package will be extracted in the /usr/NX/share/plugin folder.
  • The plugin folder should be copied to the public directory of your Web server.


2. NX Web Companion Installation Instructions for Linux Platforms

You may install, update and remove the package by using the sudo utility. If you don't have the sudo utility installed, log on as superuser ("root") and run the commands without sudo.


2.1 List of the Available NX Web Companion Packages

The following NX Web Companion packages are available:

  • RPM, DEB and Compressed TAR for Linux i386/AMD64


2.2 Installing the NX Web Companion RPM Package

Open an xterm terminal or similar, move to the directory where you have downloaded the package from the NoMachine Web site and install it using the rpm utility

# sudo rpm -ivh nxplugin-X.Y.Z-W.i386.rpm

Alternatively, you can use the graphical package manager provided by your Linux distribution.

The Web Companion will be installed in the /usr/NX/share/plugin directory.
To make it accessible via Web, please copy the plugin directory in the proper
public directory of your Web server, e.g.:

# sudo cp -a /usr/NX/share/plugin /usr/local/apache/htdocs/

2.3 Updating the NX Web Companion Installation from RPM Package

Open an xterm terminal or similar, make a backup of your current NX Web Companion installation and protect sensitive information that may be present
inside the TAR archive by making the backup readable only by the 'root' user:

# sudo tar cvzf /root/nx-BACKUP.tar.gz /usr/local/apache/htdocs/plugin
# sudo chmod 0600 /root/nx-BACKUP.tar.gz

Next, move to the directory where you have downloaded the package from the NoMachine Web site and run:

# sudo rpm -Uvh nxplugin-X.Y.Z-W .i386.rpm

2.4 Removing the NX Web Companion Installation from RPM Package

Open an xterm terminal or similar and remove the package using the rpm utility:

# sudo rpm -e nxplugin


2.5 Installing the NX Web Companion DEB Package

Open an xterm terminal or similar, move to the directory where you have downloaded the package from the NoMachine Web site and install it using the dpkg utility:

# sudo dpkg -i nxplugin_X.Y.Z-W_i386.deb

The Web Companion will be installed in the /usr/NX/share/plugin directory.
To make it accessible via Web, please copy the plugin directory in the proper public directory of your Web server, e.g.:

# sudo cp -a /usr/NX/share/plugin /usr/local/apache/htdocs/

2.6 Updating the NX Web Companion Installation from DEB Package

Open an xterm terminal or similar, make a backup of your current NX installation
and protect sensitive information that may be present inside the TAR archive
by making the backup readable only by the 'root' user:

# sudo tar cvzf /root/nx-BACKUP.tar.gz /usr/local/apache/htdocs/plugin
# sudo chmod 0600 /root/nx-BACKUP.tar.gz

Next, move to the directory where you have downloaded the package from the NoMachine Web site and run:

# sudo dpkg -i nxplugin_X.Y.Z-W_i386.deb

The dpkg utility will automatically uninstall the old version present on the system and install the new one.


2.7 Removing the NX Web Companion Installation from DEB Package

Open an xterm terminal or similar and run:

# sudo dpkg -r nxplugin

2.8 Installing the NX Web Companion Compressed TAR Package

Open an xterm terminal or similar, move to the directory where you have downloaded the package from the NoMachine Web site and extract the archive:

# sudo tar --absolute-paths -xvzf nxplugin-X.Y.Z-W.i386.tar.gz

The Web Companion will be installed in the /usr/NX/share/plugin directory.
To make it accessible via Web, please copy the plugin directory
to the proper public directory of your Web server, e.g.:

# sudo cp -a /usr/NX/share/plugin /usr/local/apache/htdocs/


2.9 Updating the NX Web Companion Installation from Compressed TAR Package

Open an xterm terminal or similar, make a backup of your current NX installation and protect sensitive information that may be present inside the TAR archive by making the backup readable only by the 'root' user:

# sudo tar cvzf /root/nx-BACKUP.tar.gz /usr/local/apache/htdocs/plugin
# sudo chmod 0600 /root/nx-BACKUP.tar.gz

Next, move to the directory where you have downloaded the package and extract the archive:

# sudo tar --absolute-paths -xvzf nxplugin-X.Y.Z-W.i386.tar.gz

This operation will overwrite all the files from the previous installation.


2.10 Removing the NX Web Companion Installation from Compressed TAR Package

Open an xterm terminal or similar and remove the installation directory:

# sudo rm -rf /usr/local/apache/htdocs/plugin


3. NX Web Companion Installation Instructions for Solaris Platforms

You may install, update and remove the package by using the sudo utility. If you don't have the sudo utility installed, log on as superuser ("root") and run the commands without sudo.


3.1 Installing the NX Web Companion

Open a terminal, move to the directory where you have downloaded the package from the NoMachine Web site, expand the package archive and install it using the pkgadd utility:

# sudo gunzip nxplugin-X.Y.Z-WW.sparc.gz
# sudo pkgadd -d nxplugin-X.Y.Z-WW.sparc

3.2. Updating the NX Web Companion Installation

Open a terminal, make a backup of your current NX installation and protect sensitive information that may be present inside the TAR archive by making the backup readable only by the 'root' user:

# sudo gtar cvzf /root/nx-BACKUP.tar.gz /usr/local/apache/htdocs/plugin
# sudo chmod 0600 /root/nx-BACKUP.tar.gz

The next step is to remove the previous installation, otherwise the installation will fail because only a single instance of the package is supported at one time on the same system:

# sudo pkgrm NXplugin

Finally, expand the package archive and install it using the pkg utility :

# sudo gunzip nxplugin-X.Y.Z-WW.sparc.gz
# sudo pkgadd -d nxplugin-X.Y.Z-WW.sparc

3.3 Removing the NX Web Companion Installation

Open a terminal and remove the NX Web Companion installation using the pkgrm utility:

# sudo pkgrm NXplugin


4. Integrating the NX Web Companion into a Web Application

This section aims at specifying the basic requirements to use the NX Web Companion. These requirements are also the starting point in developing a Web application which integrates the NX Web Companion. However, explaining the technical design of the Web application you are using is beyond the scope of this document.


4.1 Basic Requirements for Using the NX Web Companion

These are the basic requirements to allow the user to run an NX session from the Web Companion:

  • A specific session file, identified by a unique name, should be created for every user and be resident on the Web Server in a public directory accessible by the NX Web Companion. It needs to have the .nxs extension to be identified by the NX Client as a session file.
  • The nxapplet HTML file should be modified to allow each user to access his own session file via Web. It is necessary to specify the name of the file and its path on the Web server. The Web Companion will download the proper session file on the user's machine and launch the NX Client to start the session.

To ensure uniqueness and security to the session files, it is advisable to name those files by using the MD5 utility. However, any system implementing a one-way hashing algorithm can be used to avoid collision in the namespace of session files.


4.2 How to Generate the Session File

The NX Client Configuration GUI allows you to create and save a session file. These files are saved in the User NX directory set in the 'Configuration -> Environment' dialog.

Insert the login and password of the user, who will run the remote session via Web, in the NX Client Login dialog and try to run the session. Please also remember to check the 'Configuration -> General -> Remember my password' field to ensure that the user's password is saved in the session file. Otherwise, when the user starts the remote session via the Web Companion, the client dialog asking for the password will appear.

Another NX application, the NX Client Profile Builder, will allow you to create a session file via the Web. This application will take you through a step by step configuration of the session in a way similar to that of the NX Client Connection Wizard.

Starting from version 2.0.0, the NX Enterprise and NX Advanced Servers support the automatic provision of guest accounts provided that the NX Client version you have also allows guest user login. If you want to generate session files to run guest sessions on the server, you need to enable the 'Login as guest user' check box in the NX Client login dialog when running the session.

If you would like to create your own application to generate valid session files, please note that when saving the session password in the configuration file, it is stored in a scrambled format. More information is available at:
http://www.nomachine.com/ar/view.php?ar_id=AR01C00125


5. Personalizing the NX Web Companion

5.1 The nxapplet HTML File

The plugin/nxapplet.html file provides the following parameters to configure the NX Web Companion according to your needs.

Parameters for configuring the applet initialization phase

To define the applet background color:

<PARAM NAME="boxbgcolor" VALUE="236, 235, 229">

To enable or disable the progress bar:

 <PARAM NAME="progressbar" VALUE="true">

To personalize the message provided during the applet initialization:

<PARAM NAME="boxmessage" VALUE="Please wait while Java applet loads...">

To define the root path to which all the relative paths will be appended.
Please note that it is necessary to modify this value, otherwise the applet
can't be initiated:

 <PARAM NAME="SiteUrl" VALUE="http://webserver">

Parameters to configure the applet appearance

To define the base directory where the images used for the background are placed:

 <PARAM NAME="BackgroundsUrl" VALUE="/plugin/images/backgrounds/">

To specify the background images:

 <PARAM NAME="Background1" VALUE="background-1.png">
 <PARAM NAME="Background2" VALUE="background-2.png">
 <PARAM NAME="Background3" VALUE="background-3.png">
 <PARAM NAME="Background4" VALUE="background-2.png">
 <PARAM NAME="Background5" VALUE="background-4.png">
 <PARAM NAME="Background6" VALUE="background-4.png">
 <PARAM NAME="Background7" VALUE="background-5.png">
 <PARAM NAME="Background8" VALUE="background-6.png">
 <PARAM NAME="Background9" VALUE="background-7.png">

To define the base directory where the message images are placed:

 <PARAM NAME="StringsUrl" VALUE="/plugin/images/strings/">

To specify the message images:

<PARAM NAME="String1" VALUE="string-1.png">
 <PARAM NAME="String2" VALUE="string-2.png">
 <PARAM NAME="String3" VALUE="string-3.png">
 <PARAM NAME="String4" VALUE="string-4.png">
 <PARAM NAME="String5" VALUE="string-5.png">
 <PARAM NAME="String6" VALUE="string-6.png">
 <PARAM NAME="String6" VALUE="string-7.png">

To define the base directory where the error message images are placed:

 <PARAM NAME="ErrorsUrl" VALUE="/plugin/images/errors/">

To specify the error message images:

<PARAM NAME="Error1" VALUE="error-1.png">
 <PARAM NAME="Error2" VALUE="error-2.png">
 <PARAM NAME="Error3" VALUE="error-3.png">
 <PARAM NAME="Error4" VALUE="error-4.png">
 <PARAM NAME="Error5" VALUE="error-5.png">
 <PARAM NAME="Error6" VALUE="error-6.png">
 <PARAM NAME="Error7" VALUE="error-7.png">
 <PARAM NAME="Error8" VALUE="error-8.png">
 <PARAM NAME="Error9" VALUE="error-9.png">
 <PARAM NAME="Error10" VALUE="error-10.png">

To define the base directory where the button images are placed:

 <PARAM NAME="ButtonsUrl" VALUE="/plugin/images/buttons/">

To specify the button images:

<PARAM NAME="Cancel" VALUE="cancel.png">
 <PARAM NAME="CancelOver" VALUE="cancel-over.png">
 <PARAM NAME="CancelActive" VALUE="cancel-active.png">
 <PARAM NAME="Continue" VALUE="continue.png">
 <PARAM NAME="ContinueOver" VALUE="continue-over.png">
 <PARAM NAME="ContinueActive" VALUE="continue-active.png">
 <PARAM NAME="Download" VALUE="download.png">
 <PARAM NAME="DownloadOver" VALUE="download-over.png">
 <PARAM NAME="DownloadActive" VALUE="download-active.png">
 <PARAM NAME="Run" VALUE="run.png">
 <PARAM NAME="RunOver" VALUE="run-over.png">
 <PARAM NAME="RunActive" VALUE="run-active.png">
 <PARAM NAME="Details" VALUE="details.png">
 <PARAM NAME="DetailsOver" VALUE="details-over.png">
 <PARAM NAME="DetailsActive" VALUE="details-active.png">
 <PARAM NAME="Pause" VALUE="pause.png">
 <PARAM NAME="PauseOver" VALUE="pause-over.png">
 <PARAM NAME="PauseActive" VALUE="pause-active.png">
 <PARAM NAME="Resume" VALUE="resume.png">
 <PARAM NAME="ResumeOver" VALUE="resume-over.png">
 <PARAM NAME="ResumeActive" VALUE="resume-active.png">

To define the URL to which the user will be redirected when exiting the applet.

  
 <PARAM NAME="RedirectUrl" VALUE="http://www.nomachine.com">

Parameters for specifying the session file

To define the URL from which the applet will download the session file. Please note that this name should be unique, in order to grant every user their own session file and that the .nxs extension is required:

 <PARAM NAME="SessionUrl" VALUE="/plugin/session/session.nxs">

To define how the downloaded session file should be renamed when saved locally. Please note that the .nxs extension is required:

 <PARAM NAME="SessionName" VALUE="testdrive.nxs">

To define the URL from which the applet will download the NX Client for Linux archive:

 <PARAM NAME="LinuxClientUrl" VALUE="/plugin/Linux/client.zip">

To define the version of the NX Client for Linux available in the client.zip archive. Please avoid modifying this value asit refers to the version of the client provided together with the NX Web Companion installation:

 <PARAM NAME="LinuxClientVersion" VALUE = "3.0.0-50">

To define the URL from which the applet will download the NX Client for Windows archive:

 <PARAM NAME="WindowsClientUrl" VALUE="/plugin/Windows/client.zip">

To define the version of the NX Client for Windows available in the client.zip archive. Please avoid modifying this value as it refers to the version of the client provided together with the installation:

 <PARAM NAME="WindowsClientVersion" VALUE = "3.0.0-50">

To define the URL from which the applet will download the NX Client for Mac OS/X archive:

 <PARAM NAME="MacOSClientUrl" VALUE="/plugin/MacOSX/client.zip">

To define the version of the NX Client for Mac OS/X available in the client.zip archive. Please avoid modifying this value as it refers to the version of the client provided together with the installation.

 <PARAM NAME="MacOSClientVersion" VALUE = "3.0.0-50">

To define the URL from which the applet will download the NX Client for Solaris archive:

 <PARAM NAME="SolarisClientUrl" VALUE="/plugin/Solaris/client.zip">

To define the version of the NX Client for Solaris available in the client.zip archive. Please avoid modifying this value as it refers to the version of the client provided together with the installation.

 <PARAM NAME="SolarisClientVersion" VALUE = "3.0.0-50">

 <PARAM NAME="archive" VALUE="nxapplet.jar">
 <PARAM NAME="code" VALUE="NXApplet.class">
 <PARAM NAME="type" VALUE="application/x-java-applet;version=1.2">

5.2 How to Personalize the Images

You can replace the background images with your own images. Please refer to the 'The nxapplet HTML file' section to identify which parameters to use.


5.3. How to Personalize the Messages

You can personalize some messages by replacing the relative images with your own. Please refer to the 'The nxapplet HTML file' section to identify which parameters to use. Note that messages provided during the client/server connection are not images and therefore can't be modified, likewise the background colour of the actual panel cannot be changed.


5.4 How to Personalize the Buttons

You can add your own buttons to the NX Web Companion by replacing the relative images with your own. Please refer to the 'The nxapplet HTML file' section to identify which parameters to use.



6. Securing the NX Web Companion

The NX Web Companion contains a signed Java applet used to download the required NX components and the NX session information. The process of signing an applet ensures that the applet's code cannot be modified while travelling over the network, so that it can be trusted by the browser and executed under the user's control. Nonetheless, the signing process does not mean that other data downloaded by the applet might not be subject to spoofing and other common Internet threats. Therefore, unless the access to the NX Web Companion is offered on a trusted network, it is strongly suggested that you protect your communication by means of a HTTPS/SSL connection.

By using the NX Web Companion the user needs to gain access to various information. You may consider putting the different data on different servers, these being HTTP or HTTPS servers, depending on the level of security you want to achieve. Some considerations to point out are:

  • The Java applet itself and the other NX Web Companion's components are not considered critical data. As we have seen, the applet has been signed so that it can be verified by the browser upon execution, and the download of the other binary components will offer the same security as the download of the NX binary packages from any other server on the Internet.
  • The Web page containing the applet parameters contains critical data because it exposes the address of the NX server and the URL where the session configuration can be downloaded. If the download of the NX session configuration has not been protected by additional means (host based access, HTTP password) a hacker would be able to intercept the data travelling over the network and get hold of the session configuration of the legitimate user.
  • The NX session configuration file, including the cryptographic key used to gain access to the server and the user's credentials should be carefully protected and never transferred over the network across an unencrypted connection. This data is downloaded by the applet from the URL specified among the parameters and used to run the session without further interaction with the user.

Please refer to your network administrator or operating system vendor to learn how to configure Apache to provide secure access by SSL.


For further information about NX Web Companion and NoMachine's range of other products, users are invited to visit our website at www.nomachine.com

Technology Brief
Data encryption and security

NX security is guaranteed at every layer involved in the communication process. NX uses SSH public-key encryption and 128 bit volatile random cookie generation.

Multimedia support

NX transparently tunnels Linux multimedia channels. Not only does NX play KDE and Gnome system sounds, but you can listen to MP3s played on the server and local workstation simultaneously.

Unified support for all major remote desktop protocols

Thanks to its outstanding compression performances, NX is able to deliver X, RDP and RFB remote sessions using the same client. This is achieved by translating "foreign" protocols into X-Window, the native protocol of NX.

NX Distributed Computing Architecture

Behind NoMachine software is the NX Distributed Computing Architecture, a suite of Open Source technologies and commercial tools, designed by NoMachine to make network computing as easy and widespread as Web browsing. NoMachine has built the foundations of its NXDCA on two well known and widely used open standards, SSH and the X-Window System, the windowing system which is behind the Graphical User Interfaces of Linux and the Unix Operating System.


Support Options
Knowledge Base

NoMachine's Knowledge Base is the best place to start looking for answers to your technical, licensing and support questions.

Features and requirements

For a more detailed description of what our subscription options offer consult the NX Subscription Overview.

Print this document
Send this page
 


Home | News | About Us | Partners | Contact Us
Products | Download | Support | Documents | Customers
Copyright 2002-2008, NoMachine - VAT 09011991008