←前へ 目次↑ 次へ→

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サーバーの動作に関する設定です。 この設定の変更を反映するには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-command 制御コマンドです。
jp.cssj.cssjd.control-port 制御用ポートです。
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。 mod_jkによる接続が可能になります。
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

2.3.2. SSLの設定

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

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通信に使用する場合は、 キーストアファイルのファイルパスと、PKCS12パスワード、キーストアのパスワードを設定してください。

2.3.3. mod_jkの設定

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

AJP13によるマウントポイントは、任意のパスに設定することが出来ます。 (HTTP/RESTインターフェースでは、最後の'/'以降だけでアクションを判別するためです。) 以下の例は、Copper PDFがlocalhostの8095ポートでAJP13を起動している場合に、 /cti/パスでHTTP/RESTインターフェースを使用可能にする、mod_jkがインストールされたApacheの設定例です。

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から各ユーザーの.copper/webapp.proprtiesにコピーされます。 2.0.1

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

default.propertiesはデフォルトの入出力プロパティを設定するものです。 この設定の変更を反映するためにCopper PDFサーバーを再起動する必要はありません。

入出力プロパティはcopperコマンドの引数やcopper-webappの設定ウィンドウ、 プログラムインターフェースによって変更出来ますが、 default.propertiesに書いておくことにより、あらかじめ入出力プロパティを設定した状態にすることが出来ます。

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

2.3.8. fontsディレクトリ

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


←前へ 目次↑ 次へ→
Copper PDF ©2008-2011 GNN & Co.,Ltd. All rights reserved.