Home > Documents > Installation > NX Builder Installation Instructions
Download this same document as: PDF Format HTML Format
NX Builder Installation Instructions
Welcome to the NX Builder installation guide. Below you will find some hints on the NX Builder package and step-by-step instructions on how to install and configure the Builder on your Operating System. You can download the latest available version of the package 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. nxbuilder-X.Y.Z-W.tar.gz.


1. NX Builder Installation Instructions

1.1 Introduction

NX Builder is a Web application written in php, using a MySQL database for storing the information, and is provided as a compressed TAR package. This application, which can be easily integrated into any Web site, once configured by the Web administrator using the steps outlined below, will provide NX end users with pre-configured session files which will then allow them to access remote desktops and applications via the NX Client. There will be no need for users to configure their NX Client software other than setting the remote desktop resolution and the connection link type.

1.2 Supported Platforms

The supported platforms are:

Linux

  • RedHat 7.2/7.3/8.0/9.0
  • RedHat Enterprise Linux 4/5
  • SuSE Linux 7.2/7.3/8.0/8.1/8.2/9.0/10/10.1/10.2/Enterprise 10
  • Mandriva Linux 9.0/9.1/9.2/10.0/10.1/2005/2006/2007
  • Fedora Core 1/2/3/4/5/6
  • Fedora 7
  • Debian GNU/Linux 3.0 Woody/3.1 Sarge/4.0 Etch
  • Ubuntu 5.04 Hoary/5.10 Breezy/6.0 Dapper/6.10 Edgy/7.04 Feisty Fawn
  • Xandros 3.0/4.1

Windows

  • 2000/2003/XP/Vista

Mac OS X PPC

  • Mac OS X PPC 10.x

Mac OS X i386

  • 10.3
  • 10.4

Solaris SPARC

  • 8/9/10

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

http://www.nomachine.com/download

1.3 Prerequisites

Prerequisite to using NX Builder is having already installed the following software:

  • Apache Web Server or IIS on Windows OS.
  • PHP
  • MySQL

NX Builder is mainly developed in the following environment, which grants compatibility with either old and more recent versions of the supported Operating Systems:

  • Server SuSE Linux version 7.3
  • Apache Webserver version 1.3.23
  • PHP version 4.2.3
  • MySQL database version 3.23.41

2. Setting up and Configuring the NX Builder on Linux

The instructions reported in the following sections mainly refer to setting up the builder on Linux and assume the Web Server is Apache. These instructions can be easily extended, with slight modifications, to the Solaris, Mac OS X and Windows platforms and to the IIS Web Server.

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 Installing the NX Builder Source Package

Download the NX Builder source package from the NoMachine Web site, open an xterm terminal or similar, move to the directory where you have downloaded the package and extract the archive:

# sudo tar -xvzf nxbuilder-X.Y.Z-W.tar.gz

This document, for clarity reasons, will assume the archive is extracted in the /usr/NX/share directory.

Publish the application on the Web by copying the nxbuilder directory in the DocumentRoot of your Web Server, for example, if you are using Apache 2.2.0:

# sudo cp -a /usr/NX/share/nxbuilder /var/www/html

Set the proper ownership to the nxbuilder directory:

# sudo chown -R apacheUser: apacheGroup DocumentRoot/nxbuilder

Where apacheUser, apacheGroup and DocumentRoot should be replaced with the proper values depending on your Apache configuration.

2.2 Configuring Apache HTTP Server to Run the NX Builder

The nxbuilder/builder.conf file provides the directives needed to configure your Apache Web server in order to run NX Builder. It restricts access to the index page of the application and adds the .nxs content type to ensure that the NX session files can be opened locally by the default application, i.e. NX Client:

<Directory "${path}/nxbuilder">
DirectoryIndex nxbuilder.php
Options Multiviews

<Files ~ "\.(cfg|conf)$">
Order deny,allow
Deny from all
</Files>

</Directory>
AddType application/nxs .nxs

Please edit nxbuilder/builder.conf and replace ${path} with the absolute path to your application, for example:

<Directory "/var/www/html/nxbuilder">

Then include the nxbuilder/builder.conf file in the Apache configuration file, for example /etc/httpd/conf/httpd.conf, by adding the following line before the "Global Environment" section:

Include DocumentRoot/nxbuilder/builder.conf

where DocumentRoot is the path to the directory from which you will serve your NX Builder application. For example:

Include DocumentRoot/nxbuilder/builder.conf

Then restart your Apache Web server and verify you can access the application by placing in your browser:

http://ServerName/nxbuilder/Setup.php

