Parent page: Altium NEXUS Server
While installation and use of Altium Server Technology – in the form of an Altium NEXUS Server and its related services – is detailed across other pages within this documentation site, the aim of this page is to provide a single, detailed resource for an organization's IT department. A place to come for answers to typically asked questions regarding this technology, including:
- What are the hardware requirements to install the Altium NEXUS Server?
- What is installed?
- What programs and processes are running?
- Where is the data stored?
- What ports are used?
- What protocol is used for communications?
- How is data backed up?
The following sections provide detailed answers to these and other questions, including a high-level overview of the architecture and data flows.
Hardware Requirements
The Altium NEXUS Server should be installed on a PC running one of the following officially supported Operating Systems:
- Windows Server 2019 Standard Edition (64-bit)
- Windows Server 2016 Standard Edition (64-bit)
- The Altium NEXUS Server cannot be installed on a PC running a 32-bit OS, nor a 64-bit OS that does not support Windows Authentication (Core, Home, Starter, and Base editions). The following is a summary of supported Operating Systems:
- Officially Supported: Windows Server 2019 Standard Edition 64-bit (Recommended), Windows Server 2016 Standard Edition 64-bit (Minimum).
- Recommended only for Evaluation: Windows 10 64-bit, Windows 8.1 64-bit – Ultimate or Professional versions for the non-server OS variations.
- The Altium NEXUS Server relies on a number of Microsoft runtime components for successful operation and access, in some situations these may not be present on the target machine. If you receive an error message about a missing library (DLL) when you attempt to sign into an Altium NEXUS Server, it indicates that there are missing Microsoft runtime components. Obtain and install the relevant Microsoft Visual C++ Redistributable Package for your OS.
The following are the recommended system requirements to install and run an Altium NEXUS Server. Note that these recommendations are for 5 concurrent users.
- OS: Windows Server 2019 Standard Edition (64-bit)
- RAM: 16GB+
- Processor: Intel® Xeon® processor or equivalent (4 or more cores)
- Disk space: 200GB (SSD recommended)
- Database: Firebird
The following are the minimum system requirements to install and run an Altium NEXUS Server. Note that these recommendations are for 5 concurrent users.
- OS: Windows Server 2016 Standard Edition (64-bit)
- RAM: 8GB+
- Processor: Intel Core i3/i5 processor or equivalent (2 or more cores)
- Disk space: 200GB
- Database: Firebird
Altium NEXUS Requirements
To fully access and appreciate the features and technologies associated to, and installed with, the Altium NEXUS Server, requires the latest version of the Altium NEXUS design client.
Installation & Other Software
Due to the observed unpredictable behavior of antivirus software, it is recommended to disable such software during the installation of the Altium NEXUS Server.
If the computer is also running Microsoft Exchange Server, you might receive an HTTP Error 503 error when you first attempt to log in. The installation of the Exchange Server can change the Internet Information Services (IIS) configuration in a way that conflicts with the NEXUS Server. To resolve this, the following changes must be made to the applicationHost.config
file:
<handlers accessPolicy="Read, Script">
...
<add name="kerbauth" image="C:\Program Files\Microsoft\Exchange Server\V15\Bin\kerbauth.dll" preCondition="bitness64" />
<add name="WSMan" image="C:\Windows\system32\wsmsvc.dll" preCondition="bitness64" />
<add name="exppw" image="C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\Owa\auth\exppw.dll" preCondition="bitness64" />
<add name="cafe_exppw" image="C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\bin\exppw.dll" preCondition="bitness64" />
...
</handlers>
For information about the
ApplicationHost.config
file, refer to
this article. For information on editing the file, refer to
this article.
- Internet Information Services (IIS). For correct operation, the Altium NEXUS Server requires, at minimum, version 8.0 (IIS 8.0) to be installed. Installation of the Altium NEXUS Server will simply install the version of IIS native to your operating system:
- IIS 10.0 – Windows Server 2019 Standard Edition (64-bit), Windows Server 2016 Standard Edition (64-bit), Windows 10 (64-bit)
- IIS 8.5 – Windows 8.1 (64-bit)
- Firebird 3.0 database engine (where the option to install using a Firebird database is chosen)
- .NET Framework 4.8 and .NET Core 3.1.2
IIS Configuration
As part of IIS configuration, the ISAPI Extensions feature is enabled. This feature can be found in the \Internet Information Services\World Wide Web Services\Application Development Features
section of the Windows Features dialog – accessed from Window's Programs and Features window.
Installation of the Altium NEXUS Server enables the Windows ISAPI Extensions feature, part of IIS configuration.
The following application pools are installed on the IIS server:
- Altium NEXUS Server
- Altium NEXUS Server – Applications Registry Service
- Altium NEXUS Server – ARK Service
- Altium NEXUS Server – BOM Management Service
- Altium NEXUS Server – Collaboration Service
- Altium NEXUS Server – Comments Service
- Altium NEXUS Server – Configuration Discovery
- Altium NEXUS Server – Data Acquisition Service
- Altium NEXUS Server – Data Storage Service
- Altium NEXUS Server – Discovery Service
- Altium NEXUS Server – EIS
- Altium NEXUS Server – Event Dispatching Service
- Altium NEXUS Server – Git
- Altium NEXUS Server – Identity Service
- Altium NEXUS Server – LicenseManager Service
- Altium NEXUS Server – Managed Flows
- Altium NEXUS Server – MCAD Collaboration Service
- Altium NEXUS Server – Network Installation Management
- Altium NEXUS Server – Network Installation Service
- Altium NEXUS Server – Notifications Service
- Altium NEXUS Server – NTLM Authentication
- Altium NEXUS Server – Part Catalog Service
- Altium NEXUS Server – Plm Sync Service
- Altium NEXUS Server – Projects Service
- Altium NEXUS Server – Search Service
- Altium NEXUS Server – Search Templates Service
- Altium NEXUS Server – Security Service
- Altium NEXUS Server – Settings Service
- Altium NEXUS Server – Simple Lock Service
- Altium NEXUS Server – Tasks Service
- Altium NEXUS Server – Team Configuration Service
- Altium NEXUS Server – Vault Service
- Altium NEXUS Server – Vcs Service
- Altium NEXUS Server – Web Review
- Altium NEXUS Server – WebSocket Service
Verification that the Altium NEXUS Server is running can be performed from the Windows Internet Information Services (IIS) Manager panel – accessed from Window's Administrative Tools window. Simply check to confirm each of these application pools are in the Started
state.
Altium NEXUS Server-related application pools running on the IIS server.
Default Installation Paths
The following is a list of default installation paths when installing the Altium NEXUS Server:
- Altium NEXUS Server Installation Folder –
\Program Files (x86)\Altium\Altium NEXUS Server
.
- Firebird Installation Folder –
\Program Files (x86)\Firebird\Firebird_3_0
.
- Firebird Database –
\ProgramData
\Altium\NexusServerData\DXPSERVER.DAT
.
- Revision Files Folder –
\ProgramData
\Altium\NexusServerData\Revisions
.
- Search Index Data Folder –
\ProgramData
\Altium\NexusServerData\SearchData
.
Default Ports
The following default communication port numbers are used by the Altium NEXUS Server:
- HTTP Port – 9780
- HTTPS Port – 9785
- LDAP Service Port – 9791
The LDAP Service Port is not, in actual fact, used. For standard LDAP (with URL 'ldap://'), the port from this URL is used. For secure LDAP (with URL 'ldaps://'), the port 636 is used.
- Websocket Port – 4649
- Firebird Server Port – 3050
- SVN Port – 3690
The first three in the list can be configured during initial installation, on the Altium NEXUS Server Configuration page of the Installer.
If a port is already used, the Installer will search for the next available, and use that instead.
When choosing a port, note that it must not clash with any ports used by other applications – if a port is currently in use, you will be notified by the installer.
The HTTP Port is served by IIS and used by NEXUS Server applications. It is the main port, and should always be open. The Firebird Server Port is used for, and by, the Firebird RDBMS. By default it is bound only to localhost. It SHOULD NOT be exposed externally, for security reasons. Users do not interact with this port directly. Both ports provide regular HTTP interaction (request/response). Both ports can be customized. The HTTP Port can be changed during installation. While the Firebird Server Port can be changed manually, it is not recommended to do so.
With respect to the HTTP communications port, if you have legacy Vault technology (Altium Personal Vault or Altium Satellite Vault) running on the same PC, ensure that the communication ports are unique. A legacy Altium Personal Vault uses the port
9680
, while a legacy Altium Satellite Vault uses port
9880
. The Altium NEXUS Server cannot be installed alongside a legacy Altium Vault (3.0 and earlier) or an
Altium Infrastructure Server (i.e. on the same PC). In the case of the former, you can upgrade to the Altium NEXUS Server (as though updating to a later version of Altium Vault).
► See information on Ports and IP Addresses for Altium Design Software.
HTTPS Protocol Support
For those that require an additional layer of security for exchanging data with the Altium NEXUS Server, the server provides for secure communication over networks using the HTTPS protocol to protect the privacy and integrity of the data.
The port number used for secure server connections is defined during the installation process, on the Altium NEXUS Server Configuration page of the Installer. Use the default port (9785
) or enter an alternative.
The configuration and server bindings for the Altium NEXUS Server can be accessed from the Windows Internet Information Services (IIS) Manager panel – available from the Administration Tools window (Control Panel\System and Security\Administrative Tools
). Select the 'Altium NEXUS Server' entry in the panel's Connections list, and choose the Features View tab.
Access configuration and server binding settings for the Altium NEXUS Server.
The available ports and server names for the Altium NEXUS Server are shown as selectable links in the Actions pane. Use the links to note and test the server connection protocols, or access the current name/port bindings by selecting the Bindings link in the Edit Site section of the pane.
A Binding, including its protocol port number, can be edited from the Site Bindings dialog via the Edit button.
Configure bindings through the Site Bindings dialog.
Note that the server name localhost
only applies to the local machine, so PCs other than the one that is hosting the Altium NEXUS Server need to use the actual (server) name of that host machine to connect.
To confirm the name of the host PC on which the Altium NEXUS Server is installed and running, on that machine go to Control Panel\System and Security\System
and note both the Computer name and Full computer name (its qualified domain name) – the latter will be that used by the Altium NEXUS Server for secure connections over the network.
Checking the name of the PC on which the Altium NEXUS Server is running.
For PCs that are not part of a Domain (configured as standard Workgroup PCs) the Computer name and Full computer name will be the same.
If you have edited the server's site bindings to use a Port number that is different from the default value, that change will need to be reflected in the server's LocalVault.ini
file also. This is because its port references are accessed when connections are made to the server by the NEXUS design client. The LocalVault.ini
is file can be found in the server installation's root folder – typically Program Files (x86)\Altium\Altium NEXUS Server
.
For example, if you have changed the server's site binding to use the standard 443
port for HTTPS connections, update the corresponding HttpsPort=9785
line in the LocalVault.ini
file to HttpsPort=443
.
To establish a secure connection to the Altium NEXUS Server:
- From the Altium NEXUS design client – use a HTTPS prefixed server address and the configured HTTPS port. By default, this is
https://localhost:9785
when using the PC that hosts the NEXUS Server, or https://<computername>:9785
for a remote connection (where [computername]
is the host machine's Computer Name or qualified domain name).
The Altium NEXUS design client includes the required security support to accept a HTTPS connection to the Altium NEXUS Server without intervention.
- From a Web Browser – enter the address of the local service (
https://localhost:9785
) or the host computer name equivalent (https://<computername>:9785
).
The Altium NEXUS Server currently offers a self-signed Identity Certificate for secure connections, which can you choose to accept in your browser to proceed. Some browsers (for example Firefox) offer the option to permanently accept the certificate, so that further action is not required.
When Reconfiguring Site Bindings
If you have added a new IIS Site Binding for the server, or edited an existing Site Binding entry (see above), the server PC should be restarted to correctly establish the new configuration. Typical Site Binding changes might be editing the Port number for a host entry, or adding a new binding for a domain alias.
When it is not practical to restart the server host machine, the alternative process is to restart the server service on the IIS platform – Restart under Manage Website – and also restart the Altium Server Pinger service (a Windows service).
Run the above starting process if you receive a '
SignalR Hub "healthmonitorHub" not found!
' error message when attempting to run the server's
Health Monitor feature.
Protocol used for Service-to-Service Communications
SOAP over HTTP.
Service Architecture – Overview
The Altium NEXUS Server installs a number of core services, as well as browser-based management consoles, and an Explorer (also browser-based). In order to access any of these services, a user's identity must be recognized and authenticated. The Altium NEXUS Server comes with one predefined user (Username: admin
, Password: admin
). The Users page of the NEXUS Server's browser-based interface can be used to add and manage more users. There is no limit to the number of users that may be registered to access and use the NEXUS Server, but there is a limit on simultaneous connections, as determined and enforced by required licensing.
The same user can be accessing the Altium NEXUS Server concurrently in different ways (e.g. connected through the NEXUS design client AND signed-in through an external Web Browser) and it only counts as a single connection from the licensing perspective, when access is made from the same PC. If the same user accesses the NEXUS Server from different PCs, each different PC access will require a separate connection (so extra seat of a Connector Access License).
Altium NEXUS uses an unencrypted channel (SOAP over HTTP) for communicating with the following services:
- Applications Registry Service (when the Network Installation Service is being used as a source for extensions/updates)
- Collaboration Service
- Comments Service
- Data Acquisition Service
- Data Storage Service (DSS)
- Identity Service (IDS)
- Notifications Service
- Part Catalog Service
- Projects Service
- Simple Lock Service (SLS)
- SVN (through the SVN:// protocol)
- Tasks Service
- Team Configuration Service (TC2)
- Vault Service
All other services communicate with each other.
The majority of services require access to the same NEXUS Server database, in which to store data applicable to them. The following are examples of the data stored by some of these services:
- Part Catalog Service – stores supplier and manufacturer items, price and quantity history changes, etc...
- Identity Service – stores users, roles, licensing configuration, and session information.
- Vault Service – stores its structure (folders, items, revisions, content types, lifecycle states, etc...).
Actual documents are stored on the file system, in the Revisions folder (\ProgramData
\Altium\NexusServerData\Revisions
).
The Part Catalog Service also requires a direct connection (without a proxy) to the Internet, for real-time price updates.
The following browser-based applications use SOAP API to communicate to the applicable services – they do not require access to the NEXUS Server database, nor are any other files required for them to function:
- User Management – the application behind the Users page and sub-pages in the NEXUS Server's browser interface.
- Vault Explorer – the application behind the Explorer page of the NEXUS Server's browser interface.
- Catalog Management – the application behind the Part Providers page of the NEXUS Server's browser interface.
- Projects Management – the application behind the Projects page of the NEXUS Server's browser interface.
- TC2 Console – the application behind the Configurations page of the NEXUS Server's browser interface.
License Files
Related article: Altium NEXUS Server Licensing
Licensing for the Altium NEXUS Server essentially consists of the following two components, that together comprise a two-tiered licensing system:
- Server License – this license makes the features and services of the Altium NEXUS Server installation available to the organization.
- Client Access License – this license enables users within an organization to access, and sign in to the organization's Altium NEXUS Server.
Licensing for the Altium NEXUS Server can be handled through the cloud, or locally through license files (*.alf). Acquisition of the latter is performed through the Altium Dashboard (accessed using the DASHBOARD control at the top of the Altium website). From the Licenses tab, locate the applicable license (in the Server Applications grouping of licenses) then click through to the detailed license management page. Once there, click the Activate button to generate and download the associated license file.
The software checks every hour for the presence of valid license files. Without a valid Server License, access to the Altium NEXUS Server will not be possible. If there is a valid Server License, but no valid Client Access Licenses (no available connections), a single administrative connection is permitted for backup and configuration purposes. In addition, both Server and Client Access Licenses are timed licenses, lasting 12 months. Subscription must be renewed on an annual basis in order to provide continued access to the Altium NEXUS Server for the users in an organization, as well as to access new features and functionality developed by Altium as part of the Altium NEXUS Server. If this annual subscription renewal lapses, a single Server and CAL license will be provided to access your data for backup and configuration purposes.
Backup/Restore of Server Data
Backup and restoration of your NEXUS Server data is performed from the command line, in an automated fashion, using the dedicated Backup & Restore Tool. This tool – avbackup.exe – can be found in the folder \Program Files (x86)\Altium\Altium NEXUS Server\Tools\BackupTool\
(for a default installation of the Altium NEXUS Server).
- You must run the command prompt in administrator mode to be able to use the Backup and Restore tool.
- Restoring a backup is only possible to the same version of the NEXUS Server from which that backup was made. In this respect, it can be a good idea to keep the installer for that version of the NEXUS Server, and corresponding license files, with the backup Zip archive.
If you are upgrading your Altium NEXUS Server to a later version, backup is handled as part of the installation process. However, while the Altium NEXUS Server installer includes automated backup of your existing NEXUS Server, it is always a good idea to make a pre-update backup of your data yourself – taking a redundancy copy off to one side as it were. This provides additional safety, should any unforeseen technical difficulties arise. Additionally, it is advised to test out a new release of the Altium NEXUS Server on a different machine, before updating your production instance. Use of Virtual Machines can be invaluable in this respect.
Re-Indexing Server Content after Data Migration
To re-index server content, for example after data migration:
- Stop all IIS application pools associated to the Altium NEXUS Server.
- Stop the Elasticsearch (AltiumElasticSearch) service. This is performed from the Windows Services panel – accessed from Window's Administrative Tools window.
- Delete the content of the
SearchData
folder, which contains the search indexing data (\ProgramData
\Altium\NexusServerData\SearchData
for a default install).
- Restart the Elasticsearch (AltiumElasticSearch) service.
- Restart the IIS application pools associated to the NEXUS Server.
On finding the SearchData
folder empty, the NEXUS Server will re-index its content once it starts.
Local SVN Design Repository – Storage
A Design Repository that is created through the local Version Control Service has its internal data stored in a corresponding sub-folder in the \ProgramData\Altium\NexusServerData\Repository folder (for a default installation of the Altium NEXUS Server).
A new Altium NEXUS Server installation provides a single Git-based design repository for accommodating all of your managed design projects - and that's it! This avoids any setup and complexity regarding the NEXUS Server's local Version Control service. You have a single design repository - Versioned Storage - for all your designers to access and release into. As such, the VCS page of the NEXUS Server's browser interface becomes purely informational - you cannot add a new repository, and the single Git repository cannot be modified in any way, nor deleted.
If you have upgraded from Altium NEXUS Server 1.0 (or Altium Vault 3.0), then use of SVN repositories will also be enabled, so that you can continue to use your previous (and established) design flow. In this case, you can continue to create repositories through the local Version Control service (SVN-only), or connect to external repositories (SVN or Git).
The \ProgramData\Altium\NexusServerData\Repository folder should not be accessed in any way, other than by IT personnel for maintenance.
Internal data storage location for a Design Repository created through the Altium NEXUS Server installation's local SVN-based Version Control Service.
Using Oracle for the NEXUS Server Database
Related page: Altium NEXUS Server with Oracle Backend
When installing the Altium NEXUS Server, the Oracle database type facilitates streamlined installation of the Altium NEXUS Server within organizations already utilizing this type of database as the back-end for their existing systems. Hosting the NEXUS Server on their existing infrastructure, reduces installation and management complexity.
When using Altium NEXUS with Oracle as the backend database, the server that is integral to the deployed NEXUS solution supports the following versions of Oracle: 11G Express, 12.1c, and 19c. Note that version 18c is not currently supported.
Getting the Altium NEXUS Server installed and running with Oracle as its back-end database is essentially a two-fold process:
- Setting up the Oracle database
- Setting up the Altium NEXUS Server.
It is recommended to install the Altium NEXUS Server on a separate machine to the Oracle database itself. In addition, ensure that the dedicated machine onto which the NEXUS Server is installed has abundant storage space and computing resources.
Preparing the Altium NEXUS Server
To be installed and run successfully, the Altium NEXUS Server requires not only the OCI client, but also relevant .Net connectors. It is recommended to install the relevant 32-bit Oracle Data Access Components (ODAC) with Oracle Developer Tools for Visual Studio, in accordance with the version of Oracle you are running. For testing, the ODAC 11.2 Release 5 and Oracle Developer Tools for Visual Studio (11.2.0.3.20) download was installed on the dedicated machine used to accommodate the NEXUS Server.
- The Altium NEXUS Server also requires the configuration of tnsnames.ora.
- The NEXUS Server's database structure is created and updated during the installation process, so if there are strict policies for DDL execution from the DBA side, the database structure could be created in a temporary space or server, checked, and then moved to the intended production server manually. If this is done, the Altium NEXUS Server will need to be reconfigured to use that production server.