ALMinium://正常にインストールができない問題を解決してみた!

以前の記事『ALMinium://Gitが管理できるオープンソースWEBアプリ「ALMinium」をインストールしてみた』で、怪しいエラーをいっぱい吐き出し、Apacheまで起動しなくなるという、決してオフィシャルの言う「簡単にインストールできる」わけでは無い事が多い、Linux関連のアプリケーションの憂鬱。

サーバー管理者にしか分からない苦悩がここにあるのですが、それが楽しめるのが真のサーバー職人なのかも知れません。

まずは、前回のインストール方法のおさらいからしてみましょう。

<br />
# yum install git<br />
もしくは<br />
# apt-get install git</p>
<p># git clone https://github.com/alminium/alminium.git<br />
# cd alminium<br />
# bash ./smelt<br />

※ちなみに作業は、/usr/local/src/ 内で行ってます。

で簡単にインストールできますよーというのが、オフィシャルの言い分。
実際にやってみた結果のログが下記のとおりです。

ちなみに試した環境はCentOS 6.2 64bit版です。
間違い無く要件は満たしております。

とりあえず、怪しいログを追っていってみましょうか。

<br />
Synchronizing submodule url for 'theme/gitmike'<br />
Synchronizing submodule url for 'theme/railsgun'<br />
which: no rake2.0 in (/usr/lib/courier-imap/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin)<br />
Starting mysqld: [ OK ]<br />
★★★怪しい★★★ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)<br />
/usr/local/src/alminium /usr/local/src/alminium<br />
*** execute bundle ***<br />
★★★怪しい★★★./smelt: line 271: bundle: command not found<br />
★★★怪しい★★★./smelt: line 273: bundle: command not found<br />
★★★怪しい★★★./smelt: line 274: bundle: command not found<br />
★★★怪しい★★★./smelt: line 275: bundle: command not found<br />
/usr/local/src/alminium<br />
HEAD is now at 00a8494... Changes version to 0.2.1.t4. fixes #34<br />
Already on 'master'<br />
Your branch is up-to-date with 'origin/master'.<br />
Already on 'master'<br />
Your branch is up-to-date with 'origin/master'.<br />
Already on 'backlogs-support'<br />
Your branch is up-to-date with 'origin/backlogs-support'.<br />
error: pathspec 'master' did not match any file(s) known to git.<br />
Already on 'alm'<br />
Your branch is up-to-date with 'origin/alm'.<br />
Already on 'master'<br />
Your branch is up-to-date with 'origin/master'.<br />
Already on 'master'<br />
Your branch is up-to-date with 'origin/master'.<br />
Already on 'master'<br />
Your branch is up-to-date with 'origin/master'.<br />
Already on 'develop'<br />
Your branch is up-to-date with 'origin/develop'.<br />
Already on 'master'<br />
Your branch is up-to-date with 'origin/master'.<br />
Already on 'master'<br />
Your branch is up-to-date with 'origin/master'.<br />
/usr/local/src/alminium /usr/local/src/alminium<br />
★★★怪しい★★★inst-script/redmine-plugins: line 86: bundle: command not found<br />
★★★怪しい★★★inst-script/redmine-plugins: line 88: bundle: command not found<br />
★★★怪しい★★★inst-script/redmine-plugins: line 89: bundle: command not found<br />
★★★怪しい★★★inst-script/redmine-plugins: line 90: bundle: command not found<br />
★★★怪しい★★★inst-script/redmine-plugins: line 91: bundle: command not found<br />
★★★怪しい★★★inst-script/redmine-plugins: line 92: bundle: command not found<br />
★★★怪しい★★★inst-script/redmine-plugins: line 93: bundle: command not found<br />
★★★怪しい★★★inst-script/redmine-plugins: line 95: bundle: command not found<br />
★★★怪しい★★★cp: cannot create directory `public/plugin_assets/open_flash_chart':<br />
No such file or directory<br />
/usr/local/src/alminium<br />
*** run initialize SQL ***<br />
★★★怪しい★★★ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)<br />
★★★怪しい★★★inst-script/rhel6/post-install: line 11: passenger-config: command not found<br />
Stopping httpd: [ OK ]<br />
★★★怪しい★★★Starting httpd: httpd: Syntax error on line 221 of /etc/httpd/conf/httpd.conf:<br />
Syntax error on line 1 of /etc/httpd/conf.d/redmine.conf:<br />
Cannot load /usr/lib64/ruby/gems/2.1.0/gems/passenger-/buildout/apache2/mod_passenger.so into server:<br />
/usr/lib64/ruby/gems/2.1.0/gems/passenger-/buildout/apache2/mod_passenger.so:<br />
cannot open shared object file: No such file or directory [FAILED]<br />

最初のエラーですが、

<br />
Starting mysqld: [ OK ]<br />
★★★怪しい★★★ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)<br />

これは、熟練のサーバー管理者であれば原因は一目瞭然ですねー。
MySQLサーバーにrootユーザーでログインしようとしたけどパスワードが間違っててログインできませんでしたというエラーです。

まあ、普通に考えたらrootユーザーのパスワードを空にしてあるわけが無いのですが、
ALMiniumはまっさらな状態のOSを想定しているのでしょうか。

とりあえず、rootユーザーのパスワードを削除して空にしましょう。

<br />
# mysql -u root -p<br />
mysql&gt; SET PASSWORD FOR root@localhost=PASSWORD('');<br />
mysql&gt; exit<br />

とかで、消せるはず。
phpMyAdminでもいけるかな。

rootのパスワードを忘れちゃった場合は、

<br />
# /etc/init.d/mysqld stop<br />
# mysqld_safe --skip-grant-tables &amp;<br />
# mysql -u root<br />
mysql&gt; use mysql;<br />
mysql&gt; update user set password=PASSWORD(&quot;新しいパスワード&quot;) where User='root';<br />
mysql&gt; flush privileges;<br />
mysql&gt; quit<br />
# /etc/init.d/mysqld stop<br />
# /etc/init.d/mysqld start<br />

でいけると思う。

次に

<br />
★★★怪しい★★★./smelt: line 271: bundle: command not found<br />
★★★怪しい★★★./smelt: line 273: bundle: command not found<br />
★★★怪しい★★★./smelt: line 274: bundle: command not found<br />
★★★怪しい★★★./smelt: line 275: bundle: command not found<br />
:<br />
★★★怪しい★★★inst-script/rhel6/post-install: line 11: passenger-config: command not found<br />

を見る限り、bundleとpassenger-configってコマンドが無いと言ってらっしゃる。
ALMiniumのインストーラーでその辺も配慮してもいいんじゃないのかなー?

とりあえず、下記でインストール。

<br />
# gem install bundler --no-rdoc --no-ri<br />
# gem install passenger<br />
# passenger-install-apache2-module<br />

あと、これは過去のRedmineをインストールしたときの教訓で、Rubyで動くシステムはrubyやrake、railsなんかのバージョンの組み合わせが合ってないと動いてくれない。
案の定、rakeのバージョンが異なっており、うまく動かなったので、バージョンを指定して再インストールしてみる。

# vi /opt/alminium/Gemfile

で見てみると

gem “rails”, “3.2.19”
gem “rake”, “~> 10.1.1”
gem “jquery-rails”, “~> 2.0.2”
gem “coderay”, “~> 1.1.0”
gem “fastercsv”, “~> 1.5.0”, :platforms => [:mri_18, :mingw_18, :jruby]
gem “builder”, “3.0.0”
gem “mime-types”
gem “awesome_nested_set”, “2.1.6”

となっている。

<br />
# gem update<br />
# gem uninstall rake<br />
# gem install rake --version 10.1.1<br />
# bundle update rake<br />

これで、

<br />
# export USER=root<br />
# ./smelt<br />

でインストールは成功し、Apacheも正常に再起動できるはずです。
まだ、Apacheの起動でこける場合は、/etc/gttpd/conf.d/redmine.conf を見てみてください。

うちの環境だと、AliasとDirectoryディレクティブが、VirtualHostディレクティブの外側に書かれているためエラーになってました。

VirtualHostの内側に全部移動して、Apacheを起動したら起動できました。

また、下記の記述もVirtualHostディレクティブに不足しているため、ブラウザでアクセスしても表示されませんでした。

httpd.conf側に書かれていれば良いんでしょうけど、最近はデフォルトで書かれて無いんですよね。

<br />
&lt;Directory /opt/alminium/public/&gt;<br />
Order allow,deny<br />
Allow from all<br />
&lt;/Directory&gt;<br />

あとは、Redmineの設定ファイルも書き換える必要がありました。
ALMiniumかなりいい加減だなー。

・ALMiniumからのメール送信設定→とりあえずsendmailで

<br />
# vi /opt/alminium/config/configuration.yml<br />
:<br />
default:<br />
  # Outgoing emails configuration (see examples above)<br />
  email_delivery:<br />
     delivery_method: :sendmail<br />

MySQLのrootパスワードは必ず設定しなおしておきましょう。
これで、自社のGitサーバーを使ってソース管理とプロジェクト管理ができるようになりました!

ALMinium-Settings

PAGE TOP