15.1 Starting the Graph Server (PGX)
This section describes the commands to start and stop the graph server (PGX).
A preconfigured version of Apache Tomcat is bundled, which allows you to start the graph server (PGX) by running a script.
As a prerequisite to start the graph server in remote mode, you must ensure that Oracle graph server is installed in your system. See Installing Oracle Graph Server for instructions to install the graph server (PGX).
Note:
See Usage Modes of the Graph Server (PGX) for more information on the different graph server execution modes.- Starting and Stopping the Graph Server (PGX) Using the Command Line
- Configuring the Graph Server (PGX)
Parent topic: Getting Started with the Graph Server (PGX)
15.1.1 Starting and Stopping the Graph Server (PGX) Using the Command Line
PGX is integrated with systemd
to run it as a Linux service in the background.
If you need to configure the server before starting it, see Configuring the Graph Server (PGX) and Configuration Parameters for the Graph Server (PGX) Engine for more information on the configuration options.
Note:
You can run the following commands withoutsudo
if you are the root user.
To start the PGX server as a daemon process, run the following command:
sudo systemctl start pgx
To stop the server, run the following command:
sudo systemctl stop pgx
If the server does not start up, you can see if there are any errors by running:
sudo journalctl -u pgx.service
For more information about how to interact with systemd
on Oracle Linux, see the Oracle Linux administrator's documentation.
Parent topic: Starting the Graph Server (PGX)
15.1.2 Configuring the Graph Server (PGX)
You can configure the graph server (PGX) by modifying the
/etc/oracle/graph/server.conf
file. The following table shows the valid
configuration options, which can be specified in JSON format.
Table 15-1 Configuration Parameters for the Graph Server (PGX)
Parameter | Type | Description | Default |
---|---|---|---|
ca_certs |
array of string |
List of files storing trusted certificates (PEM format). If enable_tls is set to false , this field has no effect.
|
[] |
ciphers |
array of string |
List of cipher suites to be used by the server. For example, [cipher1, cipher2.] | ["TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_DSS_WITH_AES_128_GCM_SHA256", "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_DSS_WITH_AES_128_CBC_SHA256", "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256", "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", "TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA", "TLS_DHE_DSS_WITH_AES_256_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DH_DSS_WITH_AES_128_GCM_SHA256", "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_RSA_WITH_AES_256_GCM_SHA384", "TLS_DH_DSS_WITH_AES_256_GCM_SHA384",
"TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DH_DSS_WITH_AES_128_CBC_SHA256", "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_RSA_WITH_AES_256_CBC_SHA256", "TLS_DH_DSS_WITH_AES_256_CBC_SHA256",
"TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384", "TLS_RSA_WITH_AES_128_CBC_SHA",
"TLS_DH_DSS_WITH_AES_128_CBC_SHA", "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA",
"TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_DH_DSS_WITH_AES_256_CBC_SHA",
"TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA"] |
context_path |
string |
This can be used to change the context path. For example, if you specify port as 7007 and context path as /pgx , the server will listen on https://localhost:7007/pgx |
/ |
enable_tls |
boolean |
If true , the server enables transport layer security (TLS).
|
true |
max_header_size |
integer |
Maximum valid header size in bytes. If null , use the
default from Tomcat.
|
null |
port |
integer |
Port the graph server (PGX) server should listen on. | 7007 |
server_keystore |
string |
The path to the keystore to be used for server connections.
If |
NULL |
server_keystore_alias |
string |
This is the server keystore alias of
server_keystore .
|
NULL |
server_keystore_provider |
string |
This is the server keystore provider of
server_keystore .
|
SunJSSE |
server_keystore_type |
string |
This is the server keystore type of
server_keystore .
|
JKS |
tls_version |
string |
TLS version to be used by the server. For example, TLSv1.2 |
TLSv1.2 |
working_dir |
string |
The working directory used by the server to store temporary files. Needs to be writable by the process which started the server and should not be touched by any other process while the server is running. |
The graph server (PGX) enables two-way SSL/TLS (Transport Layer Security) by default. The server enforces TLS 1.2 and disables certain cipher suites known to be vulnerable to attacks. Upon a TLS handshake, both the server and the client present certificates to each other, which are used to validate the authenticity of the other party. Client certificates are also used to authorize client applications.
Example Configuration of server.conf
File Using a Keystore
{
"port": 7007,
"enable_tls": true,
"server_keystore": "/pgx/cert/server_keystore.rsa",
"server_keystore_alias": "pgx",
"server_keystore_provider": "JsafeJCE",
"server_keystore_type": "PKCS12"
}
Parent topic: Starting the Graph Server (PGX)