NX Web Companion Installation Instructions
Prepared by:
Silvia Regis
N°:
D-708_007-NXW-CII
Approved by:
Sarah Dryell
Signature:
 
Date:
14/08/2007
Amended:
A


NX Web Companion
Installation Instructions




Index

  • 1 NX Web Companion Installation Instructions
    1. 1.1 Supported Platforms
    2. 1.2 Prerequisites
    3. 1.3 List of the Available NX Web Companion Packages
    4. 1.4 What is included in the NX Web Companion Packages?
    5. 1.5 Installation instructions

  • 2 NX Web Companion Installation Instructions for Linux Platforms
    1. 2.1 List of the Available NX Web Companion Packages
    2. 2.2 Installing the NX Web Companion RPM Package
    3. 2.3 Updating the NX Web Companion Installation from RPM Package
    4. 2.4 Removing the NX Web Companion Installation from RPM Package
    5. 2.5 Installing the NX Web Companion DEB Package
    6. 2.6 Updating the NX Web Companion Installation from DEB Package
    7. 2.7 Removing the NX Web Companion Installation from DEB Package
    8. 2.8 Installing the NX Web Companion Compressed TAR Package
    9. 2.9 Updating the NX Web Companion Installation from Compressed TAR Package
    10. 2.10 Removing the NX Web Companion Installation from Compressed TAR Package

  • 3 NX Web Companion Installation Instructions for Solaris Platforms
    1. 3.1 Installing the NX Web Companion
    2. 3.2 Updating the NX Web Companion Installation
    3. 3.3 Removing the NX Web Companion Installation

  • 4 Integrating the NX Web Companion into a Web Application
    1. 4.1 Basic Requirements for Using the NX Web Companion
    2. 4.2 How to Generate the Session File

  • 5 Personalizing the NX Web Companion
    1. 5.1 The nxapplet HTML File
    2. 5.2 How to Personalize the Images
    3. 5.3 How to Personalize the Messages
    4. 5.4 How to Personalize the Buttons

  • 6 Securing the NX Web Companion




  • 1 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.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


    Up

    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 Professional and IIS version 5.1


    Up

    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


    Up

    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.


    Up

    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.


    Up

    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


    Up

    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/


    Up

    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


    Up

    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


    Up

    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/


    Up

    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.


    Up

    2.7 Removing the NX Web Companion Installation from DEB Package

    Open an xterm terminal or similar and run:

    # sudo dpkg -r nxplugin


    Up

    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/


    Up

    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.


    Up

    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


    Up

    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


    Up

    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


    Up

    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


    Up

    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.


    Up

    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.

    If you need to create a session file including credentials to log to NX:

    • Check the 'Configuration -> General -> Remember my password' field.
      If you don't select Remember my password field, when the user starts the remote session, NX Client will provide the loging dialog asking for the password.
    • Insert the login and password of the user, who will be running the remote session via Web, in the NX Client Login dialog.
    • Run the session to verify login ability.

    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


    Up

    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">
    

    Parameters that should not be modified:

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


    Up

    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.


    Up

    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.


    Up

    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.


    Up

    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.


    Up

    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