blob: e88e34570cb13ff350df18c0db999d793fd9db30 [file] [log] [blame]
Requirements
-------------------------------------
1. JDK 8 suitable for your platform.
2. Supported browsers: Chrome, Firefox, Safari, Edge.
3. Ignite cluster should be started with `ignite-rest-http` module in classpath.
For this copy `ignite-rest-http` folder from `libs\optional` to `libs` folder.
How to run
-------------------------------------
1. Unpack ignite-web-console-x.x.x.zip to some folder.
2. Change work directory to folder where Web Console was unpacked.
3. Start ignite-web-console-xxx executable for you platform:
For Linux: `sudo ./ignite-web-console-linux`
For macOS: `sudo ./ignite-web-console-macos`
For Windows: `ignite-web-console-win.exe`
NOTE: For Linux and macOS `sudo` required because non-privileged users are not allowed to bind to privileged ports (port numbers below 1024).
4. Open URL `localhost` in browser.
5. Login with user `admin@admin` and password `admin`.
6. Start web agent from folder `web agent`. For Web Agent settings see `web-agent\README.txt`.
NOTE: Cluster URL should be specified in `web-agent\default.properties` in `node-uri` parameter.
Technical details
-------------------------------------
1. Package content:
`libs` - this folder contains Web Console and MongoDB binaries.
`user_data` - this folder contains all Web Console data (registered users, created objects, ...) and
should be preserved in case of update to new version.
`web-agent` - this folder contains Web Agent.
2. Package already contains MongoDB for macOS, Windows, RHEL, CentOs and Ubuntu on other platforms MongoDB will be downloaded on first start. MongoDB executables will be downloaded to `libs\mogodb` folder.
3. Web console will start on default HTTP port `80` and bind to all interfaces `0.0.0.0`.
3. To bind Web Console to specific network interface:
On Linux: `./ignite-web-console-linux --server:host 192.168.0.1`
On macOS: `sudo ./ignite-web-console-macos --server:host 192.168.0.1`
On Windows: `ignite-web-console-win.exe --server:host 192.168.0.1`
4. To start Web Console on another port, for example `3000`:
On Linux: `sudo ./ignite-web-console-linux --server:port 3000`
On macOS: `./ignite-web-console-macos --server:port 3000`
On Windows: `ignite-web-console-win.exe --server:port 3000`
All available parameters with defaults:
Web Console host: --server:host 0.0.0.0
Web Console port: --server:port 80
Enable HTTPS: --server:ssl false
Disable self registration: --server:disable:signup false
MongoDB URL: --mongodb:url mongodb://localhost/console
Enable account activation: --activation:enabled false
Activation timeout(milliseconds): --activation:timeout 1800000
Activation send email throttle (milliseconds): --activation:sendTimeout 180000
Mail service: --mail:service "gmail"
Signature text: --mail:sign "Kind regards, Apache Ignite Team"
Greeting text: --mail:greeting "Apache Ignite Web Console"
Mail FROM: --mail:from "Apache Ignite Web Console <someusername@somecompany.somedomain>"
User to send e-mail: --mail:auth:user "someusername@somecompany.somedomain"
E-mail service password: --mail:auth:pass ""
SSL options has no default values:
--server:key "path to file with server.key"
--server:cert "path to file with server.crt"
--server:ca "path to file with ca.crt"
--server:passphrase "Password for key"
--server:ciphers "Comma separated ciphers list"
--server:secureProtocol "The TLS protocol version to use"
--server:clientCertEngine "Name of an OpenSSL engine which can provide the client certificate"
--server:pfx "Path to PFX or PKCS12 encoded private key and certificate chain"
--server:crl "Path to file with CRLs (Certificate Revocation Lists)"
--server:dhparam "Diffie Hellman parameters"
--server:ecdhCurve "A string describing a named curve"
--server:maxVersion "Optional the maximmu TLS version to allow"
--server:minVersion "Optional the minimum TLS version to allow"
--server:secureOptions "Optional OpenSSL options"
--server:sessionIdContext "Opaque identifier used by servers to ensure session state is not shared between applications"
--server:honorCipherOrder "true or false"
--server:requestCert "Set to true to specify whether a server should request a certificate from a connecting client"
--server:rejectUnauthorized "Set to true to automatically reject clients with invalid certificates"
Documentation for SSL options: https://nodejs.org/api/tls.html#tls_tls_createsecurecontext_options
Sample usages:
`ignite-web-console-win.exe --mail:auth:user "my_user@gmail.com" --mail:auth:pass "my_password"`
`ignite-web-console-win.exe --server:port 11443 --server:ssl true --server:requestCert true --server:key "server.key" --server:cert "server.crt" --server:ca "ca.crt" --server:passphrase "my_password"`
Advanced configuration of SMTP for Web Console.
-------------------------------------
1. Create sub-folder "config" in folder with Web Console executable.
2. Create in config folder file "settings.json".
3. Specify SMTP settings in settings.json (updating to your specific names and passwords):
Sample "settings.json":
{
"mail": {
"service": "gmail",
"greeting": "My Company Greeting",
"from": "My Company Web Console <some_name@gmail.com>",
"sign": "Kind regards,<br>My Company Team",
"auth": {
"user": "some_name@gmail.com",
"pass": "my_password"
}
}
}
Web Console sends e-mails with help of NodeMailer: https://nodemailer.com.
Documentation available here:
https://nodemailer.com/smtp
https://nodemailer.com/smtp/well-known
In case of non GMail SMTP server it may require to change options in "settings.json" according to NodeMailer documentation.
Troubleshooting
-------------------------------------
1. On Windows check that MongoDB is not blocked by Antivirus/Firewall/Smartscreen.
2. Root permission is required to bind to 80 port under macOS and Linux, but you may always start Web Console
on another port if you don't have such permission.
3. For extended debug output start Web Console as following:
On Linux execute command in terminal: `DEBUG=mongodb-* ./ignite-web-console-linux`
On macOS execute command in terminal: `DEBUG=mongodb-* ./ignite-web-console-macos`
On Windows execute two commands in terminal:
`SET DEBUG=mongodb-*`
`ignite-web-console-win.exe`