楽々Web データベース
インストールガイド
Linux 編
Ver.1.0.0.1
目次
1.
はじめに ... 5
1.1.
本書の対象者 ... 5
1.2.
本書の説明範囲 ... 5
1.3.
関連文書 ... 5
1.4.
本書での表記 ... 5
2.
インストールの準備 ... 6
2.1.
前提条件 ... 6
2.2.
作業の流れ ... 7
3.
ファイルのコピー ... 8
3.1.
ディレクトリ構成 ... 8
3.2.
jar
の配置 ... 9
3.3.
マニュアルの設定 ... 10
4.
データベースの設定 ... 11
4.1.
事前準備 ... 11
4.2.
作業の流れ ... 12
4.3.
データベースの作成 ... 12
4.4.
接続確認 ... 14
4.5.
テーブルの作成 ... 14
4.6.
初期データの作成 ... 16
5.
楽々Web データベースの設定 ... 18
6.
楽々Single Sign-On の設定 ... 22
7.
Tomcat
の設定 ... 23
8.
サンプルアプリの導入 ... 24
9.
楽々Web データベースの起動/停止 ... 25
9.1.
起動手順 ... 25
9.2.
停止手順 ... 26
10.
初回起動時の作業 ... 28
10.1.
ライセンス登録 ... 28
10.2.
動作確認 ... 30
10.3.
この後の作業 ... 32
添付資料 A Apache との連携 ... 33
B.1.ヒープ領域のサイズ設定 ... 38
B.2.Metaspace 領域の制限方法 ... 39
添付資料 C サーバー移設時の作業 ... 40
C.1.楽々Web データベースのサーバーURL の更新 ... 40
C.2.SeiDataSource.xml などの編集 ... 40
C.3.ライセンスの再登録 ... 41
改訂履歴 ... 42
※Amazon Corretto は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。 ※Apache、Apache Tomcat、Tomcat は、Apache Software Foundation の商標または登録商標です。 ※LibreOffice は、The Document Foundation の米国及びその他の国における商標または登録商標です。 ※Linux は、Linus Torvalds 氏の日本およびその他の国における商標または登録商標です。
※Microsoft Office および Excel は、米国 Microsoft Corporation の米国およびその他の国における商標ま たは登録商標です。
※Oracle、Java は,Oracle Corporation 及びその子会社,関連会社の米国及びその他の国における登録商 標です。
※PostgreSQL は,PostgreSQL Global Development Group が提唱する,オープンソースのオブジェクト リレーショナルデータベース管理システムの名称です。
※Windows および Microsoft Internet Information Server(IIS)は,米国 Microsoft Corporation の米国およ びその他の国における商標または登録商標です。
1. はじめに
本書は、楽々Web データベース の導入方法と、導入後の動作確認方法を説明します。1.1. 本書の対象者
本書は、楽々Web データベース のサーバー管理者を対象にします。 Tomcat、データベースの設定方法を熟知していることを前提としています。1.2. 本書の説明範囲
ミドルウェアのインストールが完了していることが前提です。 楽々Web データベース のインストール手順を説明します。1.3. 関連文書
・ ユーザーやグループの登録は、「グループ管理スタートアップガイド」をご覧ください。 ・ アプリの作成は、「ファーストステップガイド」をご覧ください。1.4. 本書での表記
本書では、以下の略称で表記します。 略称 説明Tomcat Apache Tomcat Apache Apache HTTP Server
{TOMCAT_HOME} Apache Tomcat インストールディレクトリ {APACHE_HOME} Apache HTTP Server インストールディレクトリ
2. インストールの準備
2.1. 前提条件
以下のミドルウェアがインストールされていることが前提です。
本書では、2020 年 2 月時点で動作確認済みの以下のバージョンを前提に記述します。
Tomcat 9.0.27
Java Amazon Corretto 11.0.3.7.1
PostgreSQL 11.6 LibreOffice 6.3.3 wkhtmltopdf 0.12.5 TOPICS: wkhtmltopdf の日本語化 日本語フォントがインストールされていない場合、wkhtmltopdf は日本語を出力できませ ん。日本語のフォントがない場合は、以下の URL から IPAex フォントをダウンロードし、「インス トール方法」に従ってインストールしてください。 ・IPAex フォント ダウンロードサイト (2020 年 12 月現在) https://moji.or.jp/ipafont/ipafontdownload/
2.2. 作業の流れ
インストール作業は、以下のとおりです。本マニュアルでは赤字の箇所を説明します。 図 1 楽々Web データベース 導入の流れ PostgreSQL の設定 Java、Tomcat、PostgreSQL などの導入 初回起動時の作業 楽々Single Sign-On の設定 Tomcat の設定 楽々Web データベースの設定 サンプルアプリの導入 ファイルのコピー3. ファイルのコピー
3.1. ディレクトリ構成
管理者権限(root)で、コマンドを実行します。 [1] 以下のディレクトリを作成します。 [ディレクトリの作成例] # mkdir -m 775 /home/rakrak [2] [1]で作成したディレクトリに、楽々Web データベース のインストールメディアからファイルをコ ピーします。フォルダの後にある ( ) 内の数字はアクセスモードです。/home -- rakrak (775) +-- SeiAppl (775) -- * (/rakwdb/SeiAppl/* をコピー) |
+-- setup (775) -- * (/setup/*をコピー)
{TOMCAT_HOME} -- webapps -- manual (775) -- * (/manual/* をコピー)
[ファイルのコピー例]
インストールメディアをマウントするディレクトリ /mnt/cdrom を作成 # mkdir /mnt/cdrom
CD-ROM をマウント
# mount /dev/cdrom /mnt/cdrom
インストールメディアのディレクトリ rakwebdb_[version]/rakwdb に移動 # cd /mnt/cdrom/rakwebdb_[version]/rakwdb
インストールメディアの「SeiAppl」を /home/rakrak にコピー # cp -r SeiAppl /home/rakrak/ インストールメディアのディレクトリ rakwebdb_[version] に移動 # cd .. インストールメディアの「setup」を /home/rakrak にコピー # cp -r setup /home/rakrak/
インストールメディアの「manual」を Tomcat の webapps にコピー # cp -r manual {TOMCAT_HOME}/webapps/ /home/rakrak/ 以下のアクセスモードを 775 に設定 # chmod -R 775 /home/rakrak/
3.2. jar の配置
[1] 以下の jar を {TOMCAT_HOME}/lib 配下に配置します。 (1) activation.jar (2) JavaMail 例)javax.mail-1.6.2.jar (3) PostgresSQL の JDBC ドライバ 例)postgresql-42.2.8.jar[2] LibreOffice の以下の jar を /home/rakrak/SeiAppl/RakWDB/WEB-INF/lib にコピーします。 /opt/libreoffice6.3/program/classes から以下の jar をコピーします。
[3] Apache POI 4.1.1 のモジュールを以下の2か所に配置します。 ・/home/rakrak/SeiAppl/RakWDB/WEB-INF/lib
・/home/rakrak/SeiAppl/RakSSO21/WEB-INF/lib
Apache POI 4.1.1 のモジュール
3.3. マニュアルの設定
インストールメディアの「manual」を Tomcat の webapps にコピーし、Tomcat を再起動します。 Tomcat 起動後、以下の URL にアクセスし、マニュアルが閲覧できるか、確認してください。 http://<ホスト名 or IP アドレス>:<ポート番号(デフォルト:8080)>/manual activation-1.1.1.jar commons-codec-1.13.jar commons-collections4-4.4.jar commons-compress-1.19.jar commons-logging-1.2.jar commons-math3-3.6.1.jar curvesapi-1.06.jar jaxb-api-2.3.1.jar jaxb-core-2.3.0.1.jar jaxb-impl-2.3.2.jar log4j-1.2.17.jar poi-4.1.1.jar poi-excelant-4.1.1.jar poi-ooxml-4.1.1.jar poi-ooxml-schemas-4.1.1.jar poi-scratchpad-4.1.1.jar xmlbeans-3.1.0.jar
4. データベースの設定
4.1. 事前準備
楽々Web データベースでは、以下の名称のデータベース、DB ユーザーを使用します。 データベース、DB ユーザーを作成する手順は、4.3 データベースの作成 で説明します。 [基本情報] データベース名 db_rakwebdb 文字コード UTF8 DB ユーザー名 postgres DB ユーザーパスワード postgres [JDBC ドライバ] JDBC ドライバの最新の情報については、以下のサイトの「Current Version」をご覧ください。 本書では postgresql-42.2.8.jar で記載を統一しております。 ・PostgreSQL JDBC Driver ダウンロードサイト (2020 年 12 月現在) http://jdbc.postgresql.org/download.htmlTOPICS:PostgreSQL における DB の文字数の考え方 char(n) や varchar(n) の 'n' は「文字数」です。 他のデータベースでは文字列長をバイト数で指定しますが、 PostgreSQL では「文字数」で指定します。 例) 「varchar(5)」で定義したフィールドに『あいうえお』(全角文字5文字)を入力しても、桁あふれ エラーは発生しません。 「varchar(5)」で定義されたフィールドに『123456』(半角文字 6 文字)を入力すると、桁あふれエ ラーが発生します。
4.2. 作業の流れ
環境作成の作業の流れは、以下のとおりです。 No. 作業内容 1 データベースの作成 2 接続確認 3 テーブルの作成 4 初期データの作成4.3. データベースの作成
PostgreSQL スーパーユーザー(本書では postgres116)でログインして、作業します。 # su - postgres116 [1] DB 接続ユーザーの作成 楽々Web データベースでは、以下のユーザーを使用します。ユーザーID:postgres パスワード: postgres 通常、ユーザー postgres は、PostgreSQL インストール時に作成されます。 存在しない場合は、以下のコマンドを実行して、ユーザー postgres を作成します。 $ createuser -e -A -D -P postgres 各オプションの意味は以下のとおりです。 e --echo createuser が生成し、サーバーに送信したコマンドをエコー表示します。 -A --no-adduser 新しいユーザーが他のユーザーを作成することを禁止します。 -D --no-createdb 新しいユーザーは、データベースの作成が禁止されます。 -P --pwprompt これが指定されると、createuser は新しいユーザーのパスワードのプロンプトを表示します。 [2] データベースの作成 01. create_db.sql を実行し、データベース db_rakwebdb を作成します。 以下のコマンドを実行します。 $ psql postgres postgres=# \i /home/rakrak/setup/sql/001.create_db.sql postgres=# \q
4.4. 接続確認
以下のコマンドを実行し、ユーザー postgres でデータベース db_rakwebdb に接続します。 $ psql -U postgres -d db_rakwebdb 接続に成功すると、下記画面が表示されます。4.5. テーブルの作成
ユーザー postgres でデータベース db_rakwebdb に接続した状態で、以下の作業を行います。 [1] スキーマの作成rakwebdb, raksso21, rakgroup の 3 つのスキーマを作成します。
データベース db_rakwebdb に接続し、002.create_schema.sql を実行します。 db_rakwebdb =# \i /home/rakrak/setup/sql/002.create_schema.sql
データベース db_rakwebdb に rakwebdb, raksso21, rakgroup の3つのスキーマが作成されていれ ば成功です。
[2] テーブルを作成 各スキーマにテーブルを作成します。 ・003.create_table_rakwebdb.sql ・004.create_table_raksso21.sql ・005.create_table_rakgroup.sql db_rakwebdb =# \i /home/rakrak/setup/sql/003.create_table_rakwebdb.sql db_rakwebdb =# \i /home/rakrak/setup/sql/004.create_table_raksso21.sql db_rakwebdb =# \i /home/rakrak/setup/sql/005.create_table_rakgroup.sql ※以下の NOTICE が表示されますが、DROP 処理をスキップしているため、問題ありません。 NOTICE: テーブル"hogehoge"は存在しません。省略します [3] VIEW の作成 各スキーマに VIEW を作成します。 以下のファイルを順に実行します。 ・006.create_view_rakwebdb.sql ・007.create_view_raksso21.sql ・008.create_view_rakgroup.sql db_rakwebdb =# \i /home/rakrak/setup/sql/006.create_view_rakwebdb.sql db_rakwebdb =# \i /home/rakrak/setup/sql/007.create_view_raksso21.sql db_rakwebdb =# \i /home/rakrak/setup/sql/008.create_view_rakgroup.sql
4.6. 初期データの作成
/home/rakrak/setup/sql/ の rakgroup_insert.sql と raksso21_insert.sql のデータを編集し、データを登 録します。
[1] rakgroup_insert.sql の編集
・rkgpgslang テーブルに登録するデータを編集します。
以下 SQL の "xxxx 株式会社" の部分を、会社名に変更します。
insert into rakgroup.rkgpgslang values (0,0,'xxxx 株式会社',NULL,NULL,'2019/09/19 10:55:52','postgres',NULL,NULL,NULL,NULL);
・rkgpugplang テーブルに登録するデータを編集します。
以下 SQL の "xxxx 株式会社" の部分を、会社名に変更します。
insert into rakgroup.rkgpugplang values (4,0,'xxxx 株式会社','xxxx 株式会社','xxxx 株式会社 ','xxxx 株式会社',NULL,'2019/09/19 10:59:28','postgres',NULL,NULL,NULL,NULL);
insert into rakgroup.rkgpugplang values (5,0,'xxxx 株式会社_代表','xxxx 株式会社_代表 ','xxxx 株式会社_代表','xxxx 株式会社_代表',NULL,'2019/09/19
10:59:28','postgres',NULL,NULL,NULL,NULL);
[2] raksso21_insert.sql の編集
rkssapplurl テーブルに登録するデータを編集します。
以下の SQL の "xxx.xxx.xxx.xxx:yyyy" の部分を、Tomcat のサーバー、ポート番号(Apache と連携し ている場合は、Apache のサーバー、ポート番号)に変更します。
insert into raksso21.rkssapplurl values
(1011,'RakWDB','http://xxx.xxx.xxx.xxx:yyyy/RakWDB/top/rkwaTop','2019/10/04 16:18:36','admin','jp.co.sei.RakSSO21.rkss3200','2019/10/04
16:18:36','admin','jp.co.sei.RakSSO21.rkss3200');
例)
[3] データ登録ファイルの実行 以下のファイルを実行します。 ・rakgroup_insert.sql ・raksso21_insert.sql ・rakwebdb_insert.sql db_rakwebdb =# \i /home/rakrak/setup/sql/rakgroup_insert.sql db_rakwebdb =# \i /home/rakrak/setup/sql/raksso21_insert.sql db_rakwebdb =# \i /home/rakrak/setup/sql/rakwebdb_insert.sql
5. 楽々Web データベースの設定
楽々Web データベース(アプリケーション RakWDB)を設定します。/home/rakrak/SeiAppl/RakWDB/WEB-INF/RakAppl の SeiDataSource.xml と SeiConfig.xml を編集し ます。 各タグの の箇所を環境に合わせて変更します。 [1] SeiDataSource.xml の編集 各 URL タグに、PostgreSQL のサーバー、ポート番号を指定します。 データベース名、スキーマ名は変更しないでください。 [RakWebDB の URL タグ内容] <URL>jdbc:postgresql://<ホスト名 or IP アドレス>:<ポート番号(デフォルト:5432)> /db_rakwebdb?currentSchema=rakwebdb</URL> [2] SeiConfig.xml の編集 (1) RakWebDB.ManualURL IP アドレスとポートを指定します。(ホスト名指定可) <Param Name=" RakWebDB.ManualURL">
http://<ホスト名 or IP アドレス>:<ポート番号(デフォルト:8080)>/manual/index.html </Param> (2) RakWebDB.HtmlToPDFExecPath wkhtmltopdf のインストールパスを指定します。 <Param Name="RakWebDB.HtmlToPDFExecPath">/usr/local/bin/wkhtmltopdf</Param> (3) RakWebDB.MailReplaceParamBaseURL IP アドレスとポートを指定します。(ホスト名指定可 ※末尾にスラッシュは付けません。) <Param Name="RakWebDB.MailReplaceParamBaseURL"> http://<ホスト名 or IP アドレス>:<ポート番号(デフォルト:8080)></Param>
(4) RakWebDB.SSOBaseURL IP アドレスとポートを指定します。(ホスト名指定可) <Param Name="RakWebDB.SSOBaseURL"> http://<ホスト名 or IP アドレス>:<ポート番号(デフォルト:8080)>/RakSSO21/ rkssPtnServlet/</Param> (5) WFBaseURL IP アドレスとポートを指定します。(ホスト名指定可) <Param Name="WFBaseURL"> http://<ホスト名 or IP アドレス>:<ポート番号(デフォルト:8080)>/RakWDB/ </Param> (6) RakWebDB.WDBBaseURL IP アドレスとポートを指定します。(ホスト名指定可) <Param Name="RakWebDB.WDBBaseURL">
http://<ホスト名 or IP アドレス>:<ポート番号(デフォルト:8080)>/RakWDB/ </Param>
(7) AllowRemoteAddress
IP アドレスを指定します。(ホスト名指定可)
(8) RakWebDB.CheckWorkbookJavaCommandClasspath 以下の jar をクラスパス指定してください。区切り文字は「:」です。 例) <Param Name="RakWebDB.CheckWorkbookJavaCommandClasspath"> {TOMCAT_HOME}/lib/servlet-api.jar:/home/rakrak/SeiAppl/RakWDB/WEB-INF/lib/commons-math3-3.6.1.jar:/home/rakrak/SeiAppl/RakWDB/WEB-INF/lib/commons-logging-1.2.jar: /home/rakrak/SeiAppl/RakWDB/WEB-INF/lib/commons-compress-1.19.jar:/home/rakrak/SeiAppl/RakWDB/WEB-INF/lib/commons-collections4-4.4.jar: /home/rakrak/SeiAppl/RakWDB/WEB-INF/lib/commons-codec-1.13.jar: /home/rakrak/SeiAppl/RakWDB/WEB-INF/lib/log4j-1.2.17.jar: /home/rakrak/SeiAppl/RakWDB/WEB-INF/lib/xmlbeans-3.1.0.jar: /home/rakrak/SeiAppl/RakWDB/WEB-INF/lib/poi-ooxml-schemas-4.1.1.jar: /home/rakrak/SeiAppl/RakWDB/WEB-INF/lib/poi-ooxml- INF/lib/poi- 4.1.1.jar:/home/rakrak/SeiAppl/RakWDB/WEB- INF/lib/RakWebDB_Common.jar:/home/rakrak/SeiAppl/RakWDB/WEB- INF/lib/RakWebDB.jar:/home/rakrak/SeiAppl/RakWDB/WEB- INF/lib/RakSSO21client_14.jar:/home/rakrak/SeiAppl/RakWDB/WEB- INF/lib/RakFW30_14.jar:/home/rakrak/SeiAppl/RakWDB/WEB- INF/lib/RakFW21_14.jar:/home/rakrak/SeiAppl/RakWDB/WEB-INF/lib/RakConnectDnD_14.jar</Param> RakWebDB_Common.jar RakWebDB.jar RakSSO21client_14.jar RakFW30_14.jar RakFW21_14.jar RakConnectDnD_14.jar servlet-api.jar commons-math3-3.6.1.jar commons-logging-1.2.jar commons-compress-1.19.jar commons-collections4-4.4.jar commons-codec-1.13.jar log4j-1.2.17.jar xmlbeans-3.1.0.jar poi-ooxml-schemas-4.1.1.jar poi-ooxml-4.1.1.jar poi-4.1.1jar
(9) RakWebDB.SSOServerRestartJavaCommandClasspath 以下の jar をクラスパス指定してください。区切り文字は「:」です。 例) servlet-api.jar postgresql-42.2.8.jar RakWebDB.jar RakSSO21.jar RakFW30_14.jar RakFW21_14.jar QsAdAuthServer.jar <Param Name="RakWebDB.SSOServerRestartJavaCommandClasspath"> {TOMCAT_HOME}/lib/servlet-api.jar:{TOMCAT_HOME}/lib/postgresql-42.2.8.jar: /home/rakrak/SeiAppl/RakSSO21/WEB- INF/lib/RakWebDB.jar:/home/rakrak/SeiAppl/RakSSO21/WEB- INF/lib/RakSSO21.jar:/home/rakrak/SeiAppl/RakSSO21/WEB- INF/lib/RakFW30_14.jar:/home/rakrak/SeiAppl/RakSSO21/WEB- INF/lib/RakFW21_14.jar:/home/rakrak/SeiAppl/RakSSO21/WEB-INF/lib/QsAdAuthServer.jar</Param>
6. 楽々Single Sign-On の設定
楽々Single Sign-On(アプリケーション RakSSO21)を設定します。/home/rakrak/SeiAppl/RakSSO21/WEB-INF/RakAppl/ の SeiDataSource.xml と SeiConfig.xml を編集 します。各タグの の箇所を環境に合わせて変更します。 [1] SeiDataSource.xml の編集 各 URL タグに、PostgreSQL のサーバー、ポート番号を指定します。 データベース名、スキーマ名は変更しないでください。 [RakSSO21 の URL タグ内容] <URL>jdbc:postgresql://<ホスト名 or IP アドレス>:<ポート番号(デフォルト:5432)> /db_rakwebdb?currentSchema= raksso21</URL> [2] SeiConfig.xml の編集 (1) RakWebDB.WebDBPtnServletBaseURL IP アドレスとポートを指定します。 <Param Name="RakWebDB.WebDBPtnServletBaseURL"> http://<ホスト名 or IP アドレス>:<ポート番号(デフォルト:8080)>/RakWDB/main </Param> (2) RakWebDB.WebDBServletBaseURL IP アドレスとポートを指定します。 <Param Name="RakWebDB.WebDBServletBaseURL"> http://<ホスト名 or IP アドレス>:<ポート番号(デフォルト:8080)>/RakWDB/top </Param> (3) RakWebDB.ManualURL IP アドレスとポートを指定します。(ホスト名指定可) <Param Name=" RakWebDB.ManualURL">
http://<ホスト名 or IP アドレス>:<ポート番号(デフォルト:8080)>/manual/index.html </Param>
7. Tomcat の設定
コンテキストの設定ファイルを作成します。[1] Tomcat に、楽々Single Sign-On のアプリケーション RakSSO21 を登録します。 RakSSO21.xml ファイルを作成します。
例){TOMCAT_HOME}/conf/Catalina/localhost/RakSSO21.xml
<Context path="/RakSSO21" docBase="/home/rakrak/SeiAppl/RakSSO21" reloadable="false" crossContext="false"></Context>
[2] Tomcat に、楽々Web データベースのアプリケーション RakWDB を登録します。 RakWDB.xml ファイルを作成します。
例){TOMCAT_HOME}/conf/Catalina/localhost/RakWDB.xml
<Context path="/RakWDB" docBase="/home/rakrak/SeiAppl/RakWDB" reloadable="false" crossContext="false"></Context>
8. サンプルアプリの導入
楽々Web データベースに、アプリのサンプルを導入します。 アプリのサンプルが不要の場合は、この作業は必要ありません。 ■前提条件 楽々Web データベースの環境構築直後であること。 ■導入手順 [1] ファイルのコピー インストールメディアの sample/サンプルアプリから、def, pms, r2b2, template を /home/rakrak/SeiAppl/RakWDB/WEB-INF/RakAppl/sis/ にコピーします。 [ファイルのコピー例] インストールメディアのディレクトリ rakwebdb_[version]/rakwdb に移動 # cd /mnt/cdrom/rakwebdb_[version]/sample/サンプルアプリ インストールメディアの sample/サンプルアプリから、def,pms,r2b2,template を RakWDB にコピー します。# cp -r def pms r2b2 template /home/rakrak/SeiAppl/RakWDB/WEB-INF/RakAppl/sis/
/home/rakrak/ 以下のアクセスモードを 775 に設定 # chmod -R 775 /home/rakrak/
[2] SQL の実行
PostgreSQL ユーザー postgres でログインし、インストールメディアの sample/サンプルアプリ /sampleapp_insert.sql を実行します。
# su - postgres
$ psql -f /mnt/cdrom/rakwebdb_[version]/sample/サンプルアプリ/sampleapp_insert.sql -U postgres -d db_rakwebdb
9. 楽々Web データベースの起動/停止
9.1. 起動手順
LibreOffice、PostgreSQL、Tomcat を起動します。 [1] LibreOffice LibreOffice のプロセスがすでに実行されている場合は、すべて終了します。 コマンドラインにて、LibreOffice がインストールされているディレクトリへ移動します。 例は、「/opt」以下に LibreOffice がインストールされている想定です。 LibreOffice をサーバーとして実行するため、「soffice」に 引数「--invisible --accept="socket,port=8100;urp;"」を追加して、実行します。 Linux の場合はフォアグラウンドとして動作するため、ターミナル画面を立ち上げたままである必要 があります。バックグラウンド実行する場合は、末尾に & を付けます。 実行後、LibreOffice.org が TCP の 8100 番のポートで待ち受けます。 以下のコマンドで、正常動作していることを確認します。 [2] PostgreSQL PostgreSQL の起動ユーザーに切り替えて、PostgreSQL を起動するコマンドを実行します。 例) # cd /opt/libreoffice6.3/program/# ./soffice --invisible --accept="socket,port=8100;urp;" &
# netstat -an | grep 8100
tcp 0 0 127.0.0.1:8100 0.0.0.0:* LISTEN
[3] Tomcat PostgreSQL が起動した後に、Tomcat を起動します。 Tomcat の起動ユーザーに切り替えて、Tomcat を起動するコマンドを実行します。
9.2. 停止手順
LibreOffice、PostgreSQL、Tomcat を停止します。 [1] LibreOffice コマンドラインで、「ps -x | grep soffice.bin」を実行し、LibreOffice のプロセス番号を確認します。 「kill -9 プロセス番号」を実行し、libreoffice6.3 のプロセスが停止されたことを確認します。 [2] PostgreSQL PostgreSQL の起動ユーザーに切り替えて、PostgreSQL を停止するコマンドを実行します。 例) $ {TOMCAT_HOME}/bin/startup.sh # ps -x | grep soffice.bin14978 ? Sl 0:00 /opt/libreoffice6.3/program/soffice.bin invisible -accept=socket,port=8100;urp;
21160 pts/2 S+ 0:00 grep --color=auto soffice.bin
# kill -9 14978
# ps -x | grep soffice.bin
21238 pts/2 R+ 0:00 grep --color=auto soffice.bin
[3] Tomcat Tomcat の起動ユーザーに切り替えて、Tomcat を停止するコマンドを実行します。 TOPICS:LibreOffice の再起動 LibreOffice は OS のメモリを累積して確保し続けるため、長期間使い続けるとメモリリー クが発生し、PDF 帳票出力ができなくなります。メモリリークを回避するため、定期的に 再起動することを推奨します。 以下は、一日一回再起動を行う cron の設定例です。 毎日 7 時に LibreOffice を再起動します。 [1] 任意のディレクトリに、LibreOffice の停止と再起動を実行する.sh ファイルを作成します。 例)/home/rakrak/LibreOffice_restart.sh #!/bin/bash pkill -f /opt/libreoffice6.3/program/soffice.bin
/opt/libreoffice6.3/program/soffice --invisible --accept="socket,port=8100;urp;" &
[2] root ユーザーで、/etc/cron.d 配下に cron の設定ファイルを作成します。 例)/etc/cron.d/LibreOffice_restart SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ 00 7 * * * root /home/rakrak/LibreOffice_restart.sh 設定書式:分 時 日 月 曜日 ユーザー コマンド {TOMCAT_HOME}/bin/shutdown.sh
10. 初回起動時の作業
LibreOffice、PostgreSQL、Tomcat を起動し、以下の作業を行います。10.1. ライセンス登録
はじめてアクセスすると、ライセンス登録画面が表示されます。 ライセンス証書に記載されているライセンスキー、シリアル番号を登録します。 [1] アプリケーション RakWDB のライセンス情報を登録します。 以下の URL でアプリケーションにアクセスし、ライセンス情報入力画面でライセンス情報を入力 します。 http://<ホスト名 or IP アドレス>:<ポート番号(デフォルト:8080)>/RakWDB/top/rkwaTop ※入力後「認証サーバーからの応答がありません。」と表示されますが、この段階では問題ありま せん。[2] アプリケーション RakSSO21 のライセンス情報を登録します。 以下の URL でアプリケーションにアクセスし、ライセンス情報入力画面でライセンス情報を入力 します。 http:// <ホスト名 or IP アドレス>:<ポート番号(デフォルト:8080)>/RakSSO21/rkssServlet ※入力後「認証サーバーからの応答がありません。」と表示されますが、この段階では問題ありま せん。 [3] Tomcat を再起動します。
10.2. 動作確認
[1] ログインインストール時に、システム管理者としてユーザー「admin」が作成されます。 以下の URL でアプリケーション RakWDB にアクセスし、admin でログインします。
http://<ホスト名 or IP アドレス>:<ポート番号(デフォルト:8080)>/RakWDB/top/rkwaTop
以下のログイン情報でログインできれば、成功です。 ユーザーID:admin
[2] 初期データの確認 歯車のアイコンをクリックし、管理モードを表示します。グループ管理 をクリックし、グループ設定 画面を表示します。 4.6 初期データの作成 で組織グループセットを作成しているので、その組織グループセットがあるこ とを確認します。 [3] サンプルアプリの確認 8.サンプルアプリの導入 でサンプルアプリを導入した場合のみ、家のアイコンをクリックして、以 下を確認します。 ・Public フォルダにアプリがあること
・アプリにアクセスできること
10.3. この後の作業
ユーザーやグループの登録は、「グループ管理スタートアップガイド」をご覧ください。
添付資料 A Apache との連携
Apache 経由でアプリケーションにアクセスするには、Apache と Tomcat の連携が必要です。本書では、 Apache2.2 から対応している Tomcat 連携モジュール「mod_proxy_ajp」を使用して連携します。 「mod_proxy_ajp」モジュールは、Apache 導入時にインストールします。
[1] Apache の設定
RakWDB、RakSSO21、マニュアルの Apache との連携設定をおこないます。 「{APACHE_HOME}/conf/httpd.conf」ファイルに以下を設定します。
<Location /RakWDB/>
ProxyPass ajp://localhost:8009/RakWDB/ </Location>
<Location /RakSSO21/>
ProxyPass ajp://localhost:8009/RakSSO21/ </Location>
<Location /manual/>
ProxyPass ajp://localhost:8009/manual/ </Location>
例 1 httpd.conf
Tomcat 9.0.31 以降を使用する場合は、AJP 接続の認可設定もおこないます。
ProxyPass の最後に secret を追加し、パスワード文字列(簡単に推測できない文字列)を指定します。 <Location /RakWDB/>
ProxyPass ajp://localhost:8009/RakWDB/ secret=****** </Location>
<Location /RakSSO21/>
ProxyPass ajp://localhost:8009/RakSSO21/ secret=****** </Location>
<Location /manual/>
ProxyPass ajp://localhost:8009/manual/ secret=****** </Location>
[2] Tomcat の設定
(1) server.xml ファイルの設定
{TOMCAT_HOME}/conf/server.xml ファイルを開きます。
① Tomcat コネクタの確認
Apache から Tomcat へは AJP/1.3 プロトコルを使用し 8009 番ポートで接続します。 以下の設定がされていることを確認します。
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 例 3 Tomcat 9.0.30 以前の server.xml Tomcat 9.0.31 以降では AJP 接続の認可設定が必要です。 認可設定を行うには Apache 2.4.43 以降が必要です。 デフォルトでは AJP/1.3 プロトコルの設定が無効になっているため、コメントアウトを外 してください。 <!-- <Connector protocol="AJP/1.3" address="::1" port="8009" redirectPort="8443" /> --> 例 4 Tomcat 9.0.31 以降の server.xml address にバインドさせる IP アドレスを設定します。 AP サーバーと WEB サーバーの IP アドレスが異なる場合は、AP サーバーの IP アドレス、 または"0.0.0.0" か IPv6 形式の"::"である必要があります。
secret を追加し、Apache の server.xml ファイルで設定したパスワードを記述します。 <Connector protocol="AJP/1.3" address="localhost" port="8009" redirectPort="8443" secret="******" /> 例 5 Tomcat 9.0.31 以降の server.xml の設定例
② Tomcat の Web サーバー機能無効化
Tomcat も Web サーバー機能を持っていますが、外部に公開する場合は、セキュリティ的 な観点から推奨されません。
そのため、以下の箇所をコメントアウトし、Tomcat が使用する 8080 ポートからのアクセ スを防ぎます。
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
例 6 設定前の server.xml
<!--
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> --> 例 7 設定後の server.xml (2) Tomcat 再起動 Tomcat を再起動します。 (3) Tomcat の Web サーバー機能停止確認 以下の URL をブラウザで開き、Tomcat の画面が表示されないことを確認します。 http://<ホスト名 or IPアドレス>:8080/ 図 2 Internet Explorer で表示したとき 8080 ポートが閉じられていない場合は、以下の画面が表示されます。
TOPICS: Apache2.4 での Apache と Tomcat の連携
Apache2.4 で mod_proxy-ajp を利用して Apache と Tomcat を連携する 場合、{APACHE_HOME}/conf/httpd.conf に「mod_proxy」と
「mod_proxy_ajp」用のモジュールを読み込む設定をする必要があります。 デフォルトでは以下の記述がコメントアウトされていますので、コメントアウト を外して、Apache を再起動します。
LoadModule proxy_module modules/mod_proxy.so
添付資料 B JVM サイズの設定
Tomcat が利用する JVM(Java 仮想マシン)のヒープ領域と Metaspace 領域の初期サイズと最大サイズ を設定する手順を説明します。 TOPICS: JVM のメモリ領域について JVM のメモリ領域はヒープ領域とネイティブ領域に分けられます。ヒープ領 域はインスタンス化されたオブジェクトの情報などが格納されます。 ネイティブ領域は、OS が管理する領域です。Metaspace 領域はその中の1つで、クラ スやメソッドの情報が格納されます。 図 3 JVM のメモリ領域構成 Tomcat 起動時に Metaspace 領域およびヒープ領域は初期サイズで指定された大きさ で作成されます。メモリが必要になったとき最大メモリサイズまで自動的に拡張され ます。 図 4 メモリのサイズ設定 Metaspace 領域 ヒープ領域 ネイティブ領域 ThreadStack 領域 C Heap 領域 Metaspace 領域 初期サイズ (-XX:MetaspaceSize) 最大サイズ (-XX:MaxMetaspaceSize) 初期サイズ (-Xms) 最大サイズ (-Xmx) ネイティブ領域 ヒープ領域
B.1.ヒープ領域のサイズ設定
「java.lang.OutOfMemoryError : Java heap space」エラーが発生し、処理が中断することがあります。こ のエラーが発生する場合は、ヒープ領域の設定を見直します。 本書では、ヒープ領域初期サイズに 256MB、ヒープ領域最大サイズに 512MB を設定します。サイズは 実行環境にあわせて設定してください。 [1] JVM のヒープ領域サイズ設定 「{TOMCAT_HOME}/bin/」ディレクトリに「setenv.sh」ファイルを作成します。「setenv.sh」フ ァイルに環境変数「CATALINA_OPTS」を設定し、JVM オプションのヒープ領域初期サイズ(-Xms)、 ヒープ領域最大サイズ(-Xmx)を設定します。 CATALINA_OPTS="-server -Xms256m -Xmx512m" 例 8 setenv.sh [2] 実行権限の設定 「setenv.sh」ファイルに、Tomcat の起動ユーザーの実行権限を付与します。 chmod 755 setenv.sh 例 9 実行権限付与コマンド [3] Tomcat の再起動
Tomcat を起動したとき(catalina.sh 実行時)、「setenv.sh」ファイルに設定した内容が読み込まれま す。
B.2.Metaspace 領域の制限方法
Java8 以降の Metaspace 領域は、必要に応じて自動的に拡張します。デフォルトでは、サイスの制限が ありません。他のソフトウェアとの兼ね合いでメモリ使用量を制限する場合は、Metaspace 領域の最大 サイズを指定します。 本書では、Metaspace 領域初期サイズに 128MB、Metaspace 領域最大サイズに 256MB を設定します。 サイズは、実行環境にあわせて設定してください。 [1] Metaspace 領域の最大サイズの設定 「{CATALINA_HOME}/bin/」ディレクトリに「setenv.sh」ファイルを作成します。 「setenv.sh」ファイルに環境変数「CATALINA_OPTS」を設定し、JVM オプションの Metaspace 領域初期サイズ(-XX:MetaspaceSize)、Metaspace 領域最大サイズ(-XX:MaxMetaspaceSize)を設 定します。CATALINA_OPTS="-server -Xms256m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m" 例 10 setenv.sh
[2] 実行権限の設定
「setenv.sh」ファイルに Tomcat の起動ユーザーの実行権限を付与します。 chmod 755 setenv.sh
添付資料 C サーバー移設時の作業
ホスト名、IP アドレスが変わった場合に必要な作業を説明します。C.1.楽々Web データベースのサーバーURL の更新
[1] アプリケーション RakWDB にアクセスし、admin でログインします。 [2] 歯車のアイコンをクリックし、管理モードを表示します。システム設定 > サーバー設定 > 全般 の「サーバーの URL」を更新します。 http://<ホスト名 or IP アドレス>:<ポート番号(デフォルト:8080)>C.2.SeiDataSource.xml などの編集
各アプリケーションの SeiDataSource.xml、SeiConfig.xml の "RakWebDB.ManualURL" で「ホスト名」 「IP アドレス」で記述している箇所を、現在の構成に合うように変更します。楽々Web データベースの設定 については 5.楽々Web データベースの設定、 楽々Single Sign-On の設 定については 0.例)
C.3.ライセンスの再登録
サーバー変更後は、ライセンス再登録が必要です。
改訂履歴
Ver.1.0.0.0 (2020-04-24) ・新規作成Ver.1.0.0.1 (2020-12-18)
・3.2. jar の配置、5. 楽々Web データベースの設定 の POI の jar のパスを修正 ・5. 楽々Web データベースの設定 の [2] SeiConfig.xml の編集 にパラメータを追加
・添付資料 A Apache との連携 に、Tomcat 9.0.31 以降に実装された AJP 接続認可の設定方法を記述 ・TOPICS: wkhtmltopdf の日本語化 の URL を更新