Altair EEvision™

Installation as a Standalone Executable

Altair EEvision needs to be installed on the Web Server only, no client-side installation is required. The EEvision GUI runs in any today's modern Web Browser (see listing). EEvision is available as a standalone executable that includes a simple HTTP-Server by itself (explained in this document) or as a CGI-based extension to an existing Web Server. EEvision standalone executable does not need any further configurations.

Altair EEvision as a Standalone Web Server (compare with CGI-based)

The "standalone" version of EEvision comes as a single executable including a simple Web Server and everything needed to run the EEvision GUI. When starting up, the executable just opens a IP port (preferably 8080) for listening on incoming HTTP requests. It needs no further configurations except those provided by the command line options. Please check out the Architecture section to understand different licensing models. Here is an overview of the URLs and their corresponding physical locations either in the computer's file system or internal to the standalone executable, marked as (internal).

URL desc. physical file/directory option to override
http://localhost:8080/ the start URL (internal)
http://localhost:8080/eev.conf the GUI config ./eev.conf -conf
http://localhost:8080/main.html the main GUI (internal)
http://localhost:8080/srv/proxy.cgi CGI-program (internal)
http://localhost:8080/srv/upload.cgi CGI-program (internal)
http://localhost:8080/srv/json.cgi CGI-program (internal)
http://localhost:8080/srv/debug.cgi CGI-program (internal)
http://localhost:8080/srv/cleanup.cgi CGI-program (internal)
http://localhost:8080/data/ EDB files et al . -data

Command line options

-conf file
Use the specified JSON config file instead of ./eev.conf.
-syslog prio
Define the severity level of the logging. This option overrides the environment variable EEV_SYSLOG. The prio should be set to one of the keywords: ERR, WARNING, NOTICE, INFO, DEBUG. Default is NOTICE (if not defined by EEV_SYSLOG). See also Logging.
-data dir
Define the dataRoot directory for the Input Data instead of the current working directory "." (the environment variable EEV_DATA is not checked in the standalone executable).
-terminate
Provide a "terminate" command to quit the Server process.
-extern
Normally, the standalone Web Server accepts HTTP connections only from localhost. With -extern, it also accepts HTTP connections from anywhere on the network (in this case, "localhost:8080" must be replaced with "server:8080").
-port serverPort|auto|env
The value serverPort makes EEvision listen on the given IP port serverPort, e.g. -port 12345 will listen on "localhost:12345" or "server:12345".
The special value auto will use the IP port 8080, but if that port is busy, then it automatically takes an unused IP port.
The special value env (default) will read the actual value for the standalone Web Server's IP port from environment variable EEV_PORT. If this variable is not set, then the fallback auto will be used.
-auth realm
Experimental: enable HTTP basic authentication with the given realm. Read users and passwords from file .htpasswd.
-https filebname
Experimental (only on some platforms): enable SSL/TLS – serve HTTPS instead of HTTP. Read the server's private key from "filebname.key" and the certificate from "filebname.crt". For details, please check out the OpenSSL section below.
-help
Print a simple help text.

On Windows, if called without -extern or -terminate, the EEvision executable will also start the system web browser connecting to the built-in standalone Web Server.

If the EEvision GUI is stated with an EDB file, e.g. with the URL "/main.html?edb=designdir/d.edb" or if a JSON request is started from an EDB file, like "/srv/json.cgi?edb=designdir/d.edb", then the EDB file, plus optional SVG image files, plus an optional eev.conf are read from these locations:

URL desc. physical file/directory
http://localhost:8080/data/designdir/d.edb the EDB file ./designdir/d.edb
http://localhost:8080/data/designdir/*.svg Image files ./designdir/*.svg
http://localhost:8080/data/designdir/eev.conf 2nd config ./designdir/eev.conf

Temp Directory

EEvision may need a directory to store temporary internal data, which is defined by the EEV_TEMPDIR environment variable. If EEV_TEMPDIR is undefined, then on UNIX "/tmp" and on Windows Temp or TMP or "C:/tmp" is used; this directory should exist with write permissions for the service process.

Logging