If your Apache configuration file provides restrictive directives, you should verify that they are compliant with the directives set in the builder.conf file.

Please note that, if your Apache configuration file provides restrictive directives, you should verify that they are compliant with the directives set in the builder.conf file.


2.3 Creating and Updating the NX Builder Backend

The NX Builder backend is made up of a MySQL DB aimed at storing data related to NX servers, session cofiguration and Web users. The Web application relies on the nxbuilder/builder.cfg file to access the DB. This file is either created or updated in case of an upgrade of the NX Builder backend via the Setup application. A sample file is provided by the installation, i.e. nxbuilder/builder.cfg.sample.

NX Builder provides a Web interface, namely Setup, to easily create or update the DB and create or modify the builder.cfg file accordingly. Access the interface at:

http://ServerName/nxbuilder/Setup.php

and set the fields to fit your environment:

Bind-address:      Address IP of the machine where Mysql is running on
DB Name:           Name of the DB you are going to create
Administrator:     MySQL administrator's username
Password:          MySQL administrator's password

Create the NX Builder backend

Select the 'Create DB' option and confirm by clicking on the button. This operation will:

  • Create the DB
  • Create the nxbuilder/builder.cfg file accordingly

Update the NX Builder backend

In case, select the 'Upgrade DB' option and confirm by clicking on the button. This operation will:

  • Make a backup of the original DB in the DocumentRoot/nxbuilder/tmp directory, i.e.
  • DocumentRoot/nxbuilder/tmp/DBName.sql
  • where DBName is the name of the original DB.

Please note that, if the upgrade procedure is executed more than once, a further backup is made, named as DBName-n.sql where n is an incremental number.

  • Upgrade the DB structure, if needed.
  • Update the nxbuilder/builder.cfg file accordingly.
IMPORTANT

It is strongly suggested that you remove or move the Setup.php file to a safe place after you have succesfully performed the required operations to set up the NX Builder backend.


2.4 Updating the NX Builder

If you want to upgrade the NX Builder, it is suggested you make a backup of the Web application source code beforehand. For example:

# sudo tar cvzf /root/nx-BACKUP.tar.gz /var/www/html/nxbuilder

# sudo chmod 0600 /root/nx-BACKUP.tar.gz

Then extract the newly compressed TAR package and publish the application on the Web according to the instructions provided in the section related to the installation of the NX Builder.

To configure your NX Builder to access the backend, please refer to the previous section.
2.5 Removing the NX Builder

To remove NX Builder from your system, please remember to remove both the nxbuilder directory and the MySQL DB, for example:

# sudo rm -rf /var/www/html/nxbuilder
# sudo [mysql dir]/bin/mysql -h hostname -u root -p 
mysql> drop database [database name];


3. Administering the NX Builder

The NX Builder application is provided with a default Web administrator user. As the NX Builder Administrator you will be able to have control over the application itself as well as NX session management.

3.1 What Does the NX Builder Allow You to Do?

The NX Builder application allows you, as NX Builder Administrator, to deploy a pre-configured set of NX sessions on the Web, to be run on your NX Server(s), that you can then make available to the end-users. The NX sessions can be deployed either on a per-server and/or on a per-user basis. You will be able to give access to your NX Builder to both Guest Builder Users, i.e. all users can access the application without the need for Web access credentials, and/or to your established end-users who have Web access credentials.

The only prerequisites needed to ensure that the end-user will be able to run whichever NX session among the available list are that:

  • The end-user has NX Client installed on his/her machine.
  • A proper account is created on the NX server.

More details on how to configure users on NX builder to better integrate with accounts available on NX server are provided at sections 3.6 Add the NX Builder Guest User and Deploy Sessions on the Web, and 3.7 Add the NX Builder User and Deploy Sessions on the Web.


3.2 What are the Basic Steps to Set Up your NX Builder?

These are the basic steps you need to follow to deploy sessions on the Web via NX Builder:

  • Log-in to NX Builder as Administrator and change the default password provided by the installation.
  • Add NX server(s) to the NX Builder list of servers.
  • Create the session type(s) to be made available for each server.
  • Create NX Builder users - you might want to create either a Guest Builder User and/ or specific Web users.
  • Associate NX Server(s) to each NX Builder user, including the Guest Builder User if present. Choose among the list of available sessions per-server which session has to be deployed on the Web for that user.

3.3 Log-in as Administrator to NX Builder

The NX Builder application is provided with a default Web Administrator user. You can enter the application at:

http://ServerName/nxbuilder

by using the following credentials:

