←前へ 目次↑ 次へ→

2.3. 設定ファイル

confディレクトリの構成は次の通りです。

conf
|-- 
license-key

|-- 
copperd.properties

|-- 
logging.properties

|-- 
password.txt

|-- 
access.txt

`-- 
profiles

    |-- default.properties
    `-- fonts
        |-- fonts.xml
        |-- truetype
        |-- warrays
        |-- afms
        |-- cmaps
        `-- encodings

confディレクトリの直下には次の設定ファイルが収められています。

license-key
ライセンスキーファイルです。
copperd.properties
Copper PDFサーバーの動作設定です。
logging.properties
ログの設定です。
password.txt
パスワードの設定です。編集にはcopperdコマンドを使ってください。
access.txt
アクセス制御設定です。

また、profilesディレクトリ内には次のファイルがあります。

default.properties
デフォルトの入出力プロパティです。
fonts/fonts.xml
使用するフォントの設定です。

2.3.1. Copper PDFサーバーの動作設定(copperd.properties)

copperd.propertiesはCopper PDFサーバー(copperd)の動作に関する設定です。 この設定の変更を反映するにはCopper PDFサーバーの再起動が必要です。

ファイルの形式は Javaのプロパティファイル です。 各行に 名前=値 の形式で記述してください。= 記号、改行はそれぞれ\= \nで記述します。 \の次の改行と空白は無視されます。

例えば以下の場合、key1 の値は a=b であり、key2 の値は a, b, c, d, e, f です。

key1 = 	a\=b
key2 = 	a, b, c,\
		d, e, f

propertiesファイルには、日本語のカナ、漢字等をそのまま記述できません。 日本語を含むpropertiesファイルは、Javaに付属の native2ascii ツールにより、マルチバイト文字をエスケープした形式に変換してください。

各プロパティの説明は以下の通りです。

copperd.propertiesのプロパティ一覧
プロパティ 説明
jp.cssj.cssjd.port サービスポートです。
このポート番号がプログラムインターフェースの接続先のポート番号となります。
jp.cssj.cssjd.control-port 制御用ポートです。サーバーの状態の取得や停止のためにこのポートを使います。 このポートへのlocalhost以外からのアクセスはブロックされます。
jp.cssj.cssjd.control-command 制御用コマンドです。制御用ポートからアクセスする場合の「合言葉」のようなものです。通常は変更する必要はありません。
jp.cssj.cssjd.timeout 接続タイムアウト(秒数)です。
プログラムインターフェースとの間で指定された時間データがやりとりされなかった場合、接続を切断します。
jp.cssj.cssjd.minThreads 最小スレッド数です。
プログラムインターフェースの接続を待ち受けるために準備しておく最小限のスレッド数です。 高負荷が予想される状況では大きめの値を設定しておくと処理が効率化しますが、 使用するメモリは増大します。
jp.cssj.cssjd.maxThreads 最大スレッド数です。
copperdが同時に処理できるプログラムインターフェースからの接続の最大数です。 高負荷が予想され、なおかつシステムのリソースに余裕がある場合は大きな値を設定するのが有効ですが、 リソースに余裕がない環境では、大きな値を設定することで逆に非効率になることがあります。
jp.cssj.cssjd.backlog 接続のバックログ数です。
未処理の接続がこの数を超えた場合、処理に空きができるまで以降の接続は拒否します。
jp.cssj.cssjd.http.port HTTPポート番号です。
指定したポートで、HTTP/RESTインターフェースを起動します2.1.0
jp.cssj.cssjd.https.port SSL(HTTPS)ポート番号です。
指定したポートで、SSLでHTTP/RESTインターフェースを起動します2.1.0
jp.cssj.cssjd.jk.port AJP13ポート番号です。
指定したポートで、AJP13でHTTP/RESTインターフェースを起動します2.1.2。 Apacheのmod_jkまたはmod_proxyによるAJP13での接続が可能になります。
jp.cssj.cssjd.https.keyStore SSLに使用するキーストアのファイルパスです2.1.0
jp.cssj.cssjd.https.keyPassword SSLに使用するキーのPKCS12パスワードです2.1.0
jp.cssj.cssjd.https.keyStorePassword SSLに使用するキーストアのパスワードです2.1.0
jp.cssj.cssjd.tls.port TLSポート番号です。
指定したポートで、TLSによるプログラムインターフェースを起動します3.0.0
jp.cssj.cssjd.tls.keyStore TLSに使用するキーストアのファイルパスです3.0.0
jp.cssj.cssjd.tls.keyPassword TLSに使用するキーのPKCS12パスワードです3.0.0
jp.cssj.cssjd.tls.keyStorePassword TLSに使用するキーストアのパスワードです3.0.0

2.3.2. SSL/TLSの設定

Copper PDFは高速な独自の通信プロトコル(CTIP)の他、 Copper PDF 2.1.0からはHTTPによる接続をサポートしました。 さらに、SSL(HTTPS)による暗号化された接続も可能です。

Copper PDF 3.0.0からはTLSによる、暗号化された高速な接続をサポートしました。

SSLを有効にするためには、キーペアを用意してください。 以下はOpenSSLとJDK付属のkeytoolを使用する方法です。

秘密鍵とCSRを用意する

以下のコマンドで秘密鍵とCSR(証明書署名要求)を生成してください。 パスフレーズは任意に設定して構いません。

openssl genrsa -des3 -out ssl.key 1024
openssl req -new -key ssl.key -out ssl.csr

サイト証明書を用意する

サイト証明書は、前に生成したCSRを認証局に送付することで入手することができますが、 テストや単に通信の暗号化の目的であれば自己署名によるサイト証明書を使用することができます。 以下のコマンドでサイト証明書を生成してください。

openssl x509 -in ssl.csr -out ssl.crt -req -signkey ssl.key -days 3650

秘密鍵とサイト証明書をキーストアに格納する

秘密鍵とサイト証明書を利用するには、JDK付属のkeytoolによって管理されるキーストアファイルに格納する必要があります。 最初に、以下のコマンドで秘密鍵とサイト証明書のペアをPKCS12形式のファイルにまとめてください。 このとき、設定するパスワードがPKCS12パスワードです。

openssl pkcs12 -inkey ssl.key -in ssl.crt -export -out ssl.pkcs12

次に、PKCS12ファイルをキーストアに格納してください、このとき、キーストアのパスワードを設定します。

keytool -importkeystore -srckeystore ssl.pkcs12 -srcstoretype PKCS12 -destkeystore keystore

以上の手順で生成したキーをCopper PDFサーバーのSSL/TLS通信に使用する場合は、 設定ファイルまたはコマンドラインオプションでキーストアファイルのファイルパスと、PKCS12パスワード、キーストアのパスワードを設定してください。

2.3.3. Apacheを通しての接続

Copper PDF 2.1.2からは、Apacheからmod_proxy_ajpまたはmod_jkによる接続ができるように、AJP13をサポートしました。 AJP13により、Apacheにより公開されているドメイン・ポート上にCopper PDFのHTTP/RESTインターフェースへの窓口を設けることができます。 また、SSL通信にApacheを利用することができます。

AJP13によるマウントポイントは、任意のパスに設定することができます。 以下の例は、Copper PDFがlocalhostの8095ポートでAJP13を起動している場合に、 /cti/パスでHTTP/RESTインターフェースを使用可能にするApache側の設定例です。

<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location /cti/>
  ProxyPass ajp://127.0.0.1:8095/
</Location>
JkWorkerProperty worker.list=copper
JkWorkerProperty worker.copper.type=ajp13
JkWorkerProperty worker.copper.host=127.0.0.1
JkWorkerProperty worker.copper.port=8095
JkLogFile /var/log/httpd/jk.log
JkLogLevel info
JkMount /cti/* copper

2.3.4. ログの設定(logging.properties)

logging.propertiesはCopper PDFサーバーのログ設定ファイルです。 この設定の変更を反映するにはCopper PDFサーバーの再起動が必要です。 ログ設定ファイルは java.util.loggingのログプロパティファイル の形式で記述してください。

# Logging levels by categories.
jp.cssj.handlers = jp.cssj.logging.FileHandler, \
	java.util.logging.ConsoleHandler
jp.cssj.level = INFO

# File
java.util.logging.FileHandler.level = INFO
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.FileHandler.encoding = UTF-8

# Console
java.util.logging.ConsoleHandler.level = OFF
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

Copper PDFには日付でログをローテーションするログハンドラ (jp.cssj.logging.FileHandler) が用意されています。 ハンドラのプロパティは次のとおりです。

jp.cssj.logging.FileHandlerのプロパティ
名前 デフォルト 説明
directory copperdの標準のlogsディレクトリ ログの出力先ディレクトリ
prefix copperd. ログファイル名の先頭の文字列
suffix .log ログファイル名の末尾の文字列
level ALL ログレベル
filter N/A ログのフィルタ
formatter java.util.logging.SimpleFormatter ログのフォーマッタ
encoding UTF-8 ログファイルのキャラクタエンコーディング

2.3.5. アクセス制御の設定(access.txt)

access.txtはIPアドレスでアクセスできるクライアントを制限する設定です。 このファイルの変更は自動的に検出されるため、変更後にCopper PDFサーバーを再起動する必要はありません。 各行のルールを

[allow|deny] IPアドレス

という形式で記述します。 IPアドレスはIPv4, IPv6のどちらの形式も使用可能です。

allowは指定されたアドレスのアクセスを許可し、denyはアクセスを拒否するルールです。 クライアントからのアクセスがあった場合は、先頭から順に検索し、最初に一致したルールが適用されます。

IPアドレスを * にすると、全てのクライアントにルールを適用します。

allow	127.0.0.1
deny	*

2.3.6. profilesディレクトリ

profilesディレクトリ内の設定は、Copper PDFの出力結果に関係するものです。 デフォルトの入出力プロパティやフォントの情報が含まれます。

Linux版のcopperdおよび、 Windows版の各種ツールはconfディレクトリ内のprofilesディレクトリの設定を使用しますが、 Linux版の copper copper-webapp は初回実行時に実行ユーザーのホームディレクトリに.copperという名前のディレクトリをつくり、 そこにprofilesディレクトリを作成します。 copper, copper-webappを使用する各ユーザーはホームディレクトリの設定を編集する必要があります。

copper-webappの設定ファイルは、初回実行時に /WEB-INF/client.propertiesから各ユーザーの$HOME/.copper/webapp.proprtiesにコピーされます。 2.0.1

2.3.7. デフォルトの入出力プロパティ(default.properties)

default.propertiesはデフォルトの入出力プロパティを設定するものです。 入出力プロパティはcopperコマンドの引数やcopper-webappの設定ウィンドウ、 プログラムインターフェースによって上書きされます。 default.propertiesは、その初期値をあらかじめ設定するものです。

default.propertiesの変更は実行中のCopper PDFサーバーにより自動的に検知されますので、 変更の度にCopper PDFサーバーを再起動する必要はありません。

ファイルの形式は Javaのプロパティファイル です。 各プロパティは入出力プロパティの節で解説されていますが、 1つだけsystem.fontsという特別なプロパティがあります。 system.fontsは後で次に説明するフォント設定ファイルをdefault.propertiesファイルからの相対パスで指定したものです。

2.3.8. fontsディレクトリ

フォント関連の設定です。詳細はフォントの設定の章で解説します。


←前へ 目次↑ 次へ→
Copper PDF ©2012 Zamasoft. All rights reserved.