LoginSignup
6
6

More than 5 years have passed since last update.

VagrantとPuppetでConfluenceのセットアップ

Last updated at Posted at 2014-04-19

はじめに

お仕事関係でConfluenceを触る/カスタマイズする機会が出てきました。

単純にWebからの操作だけでは判らない点が出て来たり、本番をいじったりはできない状況になったため、Vagrantを使って実験環境を作れないか考えた次第です。

やりたいこと / やらないこと

やりたいことは、こんなこと。

  • Confluenceの起動環境を確認したい。
    • 標準で、どんなバイナリ、ソース、設定ファイルが配置されるのか確認したい。
  • 本番はいじれないので、実験環境でプラグインの追加や、動作確認をしてみたい。

やらないのは、こっち。

  • 実運用向けのDBのセットアップ、フロントエンドのWebサーバ(ApacheとかNginx)の設定。
  • 自動起動 (init) の設定。(起動はrootで行います)

あまり手間をかけずにインストールできる方法は?

以前、「DockerでJIRAを上げてみる」というPOSTをした通り、JIRAは試してたのですが、起動と初期セットアップはできても、なぜか立ち上げ直すと上手く行かなかったので、Dockerは止めておくことにしました。
(Dockerで立ち上げた場合は、多分、アプリケーションの自動テストを通し、終わったら消す…といった作業にはには向いていると思うのですが)

Confluenceインストール、ライセンスのアクティベーション、基本設定の実験といったステップで、スナップショットが適宜取れればいいので、素直にVagrantでセットアップすることにしました。

さて、ちょこちょこインストール手順を探したのですが、Dockerfileみたいに手順がまとまったものが無い!
(index.docker.ioには、まだConfluenceは登録されていません)

なるべく大掛かりなものはやりたくないのですが、時間も短縮したいので、やっと見つけたのが、こっちのリポジトリ。

よく見ると、なにやらChefではなくてPuppetでプロビジョニングをするようです。Chefも良くわかってませんが、Puppetはもっとわかりません。
しかも、Vagrant boxは Ubuntu です。(さらにわかりません…)

ですが、そこで躊躇する余裕が無いので、このソースの恩恵にあずかることにしました。
結果的には大変助かりました!

プロビジョニングのソースのカスタマイズ

まず、ソースを見てみると、オリジナルのConfluenceのターゲットが5.1.3になっていました。
さすがにこれは古すぎ。
最新のバージョンにあわせたほうがいいので、5.4.4を取得するように修正しました。

おかげさまで、boxの中から面倒な設定をしなくとも、Confluenceのインストーラーをダウンロードできるようになりました。

修正したソースは、GitHubに上げておきました。試してみたい方は、よかったらどうぞ:)

セットアップの結果をみてみよう!

Confluenceのインストールスクリプトの処理が完了すると、うまく行ったらブラウザから設定をすすめます。
今回のVagantfileの設定だと、192.168.33.11 としてホスト側からアクセスできます。

ConfluenceはTomcat上で稼働しているのですが、ポートは 8090 になりますのでご注意下さい。
うまく設定を進めて、アクティベーションが済むと、こんな画面に。

setup-done.png

あとは、アカウントを登録してみたり、言語を切り替えたり、スタイルを調整してみました。
うまく動いているようです!

dashboard.png

ログはどこにあるのかな?

今回のケースだと、インストールしたOSから見て、/vagrant/ 以下に、puppetで取得したバイナリやConfluenceのHOMEが保持されます。

bash
vagrant@precise32:/vagrant$ cd /vagrant/
vagrant@precise32:/vagrant$ ls -F
atlassian-confluence-5.4.4/  confluence-home/  manifests/  modules/  README.md  Vagrantfile

vagrant@precise32:/vagrant$ cat atlassian-confluence-5.4.4/confluence/WEB-INF/classes/confluence-init.properties
confluence.home=/vagrant/confluence-home

vagrant@precise32:/vagrant$ ls /vagrant/confluence-home/logs/
atlassian-confluence.log

ということで、VirtualBoxを稼働させているホスト側からも、ファイルとしてアクセスできます。
(Vagrantfileを記載しているディレクトリは、通常はゲストOS側の/vagrant/ というディレクトリにマウントされるため)

ホストOS側から、ログをtailして出力を確認することができます。

また、この設定だと、confluence-homeその他のデータがホスト側に書き出されますので、稼働中にこちらのディレクトリは消してしまわないように。

再起動して確認しよう!

セットアップして喜んだものの、再起動するとうまく動かない…というのが結構あったので、念のため確認します。

再起動しても、javaのプロセスは勝手には上がっていませんので、start-confluence.sh を実行します。
こちらも、/vagrant/ の下にあります。

vagrant@precise32:~$ sudo /vagrant/atlassian-confluence-5.4.4/bin/start-confluence.sh 

To run Confluence in the foreground, start the server with start-confluence.sh -fg
executing as current user
If you encounter issues starting up Confluence Standalone, please see the Installation guide at http://confluence.atlassian.com/display/DOC/Confluence+Installation+Guide

Server startup logs are located in /vagrant/atlassian-confluence-5.4.4/logs/catalina.out
Using CATALINA_BASE:   /vagrant/atlassian-confluence-5.4.4
Using CATALINA_HOME:   /vagrant/atlassian-confluence-5.4.4
Using CATALINA_TMPDIR: /vagrant/atlassian-confluence-5.4.4/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /vagrant/atlassian-confluence-5.4.4/bin/bootstrap.jar
Using CATALINA_PID:    /vagrant/atlassian-confluence-5.4.4/work/catalina.pid
Existing PID file found during start.
Tomcat appears to still be running with PID 1571. Start aborted.

TimeZoneを修正しておきましょう

うまく上がったところで、なにやら日付がおかしいかも…とおもったら。
boxのタイムゾーンはJSTになっていないから。

# dpkg-reconfigure tzdata

で修正しておきましょう。

さて、基本はこれでOK。
APIを利用してみたり、プラグインが書けるようになれればいいんですが^^;

おまけ:プロキシで困った場合

なお、プロキシを通さないといけない環境だと、Puppetのプロビジョニングのスクリプトを実行すると、Access Deniedがたくさん出るかもしれません。

つまり、boxで上がったUbuntuが、プロキシを通さないとお外にリソースを取りに行けない状態です。

そういう場合は、vagrantのvagrant-proxyconfプラグインを追加してみて下さい。お勧めです!
こちらは、bounscaleさんの下記の記事を参考にさせていただきました。

6
6
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6