Confluence Data Center 8.X のインストール (Linux, クラスター構成)
このページでは、インストーラーを利用して Confluence の Data Center 版をクラスター化された構成で Linux 環境にインストールする手順について紹介します。
目次
はじめに
Confluence をインストールする環境は以下を想定しています。
インストールディレクトリ | /opt/atlassian/confluence (Confluence のインストーラーのデフォルト設定を利用) |
---|---|
ローカルホームディレクトリ (Confluence のローカルデータを保存するディレクトリ) | /var/atlassian/application-data/confluence |
共有ホームディレクトリ | /data/confluence/shared-home |
TCP ポート番号 | 8090 (Confluence のデフォルトポートを利用) アトラシアン アプリケーションで使用されるポート |
コンテキストパス | /wiki |
インストールを実行するユーザー | root |
Confluence 稼働ユーザー | confluence (Confluence のインストーラーで自動で作成されるユーザーを利用) |
データベース | 共有ホームディレクトリ と同一のサーバーにインストールされた PostgreSQL を利用 |
Java | AdoptOpenJDK JRE (Confluence のインストーラーに同梱の JDK を利用) |
起動方法 | サービスとして登録し、自動起動する |
ご注意ください
Confluence のバージョンによってサポートされている稼働環境は異なります。
最新の情報は、サポート対象プラットフォーム のページからご確認ください。
構成例
Confluence をクラスター構成にする事により、一つのノードが停止しても直ちに Confluence のサービスが停止するという事態を避けることができ可用性は向上します。反面、システムリソースを多く消費するためサーバーの運用負荷は高くなります。詳細は Confluence Data Center でのクラスタ化 をご参照下さい。
Confluence をクラスター化して構成する場合は、スティッキー HTTP セッション が必要です。この手順書ではロードバランサー (単一) として Apache を利用し、Confluence を 2 ノード構成にした環境でのインストール手順を説明します。
他の構成例については、Data Center の構成例 (Atlassian ドキュメント) をご参照ください。
この手順書では、説明を簡略化するために、サーバーは以下の 4 台で構成する前提で記載しています。
共有データベースと共有ホームディレクトリは、 一つのサーバーに構築されています。
| 名称 | インストールされているシステム・ディレクトリ | IP アドレス |
---|---|---|---|
1 | Confluence ノード1 |
|
|
2 | Confluence ノード2 |
|
|
3 | ロードバランサ |
|
|
4 | データサーバー |
|
|
1. サーバーを用意する
Confluence をインストールするサーバー
Confluence をインストールするサーバーをノード分用意します。必要なスペックについては以下をご参照ください。
Confluence サーバーサイジング2020 (リックソフトブログより)
Confluence Data Center の技術的概要 - インフラストラクチャとハードウェアの要件 (Atlassian ドキュメントより)
各 Confluence ノードの RAM は、最小 10 GB にすることをお勧めします。
ロードバランサーとして利用するサーバー
ロードバランサーを用意します。ロードバランサは「ステッキー HTTP セッション (セッション アフィニティ) 」と 「WebSockets」 をサポートしている必要があります。AWS 上で構築する場合は、アプリケーションのロードバランサ (ALB) を使用する必要があります。
HAProxy、Apache、および Nginx 等がありますが、この手順書では Apache を利用します。
詳細は ロードバランサーの構成オプション (Atlassian ドキュメント) や Atlassian Data Center を使用したトラフィック分布 (Atlassian ドキュメント) をご確認下さい。
データベースと共有ホームディレクトリを構成するデータサーバー
Confluence で利用する共有データベース (今回は PostgreSQL) をインストールするサーバーと、添付ファイル等を格納する共有ホームディレクトリを構築するサーバーを用意します。
今回は、データベースと共有ホームディレクトリは同じサーバーに構築します。
2. 各サーバーに Linux をインストールする
ロードバランサーや Confluence を設定するサーバー、データサーバーにそれぞれ Linux をインストールしてください。本ドキュメントでは Red Hat Enterprise Linux (RHEL) を利用します (CentOS や、Ubuntu などの Debian 系ディストリビューションを利用することもできます)。
3. データベースを用意する
サポート対象プラットフォーム に記載されている、サポートされたデータベースを構築します。本ドキュメントでは PostgreSQL を利用しますので、以下のページの手順を実施してください。
今回はデータサーバーに PostgreSQL をインストールし、Confluence 用の共有データベースを作成します。
4. ノード1の Confluence のインストール・セットアップ を実行する
Confluence Data Center 8.X のインストール (Linux, シングルノード構成) の 4. Confluence インストーラーをダウンロードする 以降と Confluence の日本語化 を実行します。
Confluence のインストール途中で下記の画面が表示されますが、一旦非クラスター (単一ノード) を選択して作業を進める様にして下さい。
5. 共有ディレクトリをセットアップする
クラスタ内のすべてのノードで読み取り/書き込み可能な共有ディレクトリを作成します。今回は、データサーバーに共有ディレクトリを作成し、NFS で他ノードへ共有する場合の手順を紹介します。
5.1. ノード1の Confluence のサービスを停止する
Confluence が起動している場合は、以下のコマンドを実行し Confluence を停止します。
※Red Hat Enterprise Linux 7 や CentOS 7 系の OS をご利用の場合で、Confluence systemd の設定 を実施している場合は以下のコマンドで実行できます。
# systemctl stop confluence
5.2. バックアップ
作業に入る前に、Confluence のインストールディレクトリ (/opt/atlassian/confluence) とローカルホームディレクトリ (/var/atlassian/application-data/confluence) のバックアップを取得する事をお勧めします。
5.3. データサーバーで共有ディレクトリを作成する
データサーバーで、以下のコマンドを実行し、共有ディレクトリを作成します。
# mkdir -p /data/confluence/shared-home
ノード1の Confluence のローカルホームディレクトリにある shared-home、attachments フォルダを、データサーバーの共有ディレクトリ配下へコピーします。
例として、ノード1の Confluence サーバー上で以下のコマンドを実行すると、rsync コマンド利用して共有ホームディレクトリ配下へコピーできます。/shared-home/ や、attachments の 末尾の スラッシュ "/" にご留意下さい。
# rsync -auz -e ssh /var/atlassian/application-data/confluence/shared-home/ 192.168.56.116:/data/confluence/shared-home/
# rsync -auz -e ssh /var/atlassian/application-data/confluence/attachments 192.168.56.116:/data/confluence/shared-home/
rsync 実行後、データサーバーは下記の様になります。
データサーバーにて、共有ディレクトリの権限を設定します。
5.4. データサーバーで NFS を設定する
データサーバーで、nfs-utils と rpc bind パッケージをインストールします。
以下のコマンドを実行し、設定用のファイルを作成します。
共有ディレクトリを読み書き許可する範囲を指定します。以下の例は、192.168.56.1~192.168.56.254 の範囲で許可します。
/etc/exports を編集
NFS と rpc bind を起動します。
以下のコマンドで、OS 起動時に nfs 関連サービスが自動起動するように設定します。
以下のコマンドで Firewall を設定し、設定を反映させます。
5.5. ノード1で NFS を設定・ディレクトリをマウントする
ノード1の Confluence のサーバで、nfs-utils と rpc bind パッケージをインストールします。
NFS と rpc bind を起動します。
以下のコマンドで、OS 起動時に nfs 関連サービスが自動起動するように設定します。
以下のコマンドで Firewall を設定し、設定を反映させます。
ノード1の Confluence のサーバで、以下のコマンドを実行し、共有ディレクトリを作成します。
共有ディレクトリの権限を設定します。
以下のコマンドを実行し、/etc/fstab に参照先のサーバーの共有フォルダ情報を追加します。
以下の行を追加します。以下は参照先のデータサーバーの IP アドレスが「192.168.56.116」、共有ディレクトリのパスが「/data/confluence/shared-home」である例です。
/etc/fstab に追加
内容を反映させるために、以下のコマンドを実行します。
以下のコマンドを実行し、ネットワーク経由で NFS マウントします。
上記を実行後、以下のようなメッセージのみが表示されましたら、マウントは実行できています。エラーの場合はこれ以外に「failed, reason given by server: No such file or directory」などのメッセージが表示されます。
df コマンドを実行し、マウントが完了しているか確認します。
6. ノード1の Confluence をクラスタモードへ変更する
ノード1の Confluence を起動します。
ノード1の Confluence が起動したら、管理者権限の ID でログインし管理画面より、「管理」→「クラスタリング」を選択し、「クラスターモードを有効にする」ボタンを押します。
下記の画面が表示されるので、この状態で Confluence を再起動します。
再起動後 Web ブラウザーで Confluence にアクセスすると下記の画面が表示されますので、必要なパラメータを入力します。下記の例では、表の通りにしています。
クラスター名 | confluence-cluster (こちらは、任意の名前で構いません) |
---|---|
共有ホームディレクトリ | /data/confluence/shared-home (このディレクトリは NFS でマウントしたディレクトリを指定する必要があります) |
ノード検出方法 | マルチキャスト |
ネットワークインタフェースは、他の Confluence ノードと通信するインタフェースを選択してください。
上記の画面で、「クラスターを新規作成」ボタンを押し、しばらくして下記の画面が表示されれば、処理は成功です。
Confluence を起動ボタンを押すと、下記のような画面が表示されます。
7. ロードバランサを設定する
ロードバランサにするサーバーへ Apache をインストールします。
Confluence 分散用 の .conf ファイルを作成します。以下の例では、ファイル名は「httpd-proxy.conf」にしています。
作成した httpd-proxy.conf ファイルに、各ノードの Confluence の URL を含めた以下の情報を記載します。以下の例では、Confluence のノード1が http://192.168.56.113:8090/wiki、ノード2が http://192.168.56.114:8090/wiki です。
/etc/httpd/conf/extra/httpd-proxy.conf を編集
上記の設定を有効にするためと、追加で必要なモジュール /etc/httpd/conf/httpd.conf を編集します。
最後に以下の 2 行を追加します。
Apache を起動します。同時に自動起動設定と、Firewall 設定をします。
ブラウザで http://<サーバマシンのIPアドレス>/manager へアクセスし、Apache httpd の manager 画面を確認します。 ロードバランサのサーバーの IP アドレスが、「192.168.56.115」の場合は、http://192.168.56.115/manager へアクセスしてください。
ここでノード1とノード2の URL が設定できていることを確認します。
参考資料:How to use Apache as a Load Balancer for Confluence Data Center
7.1. Confluence サーバーの Firewall 設定
Load Balancer から Confluence にアクセスするために、ノード1のサーバーで 以下の Firewall 設定をします。また、クラスタリングのための設定も含んでいます。
7.2. ノード1の shared-home を削除する
データサーバーに shared-home の内容をコピーしたら以前のディレクトリは削除します。ノード1の サーバーで下記の作業を実施します。
7.3. Confluence のサーバ基本 URL の修正
これまで、Confluence に直接 Web ブラウザーから直接アクセスしてきましたが、今後はロードバランサー経由になるため URL が変更されます。これに合わせて、Confluence の設定も変更します。
Confluence を停止します。
Confluence の server.xml ファイルを修正します。
<Connector port="8090" というタグを見つけて下記の様に、4 行目の最後の /> を消して、1 行を追加します。
修正前
修正後
修正が終わったら、Confluence を起動します。
今回はロードバランサー経由の URL http://<ロードバランサーマシンのIPアドレス>/wiki でアクセスして下さい。Confluence にログインすると、下記のような警告メッセージが表示されますので、「基本 URL をアップデート」リンクをクリックします。
下記の画面が表示されますので、サーバ基本URLをロードバランサー経由の URL (下記は、http://192.168.56.115/wiki) に変更します。
8. ノード2の作業
8.1. VM をコピーする場合
仮想環境の機能を利用してノード1の VM を複製して、IP アドレスを変更してノード2のサーバーとしてください。
8.2. VM をコピーしない場合
以下の作業はノード1、ノード2 の Confluence が起動している場合は、Confluence サービスを停止してから実施して下さい。
Linux をインストールした後、Confluence Data Center 7.X のインストール (Linux, シングルノード構成) の 4. Confluence インストーラーをダウンロードする から 6. コンテキストパスを指定する までを実施します。
上記 Confluence Data Center 8.X のインストール (Linux, クラスター構成) | 7.3. Confluence のサーバ基本URLの修正 を実施します。
上記 Confluence Data Center 8.X のインストール (Linux, クラスター構成) | 7.1. Confluence サーバーの Firewall 設定 を実施します。
上記 Confluence Data Center 8.X のインストール (Linux, クラスター構成) | 5.5. ノード1でNFSを設定・ディレクトリをマウントする を実施します。
上記 Confluence Data Center 8.X のインストール (Linux, クラスター構成) | 7.2. ノード1の shared home を削除する を実施します。
ノード1の Confluence のファイルを ノード2の Confluence へコピーします。例として、ノード1 の Confluence サーバー上で以下のような rsync コマンドを実行しますと、Confluenceの ローカルホームディレクトリを ノード2の Confluence へコピーできます。
9. ノード2の Confluence を起動/動作確認をする
9.1. Confluence の起動
Confluence のノードは時間をずらして起動する必要があります。まず、ノード1を起動して、Confluence が稼働している事を確認したのちに、ノード2の Confluence を起動します。
2つの Confluence を起動した後、管理画面で「管理」→「クラスタリング」を選択します。下記の様に、ノード1、ノード2が確認できます。
この状態で、ページの閲覧、作成、編集、検索などの Confluence の機能確認を簡単にして下さい。
9.2. ページの作成・検索・閲覧のテスト
2 台が稼働している状態で、ノード1の Confluence を停止します。下記の様にクラスタリング画面の表示がノード2のみになります。
この状態で、ページを作成し添付ファイルも保存します。
ノード1の Confluence を起動してから、ノード2の Confluence を停止します。
ノードの起動中・停止中には下記の様な警告が表示される事があります。また、実運用で障害が起きた時も同様に警告が表示されます。
下記の様にノード1のみが稼働している状態になったら、先ほど作成したページを検索します。
インデックス更新の確認のため、Confluence の画面右上の検索ボックスに先ほど作成したページのタイトルを入れて検索します。検索できれば、問題ありません。ノード2の修正がノード1のインデックスに反映されました。
また、上記で検索したページを閲覧、編集できるか確認します。ページを閲覧、編集できればノード1の作業が、ノード2にも引き継がれた事になります。
9.3. 共同編集のテスト
Confluence が 2 台とも動作している状態で、1 つのページに複数のブラウザーまたは端末からアクセスし編集モードにします。お互いの画面に、相手の編集がリアルタイムに表示される事を確認します。
リックソフト株式会社 は、日本でトップレベルのAtlassian Platinum Solution Partnerです。
大規模ユーザーへの対応実績が認められたEnterpriseの認定をうけ、高度なトレーニング要件をクリアし、小規模から大規模のお客様まで対応可能な実績を示したパートナー企業です。
Copyright © Ricksoft Co., Ltd. プライバシーポリシー お問い合わせ