Installation as a Standalone Executable
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 valueauto
will use the IP port 8080, but if that port is busy, then it automatically takes an unused IP port.
The special valueenv
(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 fallbackauto
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).
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).
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.
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.