Username: nxbuilder
Password: nxbuilder

IMPORTANT

It is strongly suggested you modify the Web administrator's password once you are logged in. Click on 'Your account' button and set the new password from the 'Modify user' interface.


3.4 Add NX server to the NX Builder Server List

Click on the 'Add server' button in the NX Builder top bar.

Fill all the mandatory fields

  • Server name: the name of your NX server. It will be displayed on the Web page providing the list of available NX servers.
  • Host: either hostname or IP address of the machine where your NX server is running.
  • Port: the TCP port where the NX server SSHD daemon is running. The default is 22.

Provide more information about your NX Server:

The following fields allow you to specify more details for your NX server machine, for example:

  • Description: a short note to add information about the machine.
  • O.S.: Operating System running on the server machine.
  • CPU: Processor of the server machine.
  • Memory: RAM size.
  • Disk: Hard disk size.

Temporarily forbid access to your NX server via Web

If you want to temporary disable access to your NX Server via the NX Builder application, you can access the 'Suspend display of this server via Web' interface. This can be useful, for example, if you need to make technical operations on your NX server host machine and you can't ensure accessibility to this server for a period of time.

You can choose either to disable display of the NX server from the list deployed on the Web or to replace the NX Server item with a notification message.

Please note that this feature can be activated in any moment by accessing the 'Modify' interface for that server.

Associate the appropriate image to your NX Server

You might also want to associate an image to the new server. Feel free to upload your preferred image which will be displayed at 122x93 px. If you don't specify any image, a default 'empty' image will be associated.


3.5 Add sessions to the NX server

Click on the 'Add session' button in the NX Builder top bar.

Give a name to the session

Choose a meaningful name for the session, that can identify what kind of session you are deploying on the Web. That name will be displayed in the sessions list deployed on the Web.

Please note that NX Builder will name the .nxs file, generated on demand when starting a session, by concatenating the session name and the server host name. Furthermore, each space in the session name will be replaced by an underscore. For example:

Session name: My session

Server host name: testdrive.nomachine.com

Resulting .nxs file: My_session@testdrive.nomachine.com


Associate the session to the NX Server

Select among the 'Server name' list the NX Server on which you want this session to be run.

Configure the session

Choose the session type in the 'General' tab. You can also override the default parameters of the session configuration by setting options in the 'Advanced', 'Services' and 'Environment' tabs.

Associate an image to the NX session

In the 'General' tab, you can specify a category for the session, choosing among any of the default categories (which has a pre-defined image associated) or create a new category and associate your preferred image.


3.6 Add the NX Builder Guest User and Deploy Sessions on the Web

Click on the 'Add user' button in the NX Builder top bar.

Add the NX Builder Guest User

Select 'Guest' as 'User type': you will not need to specify username or password for this guest user. Note also that you can only have one unique guest user in your Web application.

Specify how the NX Builder Guest User will authenticate on the NX server

If you select 'Login to NX Server as a guest user', the NX Builder Guest User will try to run sessions on the NX Server as a 'guest'.


IMPORTANT

Pre-requisites for running sessions as a guest user on the server are:

  • The end-user needs NX Client version 2.0.0 or higher installed on his/her machine.
  • Support for guest users is available with NX Enterprise Server and NX Advanced Server. More information on how to enable and configure support for guest users is available at: http://www.nomachine.com/documentation/admin-guide.php

If you don't select 'Login to NX server as a guest user', when the NX Builder Guest User tries to start a session on the server, he/she will be provided with the NX Client login dialog and will need to insert username and password to be authenticated on the server.

Deploy sessions on the Web for the NX Builder Guest User

Select the NX Server you want to make available for the NX Builder Guest User among the 'Available Servers' list. Then specify the session(s) for this server you want to deploy on the Web.


3.7 Add the NX Builder User and Deploy Sessions on the Web

Click on the 'Add user' button in the NX Builder top bar.

Add the NX Builder User

Select 'User' as 'User type' and specify username and password for this user. These will be the user's Web credentials to login to NX Builder. If you want to give administrator privileges to the new user, specify 'Administrator' as 'User type'. In that way, the freshly created user will be able to access the NX Builder Administration interface.

Specify how the NX Builder User will authenticate on the NX Server

If you select 'Use Web credentials to access NX', each time the end-user tries to start a session, the NX Builder will pass the user's Web credentials to the NX session file generated on demand.

If you select 'Login to NX Server as a guest user' instead, the NX Builder Guest User will try to run sessions on the NX Server as a 'guest'.

