RoboServer Configuration - Headless Mode
Kofax RPA ships with several utilities to configure your RoboServer from a command line. The utilities are located in the bin subfolder of the Kofax RPA installation folder. Note that the configuration files are user-dependent and stored in the user folder. For more information, see "Important Folders" in the Kofax RPA Installation Guide.
- ConfigureRS: Sets the JMX password and the Management Console shared secret in the RoboServer settings file (roboserver.settings).
- ConfigureMC: Sets protocols and ports usage, certificate passwords, and upload JDBC jar files permission in the mc.settings file.
- ConfigureRSUser: Adds and removes users and updates user credentials in the rsusers.xml file. Information in this file is used to authenticate API requests.
For help on usage, run utilities with an -h option.
To set a connection to the Management Console that the RoboServer will register to, type the following command:
ConfigureRS -mcUrl http://localhost:8080/ManagementConsole -ss <MC Shared Secret>
To create a user user1 with Password1 password and all permissions, type the next command:
ConfigureRSUser user1 Password1 -a
To enable authentication of API requests, you must open rsusers.xml and change the userConfiguration enabled to true, as shown in the following example.
- Sample rsusers.xml configuration file
-
<?xml version="1.0" encoding="UTF-8"?> <userConfiguration enabled="true"> <users> <user username="user1" password_hash="20c7628c31534b8718a1da00435505e4262e3f4dc305"> <startRobot/> <stopRobot/> <shutdownRoboServer/> </user> </users> </userConfiguration>
- Sample roboserver.settings configuration file
-
# Settings file for RoboServer. Some configurations contains encrypted passwords and should not be edited by hand, these should be modified using dedicated commandline tools. # The directory for use on RoboServer when the API used the DefaultRoboLibrary. On Windows \ must be escaped in the following way: c:\\\\users\\AppData\\Local\\Kofax RPA\\... defaultProject = /home/TestUser/Kofax RPA/trunk # Should RoboServer be allowed to access the file System, or call commands/scripts. Values: true/false sec_allow_file_system_access = false # Should RoboServer be allowed to run robots that rely on connectors. Values: true/false sec_allow_connectors = false # Will RoboServer accept JDBC drivers sent from the Management Console. Values: true/false sec_accept_jdbc_drivers = true # Should RoboServer log all loaded URLs to the log4j audit log. Values true/false sec_log_http_traffic = false # If enabled, RoboServer will check credentials for API requests. Values: true/false sec_authenticate_api_requests = false # If enabled, RoboServer generate an error when accessing a https site without a valid certificate. Values: true/false cert_verify_https_certificates = false # If enabled, RoboServer will only allow SSL connections from trusted client. Values true/false cert_verify_api_certificates = false # Configures if the the JMX service should be enabled enable_jmx = false # The port number for the JMX service to listen on. jmx_port_Number = 50100 # If enabled, input for robots is exposed through JMX. Values: true/false jmx_show_inputs = true # Heartbeat notification interval, in seconds jmx_heartbeat_interval = 0 # Configure if JMX should use RMI enable_jmx_rmi = false # Optional RMI host and port for the JMX service. Use if you need to connect through a firewall. Example: example.com:51001 jmx_rmi_url = # Enables authentication for JMX requests. Values: true/false jmx_enable_authentication = true # The user-name used for JMX authentication jmx_username = # The password used for JMX authentication. This should be created using the ConfigureRS command line tool. jmx_password = # Configures if the socket service should be enabled enable_socket_service = false # Configures which port the RoboServer should be listening on port = 50000 # Configures if the ssl socket service should be enabled enable_ssl_socket_service = false # Configures which ssl port the RoboServer should be listening on ssl_port = 50001 # Server name used or statistics collection server_name = # Configures if the RoboServer should register to a Management Console enable_mc_registration = false # Specify which Management Console to register to formatted as: http[s]://<hostname>:<port number> mc_URL = # Shared Secret to use for authentication to the Management Console mc_shared_secret = # Specifies which cluster the RoboServer should be registered to cluster = # Specifies the external host name or IP address of this RoboServer. Leave blank for automatic detection of the host. external_host = # Specifies the external port number of this RoboServer. Set to 0 if same as socket opened. external_port = 0 # Causes RoboServer to output status and runtime events verbose = false # Blocks RoboServer to output status and runtime events verbose = false
- Sample mc.settings configuration file
-
# Settings file for Management Console. Passwords should not be edited by hand, but using the 'ConfigureMC' command line utility. # Should the MC web-server start a HTTP listener. Values true/false mc_http = true # Configures the port of the http listener. mc_http_port = 50080 # Should the MC web-server start a HTTPs listener. Values true/false mc_https = false # Configures the port of the HTTPS listener. mc_https_port = 50443 # Password for the certificate used by the HTTPs listener. This should be created using the ConfigureMC command line tool. mc_https_cert_password = 3W2MTrL/b2k= # Configures which hosts are allowed to upload JDBC jar files to MC. Values: NONE, LOCALHOST, ANY_HOST mc_allow_jdbc_upload = LOCALHOST