AmazonLinuxにConfluenceを入れてみました。

アイキャッチ AWS EC2

はじめに

ご機嫌いかがでしょうか。豊崎です。
「とよさき」を入力すると変換候補に「豊崎愛生」がでてきて困っています。

AtlassianのConfluenceをAmaznLinuxに入れてみる機会がありました。
非常に簡単に利用ができましたので、ご紹介したいと思います。

Confluenceとは

Confluenceは企業向けのWikiです。
社内のナレッジを蓄積、管理、整理して、ビジネスに役立てることができるツールです。

詳しくは公式サイトをご覧ください。

準備をしましょう

VPCにグローバルIPを持つEC2(AmazonLinux)と、
そのEC2から疎通ができるRDS(PostgreSQLにしました)を用意しましょう。
今回は証明書も使うのでACMで事前に用意をしておきましょう。

PostgreSQLの対応Versionはこちらを参照

いれてみました

Confluenceのインストール

それでは早速インストールをしていきましょう。
EC2にログインし、Confluenceインストーラをダウンロードします。

wget https://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-6.0.4-x64.bin
#Atlassianからのインストーラーをダウンロードします。versionは読み替えてください。

chmod a+x atlassian-confluence-6.0.4-x64.bin
sudo ./atlassian-confluence-6.0.4-x64.bin 

・
・
・

This will install Confluence 6.0.4 on your computer.
OK [o, Enter], Cancel 

Choose the appropriate installation or upgrade option.
Please choose one of the following:
Express Install (uses default settings) [1], 
Custom Install (recommended for advanced users) [2, Enter], 
Upgrade an existing Confluence installation [3]
2

Where should Confluence 6.0.4 be installed?
[/opt/atlassian/confluence]
#ここではEnterでデフォルトでインストールしました。

Default location for Confluence data
[/var/atlassian/application-data/confluence]
#ここではEnterでデフォルトでインストールしました。

Configure which ports Confluence will use.
Confluence requires two TCP ports that are not being used by any other
applications on this machine. The HTTP port is where you will access
Confluence through your browser. The Control port is used to Startup and
Shutdown Confluence.
Use default ports (HTTP: 8090, Control: 8000) - Recommended [1, Enter], Set custom value for HTTP and Control ports [2]
1

Confluence can be run in the background.
You may choose to run Confluence as a service, which means it will start
automatically whenever the computer restarts.
Install Confluence as Service?
Yes [y, Enter], No [n]
y

Extracting files ...

これでインストーラーの実行が完了しました。

次にブラウザからセットアップを行なっていきます。
http://<EC2のグローバルip>:8090/ にアクセスします。

画面右上から言語:日本語を選択します。
Production Installation(日本語だとプロダクション版のインストール)を選択し次へを押します。
※Trial Installation(日本語だとトライアル版のインストール)を選択するとPostgreSQL on EC2として自動でインストールされるようです。

Set_up_Confluence_-_Confluence

今回アドオンは選択せずに次へ

アドオンの入手_-_Confluence

ライセンスキーのページになります。
今回は評価版ライセンスを取得して構築をしました。
(ライセンスの取得ページは割愛します)

ライセンス_キー_-_Confluence

データベースを選択します。
PostgreSQL用のJDBCドライバがバンドルされているので、
PostgreSQLを選択するとスムーズに構築ができます。

データベースの構成_-_Confluence

DBへの接続方法を選びます。
前述したJDBCドライバを使用して接続します。

データベースの構成_-_Confluence_2

次の画面では、
ドライバークラス名、データベースURL、ユーザ名、パスワードを入力します。
線を引いた箇所をRDSのエンドポイント+接続Portに置き換えます。
ユーザ名、パスワードはRDSのユーザ名、パスワードを入力します。

データベースの構成_-_Confluence_1

そしてセットアップ完了です。

セットアップに成功しました_-_Confluence

ELBを経由した接続

ELBをEC2の前に置いてACMを利用した接続ができるようにしてみましょう。
ELBを配置することで拡張性も高まります。

公式サイトを確認すると、ELBを利用する際の手順が用意してありましたので、手順に沿って設定を行なっていきたいと思います。

ALBの使用を推奨しているようなので、今回はALBを使用します。 AWSマネジメントコンソールからALBを作成していきます。

EC2_Management_Console_7

ALBの名前、スキーム、IPアドレスタイプを指定し、リスナーはhttpsとしましょう。
配置するサブネットを選択し、次に進みます。

EC2_Management_Console

ACMで作成しておいた証明書を選択しましょう。

_EC2_Management_Console_4

セキュリティグループではインターネットからのhttps接続を許可してください。

EC2_Management_Console_8

ターゲットグループの設定を行います。ALBからEC2への通信は8090とします。
(ターゲットを2つ以上指定する場合はALB作成した後に追加します。)

EC2_Management_Console_10

ターゲットの登録では、ターゲットとなるEC2を選択します。

EC2_Management_Console

これでALBができるので、 Route53でエンドポイントに対してエイリアスを使ってAレコードの登録を行っておきます。
今回はwww.xxxxxx.com <=>ALBエンドポイントとしました。
(外部のDNSであればALBエンドポイントに対してCNAMEの設定を行いましょう。)

httpsでの接続の際には、Confluenceの設定ファイルの修正が必要になります。

sudo /opt/atlassian/confluence/bin/stop-confluence.sh

sudo cp /opt/atlassian/confluence/conf/server.xml /opt/atlassian/confluence/conf/server.xml.org
#backupは大事です

sudo vi /opt/atlassian/confluence/conf/server.xml

---
#変更前
<Server port="8000" shutdown="SHUTDOWN" debug="0">
    <Service name="Tomcat-Standalone">
        <Connector port="8090" connectionTimeout="20000" redirectPort="8443"
                maxThreads="48" minSpareThreads="10"
                enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8"
                protocol="org.apache.coyote.http11.Http11NioProtocol" />
・
・
・
#変更後
<Server port="8000" shutdown="SHUTDOWN" debug="0">
    <Service name="Tomcat-Standalone">
        <Connector port="8090" connectionTimeout="20000" redirectPort="8443"
                maxThreads="48" minSpareThreads="10"
                enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8"
                protocol="org.apache.coyote.http11.Http11NioProtocol"
                proxyName="www.XXXXX.com" proxyPort="443" scheme="https" />           
---

sudo /opt/atlassian/confluence/bin/start-confluence.sh
#起動するまでしばらく待つ

httpsでの接続確認

ブラウザからhttpsで接続するとログイン画面が表示されることが確認できました。

ログイン_-_Confluence

さいごに

javaも、JDBCドライバ(PostgreSQLの場合)もインスートラにバンドルされているので、 非常に簡単にインストールが可能した。 ELBとACMを使えば利用者が増えた際の拡張性も確保でき、証明書(DV)も無料で利用することができます。 IPアドレスでの接続制限や、VPNの導入などと併用してセキュリティを確保しつつ、社内のナレッジ蓄積してをビジネスに活用していきましょう。

※参考 インストール手順
https://ja.confluence.atlassian.com/doc/installing-confluence-on-linux-143556824.html

自動起動
https://ja.confluence.atlassian.com/doc/start-confluence-automatically-on-linux-183148.html