OpenCms 設 定 マニュアル ~ ホスト 名 やポート 変 更 時 サイト 追 加 時 の 対 応 方 法 ~ 株 式 会 社 ジークス (2010 年 10 月 25 日 更 新 )
1 サーバーのホスト 名 やポート 変 更 時 の 対 応 OpenCms 管 理 サーバーのホスト 名 やポートが 変 更 になった 場 合 や HTTP から HTTPS での 運 用 に 変 更 した 時 などは opencms-system.xml と opencms-importexport.xml の 2 つのファイルの 設 定 を 変 更 します 1-1 opencms-system.xml の 設 定 OpenCms がインストールされているサーバーに 置 かれている opencms-system.xml の 以 下 の 箇 所 を 修 正 して 下 さい 設 定 ファイル:./WEB-INF/config/opencms-system.xml <maxbadattempts>-1</maxbadattempts> </loginmanager> <sites> <workplace-server>http://localhost:8080</workplace-server> <default-uri>/sites/default/</default-uri> <site server="http://localhost:8080" uri="/sites/default/"/> </sites> <runtimeproperties> <param name="compatibility.support.oldlocales">false</param> <workplace-server>で 指 定 しているドメインは OpenCms の 管 理 画 面 のドメインになります OpenCms へログインした 場 合 は 必 ずこのドメインになります 例 えば Apache や DNS の 設 定 で http://test.zyyx.jp/ で も OpenCms の サ ー バ ー へ ア ク セ ス で き る よ う に な っ て い れ ば http://test.zyyx.jp/~ でも OpenCms のログイン 画 面 にアクセスする 事 が 出 来 ると 考 えますが アクセ スした 瞬 間 http://localhost:8080/~ へ 自 動 的 且 つ 強 制 的 にリダイレクトされます Apache の mod_rewrite でリダイレクトのルールを 指 定 しているとき この 挙 動 を 理 解 していないと 設 定 次 第 ではリダイレクトが 無 限 ループする 事 になりますので 注 意 して 下 さい 2
サーバーのホスト 名 やポートが 変 更 になった 場 合 は <workplace-server/>の URL を 変 更 します もし OpenCms がポート 8080 で 起 動 していたとしても Apache と Tomcat を 連 携 させ ポート 80 で 管 理 画 面 へアクセスするのであれば ここの 設 定 もポート 80 のものにする 必 要 があります あくまでユーザーから 見 た 時 の URL を 設 定 します https でのアクセスになる 場 合 も 同 様 に この 設 定 を https://~に 変 更 します 必 要 があれば <site/>で 指 定 した URL も 変 更 する 必 要 があります この URL は Online でのプレビ ューで 利 用 されます 詳 しくは 次 項 の 2 管 理 するサイトを 追 加 する 方 法 を 参 照 して 下 さい 3
1-2 opencms-importexport.xml の 設 定 OpenCms がインストールされているサーバーに 置 かれている opencms-importexport.xml の 以 下 の 箇 所 を 修 正 して 下 さい 設 定 ファイル:./WEB-INF/config/opencms-importexport.xml <rendersettings> <rfs-prefix>${context_name}/export</rfs-prefix> <vfs-prefix>${context_name}${servlet_name}</vfs-prefix> <userelativelinks>true</userelativelinks> <exporturl>http://127.0.0.1:8080${context_name}/handle404</exporturl> <plainoptimization>true</plainoptimization> <testresource uri="/system/shared/page.dtd"/> <resourcestorender> <regex>/sites/.*</regex> <regex>/system/workplace/commons/style/.*</regex> <regex>/system/galleries/.*</regex> <regex>/system/modules/.*/resources/.*</regex> </resourcestorender> </rendersettings> OpenCms は 動 的 配 信 で 運 用 している 場 合 でも 最 初 のアクセスがあった 時 に HTML や 画 像 CSS などを/export 以 下 に 生 成 し 二 度 目 以 降 のアクセスは /export 以 下 に 生 成 したファイルを 返 す 事 で データベースのアクセスを 減 らし レスポンスを 高 速 化 する 仕 組 みがあります 静 的 配 信 で 運 用 する 場 合 は 複 数 または 全 てのページを 一 度 に/export 以 下 にエクスポートするので すが このとき サーバー 内 で 自 分 自 身 に HTTP リクエストを 送 り 上 記 の 機 能 を 利 用 して/export 以 下 にファイルを 生 成 していきます 上 記 の 設 定 は その 時 の 自 分 自 身 にアクセスする 為 の URL を 設 定 しています 4
同 じサーバー 内 で 行 われる 事 なので ドメインは 127.0.0.1 や localhost で 問 題 ありませんが これで アクセスできない 場 合 は 修 正 の 必 要 があります アクセスできない 設 定 になっている 場 合 は /export 以 下 にファイルが 一 切 生 成 されません 例 えば Apache と Tomcat を 連 携 し デフォルトで 動 作 している 8080 を 閉 じてしまった 場 合 この ままの 設 定 ではアクセスできません ポートを 80 に 指 定 する 必 要 があります また Apache にアクセス 制 御 がなされており localhost からのアクセスを 受 け 付 けない 設 定 にして いると opencms-importexport.xml の 設 定 だけではどうにもなりません Apache に BASIC 認 証 がなされている 場 合 も 同 様 で OpenCms のこの 機 能 は そのような 認 証 を 越 えられません このような 場 合 Tomcat のポート 8080 を 活 かし 別 のサーバーからのポート 8080 のアクセスを 閉 じるなどすれば Apache の 設 定 の 影 響 は 受 けなくなるでしょう コンテンツがエクスポートされる /export は あくまで 設 定 がデフォルトのままの 場 合 です 出 力 先 は サイトやサイト 内 のそれぞれのフォルダごとに 変 更 できるので その 場 合 は 別 の 場 所 に 出 力 されます また 静 的 配 信 の 場 合 は 直 接 /export に 出 力 されるのではなく 一 時 フォルダを 作 成 し そこに 出 力 してから/export にコピーされます 5
2 管 理 するサイト サイトを 追 加 する 方 法 OpenCms は 複 数 のサイトを 管 理 する 事 が 出 来 ます 複 数 のサイトを 登 録 しておくと ツールバー のサイトプルダウンで 選 択 することで 操 作 するサイトを 切 り 替 える 事 が 出 来 るようになります ちなみに / というサイトは 特 殊 なサイトで OpenCms のルートディレクトリに 当 たります ルートディレクトリからは OpenCms のシステムファイルにアクセスする 事 が 可 能 で 管 理 者 権 限 を 持 ったユーザーしか / を 選 択 する 事 は 出 来 ません また /system/ 以 下 のファイルは 安 易 に 触 ると OpenCms を 壊 しかねないので 注 意 して 下 さい 通 常 のサイトは ルートディレクトリから 見 て /sites/ 以 下 にあります /sites/の 直 下 にフォルダを 作 成 すれば サイトが 追 加 され サイトプルダウンで 選 択 できるようにな ります アクセス 権 限 をそのフォルダに 設 定 すれば ユーザーによってアクセス 可 能 なサイトを 制 御 す る 事 が 出 来 ます サイトの 追 加 には フォルダの 作 成 の 他 に 設 定 ファイルの 修 正 と Tomcat の 再 起 動 が 必 要 です 2-1 サイトのフォルダの 作 成 1. サイトを 追 加 するには まず 管 理 者 権 限 をもったユーザーで OpenCms へログインして 下 さい 2. 次 に サイトを / に 切 り 替 えて /sites/までディレクトリを 移 動 して 下 さい 6
3. default というフォルダが 作 成 されているかと 思 います これが インストール 直 後 から 登 録 されているデフォルトのサイト(/sites/default/)のフォルダです サイトを 追 加 するには ここにフォルダを 作 成 して 下 さい 7
フォルダの 名 前 を 入 力 します ここでは"test"と 入 力 します これで "/sites/test/" という 名 前 でサイトのプルダウンに 表 示 されるようになります 次 の 画 面 で Title にフォルダのタイトルを 入 力 すると "/sites/test/" という 名 前 ではなく ここで 指 定 した 日 本 語 の 名 前 で 表 示 されるようになります このついでに "/sites/default/" のフォルダの Title も 分 かりやすいサイト 名 をつけておくとい いでしょう 8
4. フォルダを 追 加 したら 直 接 発 行 で 発 行 して 下 さい また ファイルを 作 成 した 後 ロックしたままだと 他 の 人 が 触 れないので ロックを 外 し 忘 れてい ないか 確 認 して 下 さい 9
2-2 opencms-system.xml の 設 定 OpenCms がインストールされているサーバーに 置 かれている opencms-system.xml の 以 下 の 箇 所 を 修 正 して 下 さい 設 定 ファイル:./WEB-INF/config/opencms-system.xml <sites> <workplace-server>http://localhost:8080</workplace-server> <default-uri>/sites/default/</default-uri> <site server="http://localhost:8080" uri="/sites/default/"/> <site server="http://test.zyyx.jp" uri="/sites/test/"/> </sites> <sites> ~ </sites> のところに <site/>でドメインと OpenCms のサイトパスの 関 連 付 けを 設 定 し ます サイトを 追 加 していく 度 に <site/>の 指 定 を 増 やしていく 必 要 があります また この 設 定 変 更 が 完 了 したら Tomcat を 再 起 動 する 必 要 があります ここで 指 定 したドメインは OpenCms を 動 的 配 信 する 場 合 に 意 味 を 持 ちます http://test.zyyx.jp/ で OpenCms のサーバーにアクセス 出 来 るように Apache や DNS で 設 定 されて いれば http://test.zyyx.jp/opencms/opencms/ へのアクセスがあると /sites/test/index.html のコン テンツが 表 示 される 事 になります 一 般 の サ イ ト 訪 問 者 は OpenCms 未 ロ グ イ ン 状 態 で の ア ク セ ス に な る の で Online 側 の /sites/test/index.html が 表 示 される 事 になります 同 様 に http://localhost:8080/opencms/opencms/ で このサーバーへのアクセスがあった 場 合 は /sites/default/index.html のコンテンツが 表 示 されま す 10
完 全 静 的 配 信 で 運 用 し Online でのプレビューも 必 要 ない 場 合 でも ドメインの 指 定 は 必 ず 必 要 です ダミーのドメインでもいいので 指 定 するようにして 下 さい 但 し 別 のサイトに 同 じドメインを 指 定 す ることは 出 来 ません 指 定 した 場 合 OpenCms は 起 動 しません 同 じサイトに 複 数 のドメインを 関 連 付 ける 事 は 可 能 です その 場 合 は 以 下 のように<alias/>を 使 用 して 設 定 してください 設 定 ファイル:./WEB-INF/config/opencms-system.xml <sites> <workplace-server>http://localhost:8080</workplace-server> <default-uri>/sites/default/</default-uri> <site server="http://localhost:8080" uri="/sites/default/"/> <site server="http://test.zyyx.jp" uri="/sites/test/"> <alias server="http://demo.zyyx.jp"/> <alias server="http://sample.zyyx.jp"/> </site> </sites> HTTPS でアクセスするドメインを 指 定 する 場 合 は<secure/>を 使 用 して 以 下 のように 設 定 します 設 定 ファイル:./WEB-INF/config/opencms-system.xml <sites> <workplace-server>http://localhost:8080</workplace-server> <default-uri>/sites/default/</default-uri> <site server="http://localhost:8080" uri="/sites/default/"/> <site server="http://test.zyyx.jp" uri="/sites/test/"> <secure server=" https://test.zyyx.jp "/> </site> </sites> 尚 <secure/>が 指 定 されているサイトは OpenCms 上 で HTTPS でのみ 表 示 可 能 なページを 作 成 指 定 できるようになります ( 右 クリックの"コンテキストメニュー" " 拡 張 " "セキュア/エクス ポート") 11