On Unix environments, EEvision uses syslog facility "local0" to print notices, warnings and other messages. Please consult the Unix systems /etc/syslog.conf or /etc/rsyslog.conf how to configure them. The environment variable EEV_SYSLOG can be set to ERR, WARNING, NOTICE, INFO or DEBUG, to control the severity level of the logging. The default is NOTICE. For compatibility, the numbers 3, 4, 5, 6 or 7 can be used respectively.

On Windows environments, EEvision logs to a file defined by the EEV_LOGFILE environment variable – or to the standard output (command window) if EEV_LOGFILE is not defined. The environment variable EEV_SYSLOG is also supported on Windows to control the severity of the logging (which actually defines the verbosity).

Overview on environment variables

These environment variables can optionally be set to change the behavior of the EEvision standalone executable. Non-ASCII characters in the environment variables won't work on Windows (but may work on UNIX if UTF-8 encoded).

Environment
Variable
Defaults and Description
EEV_TEMPDIR Same defaults and description as for the "Installation with CGI".
EEV_SYSLOG
EEV_LOGFILE
EDB_PASSWD
LM_LICENSE_FILE
ALTAIR_LICENSE_PATH

OpenSSL

The OpenSSL software package can be used to create a private key and certificate for the experimental -https option:
1. Create a private key for the server (filebname.key) and a CSR.
openssl genrsa -out filebname.key
openssl req -new -key filebname.key -out NAME.csr
The first command creates the server's private key file "filebname.key", and the second command creates a temporary Certificate Signing Request (CSR) file "NAME.csr".
2. Create a certificate for the server (filebname.crt).
(a) If you want to buy a server certificate from a Certificate Authority, then you need to send them the NAME.csr and you should get a signed server certificate file "filebname.crt" ready to use.
(b) However, if you want to use a free self-signed server certificate, then you first need to create a CA.key and CA.crt as described in 3. below and then use the following command to create the server certificate file "filebname.crt".
openssl x509 -req -in NAME.csr -CA CA.crt -CAkey CA.key -CAcreateserial -sha256 -out filebname.crt
3. Create a CA-Certificate
For self-signed certificates, you need to become a fake "Certificate Authority" first, by creating a CA private key and CA certificate.
openssl genrsa -out CA.key 4096
openssl req -x509 -new -nodes -key CA.key -sha256 -days 3650 -out CA.crt
The first command creates the private key CA.key and the second command a matching certificate CA.crt. To please the browser, you will have to import the CA.crt into the Browser's trusted certificates.

Architecture and Usage Models

The easiest way to run the EEvision standalone executable is using a "node-locked" license – stored in a license.dat file on the PC or Linux workstation. With a node-locked license, the executable opens only a local Web Server port (preferably 8080) - that is limited to a web browser on the same machine (no network).

[Architecture]

Multiple EEvision standalone executables installed on different PCs or Linux workstations can share a set of "floating" licenses – provided by a FlexNet license server. As above, the EEvision standalone executable opens a Web Server port (preferably 8080) for a web browser on the same machine (no network).

[Architecture]

A third usage model is installing the EEvision standalone executable on one "server" machine that serves Web Browsers on different PCs in the local network. This requires a FlexNet license server that provided by license tokens to the EEvision, one per EEvision session. As above, the EEvision standalone executable opens a Web Server port (preferably 8080) for the local network.

[Architecture]

Altair License checker

The new EEvision packages come with Altair License Units. They require an Altair License Manager to run; please check out the corresponding Altair License documentation. The "eevision" executable in the standalone directory usually needs the environment variable ALTAIR_LICENSE_PATH pointing to the Altair License Server. Each interactive EEvision session requires Altair License Units for the life-time of the session (which is the time, the Browser tab with main.html is open).

FlexNet License checker

Each PC or Linux workstation that runs the EEvision standalone executable locally, needs a node-locked license key in a license.dat file on that local machine – or a floating license from a FlexNet license server. Floating license tokens are counted per EEvision session and allocated for the life-time of the session (which is the time, the Browser tab with main.html is open).

For FlexNet related installation – especially how to install FlexNet-based license keys – please check The FlexNet Installation Guide.