ALMiniumを導入したこと

職場でALMiniumを導入しました。
導入までに障害になったことについて(未解決のものが多いですが)。


導入の提案

これまでBitnamiのRedmine仮想イメージを使っていました。それを1年以上使い続けているので、「何で変える必要があるの?」と言われます。私はこれに対して、次のように説明しました。

  • BitnamiはOSがOpenSUSE, Ubntuである。他のマシンはすべてCentOSなので、複数のOSの仕組みを理解しておかねばならず、技術的負債がある。
  • BitnamiにはRedmine+Apache+Subversion+MySQLだけを動かす設定になっている。たとえば、tarがない、zipもない、YaST(OpenSUSEのパッケージマネージャ)もない、gccもない、・・・など。Redmineプラグインを入れたいとき、他のサーバで取得・解凍して持ってきて、インストールしようとすると必要なgemがないため、gemをとってくるのだが、そのために別のgemが必要だったり、最新バージョンだと動かなかったりするので、また別サーバでgemを取得してこなければならなかった、ということがあった。そのため、プラグインのインストールが困難だし、Subversionを最新版にしたいけど、コンパイラがないためビルドできなかったりした。
  • ALMiniumはお勧めのプラグインを積極的に導入してくれている。
  • ALMiniumはプラグインを動作を保証してくれている。これは、動作するgemのバージョンを意識する必要はなくなる、という意味。また、色んな人が利用、不具合修正をしてくれていることも含む。
  • 以上より、ALMiniumにすれば運用コスト(人が悩む時間)を抑えることができる。


すでにMySQLがある環境だとインストールが失敗する

ALMiniumはデフォルトでは、MySQLをインストールして、パスワード無しの状態でデータベースを作ります。なので、あらかじめMySQLをインストールして、パスワードなしの接続を禁止にすると、データベースがつくれません。
これについては真面目に調べてません。
自分の検証環境にお試しで入れようとしてこの問題に当たりましたが、導入先はまっさらなOSでMySQLがないので、大丈夫でした。
が、そのあとパスワード設定をするので、アップデートするときを考えると、調べておかねばなりません。
ひとまず、alminiumユーザ(ALMiniumの管理ユーザ?)は追加しました。


プロジェクト作成時にリポジトリを作成できない

ALMiniumはRedmine SCMプラグインをインストールしてあるため、プロジェクト作成時にプロジェクト識別子でリポジトリを作成されます。
自分の検証環境だとプロジェクト作成画面で、SCMの選択コンボボックスが表示されるのですが、職場では表示されず、ログファイルに作成失敗のエラーログが出力されてました。proxyのせい?(HTTP_PROXYは設定しているのですが・・・)
今回は前環境の移行でSubversionだったので、コマンドラインでダンプファイルをロードさせればよかったのですが、今後のことを考えると、調べておきたいです。


プロジェクト識別子とリポジトリ名が異なるとhttpアクセスできない

これも解決できてません。もともとsshアクセスだったので、sshで代替しました。
例えば、以前の環境で common_utility というリポジトリを作りました。
これをRedmineリポジトリブラウザで参照するためだめのプロジェクトを作りました。プロジェクト識別子に"_"は使えないので、common-utility にしました。
以前の環境ではsshアクセスだったので気にしなかったのですが、SCMプラグインが提供するhttpアクセスの設定は、リポジトリURLを参照するのではなく、プロジェクト識別子でリポジトリを参照していたのです。
それでも何らかの設定があると思って調べていたのですが結局分からず終いです。


Lightboxプラグインが外部アクセスする

Lightboxプラグインというのが入っています。これは、jQueryを利用して、画像ファイルを拡大表示してくれるプラグインです。
私は使ったことないので他はどうか知らないのですが、Redmineプラグインではgoogleにアクセスして参照しているようです。
そのため、Proxyが効いてる職場ではフォーラム画面を表示したときに認証ダイアログが表示されるということがありました。私の職場環境では表示されなかったのですが、他の人では表示されました。
一度認証してしまえば問題ないのですが、わりと厳しい職場なので、そういうよくわからないことが起こるとすごく気にするのです。
このプラグインは今の職場では必要なさそうだったので、削除しました。



セットアップは結構前から準備してて、今日ようやく導入できたから勢いで書いたのですが、書いてみると結構アバウトなの多いですね。今後の課題にします。