IMPORTANT

  • It is recommended that when NX Builder is configured to create the session file based on the user's Web credentials, a correspondent account exists on the server to ensure that the user will be able to access the NX system. This account needs to use the same credentials set for accessing the NX Builder.
  • Pre-requisites for running sessions as a guest user on the server are:
    The end-user needs NX Client version 2.0 or higher installed on his/her machine. Support for guest users is available with NX Enterprise Server and NX Advanced Server.

For more information on how to create and manage users on the server, please refer at: http://www.nomachine.com/documentation/admin-guide.php


If you don't select either 'Use Web credentials to access NX' or 'Login to NX Server as a guest user', when the NX Builder User tries to start a session on the server, he/she will be provided with the NX Client login dialog and will need to insert username and password to be authenticated on the server.

Deploy sessions on the Web for the NX Builder User

Select the NX Server you want to make available for the NX Builder User among the 'Available Servers' list. Then specify the sessions for this server that you want to deploy on the Web.


3.8 List, Modify and Delete the NX Servers

Click on the 'Server list' button in the NX Builder top bar: you will then able to list, modify and delete each of the NX Servers you have added to the NX Builder.

You will be also able to start sessions on the server via the same Web interface.


3.9 List, Modify and Delete the NX Sessions

Click on the 'Session list' button in the NX Builder top bar: you will then able to list, modify and delete each of the sessions you have deployed on a per-server basis.

You will be also able to start sessions on the server via the same Web interface.


3.10 List, Modify and Delete the NX Builder Users

Click on the 'User list' button in the NX Builder top bar: you will then able to list, modify and delete each of the users. Note that at least one Administrator user is needed on the NX Builder.


3.11 The Configuration Interface

The Configuration interface allows you to extract the source code needed to display the list of NX Servers and associated NX sessions deployed on the Web. The source code can be easily integrated in any Web page, giving the possibility to directly display the per-server session list. This can be used when the NX Builder Guest User is defined and there is no need to give Web access credentials to log-in to the NX Builder application.

The source code is automatically generated by the NX Builder application and includes references to the NX Builder installation paths, needed for the correct working of the code. You can get a preview of the embedded code by clicking on the 'Preview' button.

To embed NX Builder in your Web site, copy and paste the source code in a file and include it on the Web site. You will be then able to offer a live experience as the NoMachine Testdrive already does:

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



4. Personalizing the NX Builder

The NX Builder application can be easily integrated in your Web site and personalized according to your preferences. However, explaining the technical design for including the Builder on your Web site is beyond the scope of this document.


4.1 How to Personalize the NX Builder Appearance

You have the possibility, as administrator, to set the NX Builder appearance by selecting color for backgrounds and borders via the Configuration Web interface. You can even set a custom background either for the toolbar and the Web page.


4.2 How to Personalize Server and Session List Appearance

The NX Builder gives you the possibility, as administrator, to associate via Web your preferred image for each of the listed NX Servers and for each of the deployed sessions. These images will be uploaded in the /nxbuilder/images/shared/servers and in the /nxbuilder/images/shared/sessions directory.


4.3 How to Personalize the Messages

You can personalize the messages by editing the /nxbuilder/Messages.php file to fit your needs.


5. Starting Sessions via the NX Builder


This section is mainly aimed at the NX Builder end-users who will access the application either as a Guest Builder User or by providing their own Web access credentials.


5.1 Run your NX session via NX Builder

Ensure that you have installed NX Client on your machine. You can easily download the latest available version from the NoMachine Web site at:

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

Then, point your Web browser to the URL where the NX Builder is running, for example: http://ServerName/nxbuilder, and access the application. Your NX Administrator could have integrated it directly in the Web site, such as with the NoMachine Testdrive (http://www.nomachine.com/testdrive.php). You can log in to the application either as a Guest, if this is available, or with the Web access credentials provided by your NX Builder administrator.


5.2 What Happens When I Start a NX Session via NX Builder?

When you choose to run a certain session, NX Builder dynamically creates the corresponding session file (.nxs) that will be downloaded locally via your browser and run by the default application, i.e. your NX Client.

Depending on how the session is configured on the NX Builder, you may have the following situations:

  • The session file already includes access credentials for the NX server.
  • The session file doesn't include access credentials for the NX server or access credentials are not correct.

In the second case, the NX Client login dialog will be provided to you. This dialog allows you to specify login and password for accessing the NX system. If NX Client version is 2.x or higher you may also try to log in to the server as a guest user, if the NX Server supports and/or is configured to support this feature.


For further information about NX Builder 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.


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-2010, Medialogic - VAT 05773981005