15.1 グラフ・サーバー(PGX)の起動

このセクションでは、グラフ・サーバー(PGX)を起動および停止するコマンドについて説明します。

Apache Tomcatの事前構成済バージョンがバンドルされているため、スクリプトを実行してグラフ・サーバー(PGX)を起動できます。

リモート・モードでグラフ・サーバーを起動するための前提条件として、システムにOracleグラフ・サーバーがインストールされていることを確認する必要があります。グラフ・サーバー(PGX)のインストール手順については、Oracle Graph Serverのインストールを参照してください。

ノート:

様々なグラフ・サーバーの実行モードの詳細は、グラフ・サーバー(PGX)の使用モードを参照してください。

15.1.1 コマンドラインを使用したグラフ・サーバー(PGX)の起動と停止

PGXはsystemdと統合され、バックグラウンドでLinuxサービスとして実行されます。

起動前にサーバーを構成する必要がある場合は、構成オプションの詳細について、グラフ・サーバー(PGX)の構成およびグラフ・サーバー(PGX)エンジンの構成パラメータを参照してください。

グラフ・サーバー(PGX)とPGXエンジンを起動および停止するコマンドは、次のとおりです。

ノート:

rootユーザーの場合、次のコマンドをsudoなしで実行できます。

PGXサーバーをデーモン・プロセスとして起動するには、次のコマンドを実行します。

sudo systemctl start pgx

サーバーを停止するには、次のコマンドを実行します。

sudo systemctl stop pgx

サーバーが起動しない場合は、次を実行してエラーがないかどうかを確認できます。

sudo journalctl -u pgx.service

Oracle Linuxでsystemdを使用して対話する方法の詳細は、Oracle Linux管理者のドキュメントを参照してください。

15.1.2 グラフ・サーバー(PGX)の構成

グラフ・サーバー(PGX)を構成するには、/etc/oracle/graph/server.confファイルを変更します。次の表に、JSON形式で指定できる有効な構成オプションを示します。

表15-1 グラフ・サーバー(PGX)の構成パラメータ

パラメータ 説明 デフォルト
ca_certs 文字列の配列 信頼できる証明書(PEM形式)を格納するファイルのリスト。enable_tlsfalseに設定されている場合、このフィールドは無効です。 []
ciphers 文字列の配列 サーバーで使用される暗号スイートのリスト。たとえば、[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 コンテキスト・パスの変更に使用できます。たとえば、port7007context path/pgxに指定すると、サーバーはhttps://localhost:7007/pgxでリスニングします /
enable_tls boolean trueの場合、サーバーはトランスポート層セキュリティ(TLS)を有効にします。 true
max_header_size integer 有効なヘッダーの最大サイズ(バイト)。nullの場合は、Tomcatのデフォルトを使用します。 null
port integer グラフ・サーバー(PGX)サーバーがリスニングするポート。 7007
server_cert string TLSクライアントに提示されるサーバー証明書(PEM形式)へのパス。このファイルには1つの証明書のみが含まれている必要があります。証明書がチェーンで、ルート証明書が含まれている場合は、かわりにca_certsに追加します。enable_tlsfalseに設定されている場合、このフィールドは無効です

ノート:Graph Server and Clientリリース22.3以降、このフィールドは非推奨です。かわりにserver_keystoreを使用してください。

NULL
server_keystore string サーバー接続に使用するキーストアへのパス。このフィールドがserver_certまたはserver_private_keyとともに存在する場合は、エラーが発生します。

enable_tlsfalseに設定されている場合、このフィールドは無効です。

NULL
server_keystore_alias string server_keystoreのサーバー・キーストア別名。 NULL
server_keystore_provider string server_keystoreのサーバー・キーストア・プロバイダ。 SunJSSE
server_keystore_type string server_keystoreのサーバー・キーストア・タイプ。 JKS
server_private_key string これは、サーバーの秘密キー(PEM形式)を格納するファイルへのパスです。セキュリティ上の理由から、このファイルには所有者のみに対する読取りおよび書込み権限(POSIXファイル・システムの600権限)のみがある必要があります。そうでない場合はエラーがスローされます。enable_tlsfalseに設定されている場合、このフィールドは無効です。

ノート:Graph Server and Clientリリース22.3以降、このフィールドは非推奨です。かわりにserver_keystoreを使用してください。

NULL
tls_version string サーバーで使用されるTLSバージョン。たとえば、TLSv1.2です TLSv1.2
working_dir string サーバーによって一時ファイルの格納に使用される作業ディレクトリ。サーバーを起動したプロセスから書込み可能である必要があり、かつ、サーバーの実行中に他のプロセスからアクセスされない必要があります。  

グラフ・サーバー(PGX)では、デフォルトで双方向のSSL/TLS (トランスポート層セキュリティ)が有効になります。サーバーはTLS 1.2を適用し、攻撃に対して脆弱であることがわかっている特定の暗号スイートを無効にします。TLSハンドシェイク時に、サーバーとクライアントの両方が証明書を相互に提示し、それを使用してお互いの正当性を検証します。クライアント証明書は、クライアント・アプリケーションの認可にも使用されます。

server.confファイルの構成例

{
  "port": 7007,
  "enable_tls": true,
  "server_cert": "server_cert.pem",
  "server_private_key": "server_key.pem",
  "ca_certs": [
    "server_cert.pem"
  ]
  }

キーストアを使用したserver.confファイルの構成例

{
  "port": 7007,
  "enable_tls": true,
  "enable_client_authentication": true,
  "server_keystore": "/pgx/cert/server_keystore.rsa",
  "server_keystore_alias": "pgx",
  "server_keystore_provider": "JsafeJCE",
  "server_keystore_type": "PKCS12"
}