でびあんパケジな redmine の導入纏め

redmine なでびあんパケジはこれに加えて redmine-{mysql, postgres, sqlite3} という依存関係の定義が異なるメタな (?) パケジのいずれかに依存する形になっているのは、以前ソースパケジを読んでみるという微妙な取り組みの中で知ってはいたのですが、

  • それぞれのメタな (?) パケジはクライアントのみに依存
  • Web サーバなパケジに依存していない形

になっているんですね。色々な意味で柔軟な形とも言えますが、ハマりポイントとも言えますね。でびあんならでは、と言えるのかどうか。
なので、という言い方が正しいのかどうかは不明ですが、提供する要件に沿って前提となるパケジの事前導入が必要になってきます。
今回は

  • DB は MySQL
  • DB は localhost で稼動
  • Web サーバは apache2
  • passenger 使う
    • libapache2-mod-passenger というパケジになってました

でびあんで RoR なアプリを apache2 で提供するのであれば

  • libapche2-mod-poassenger 使う
  • /etc/apache2/sites-available/default で /usr/share//public を見せる形な記述を盛り込む

というのが定型的なパターンな模様。

導入

まず、mysql-server と apache2 および libapache2-mod-passenger を導入しておきます。

$ sudo apt-get install -fy mysql-server apache2 libapache2-mod-passenger

次に redmine 関連

$ sudo apt-get install -fy redmine redmine-mysql

これでドキュメントルートとして云々するのであれば /etc/apache2/sites-available/default な記述が

<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /usr/share/redmine/public
        <Directory /usr/share/redmine/public>
                Options -MultiViews
                AllowOverride All
        </Directory>

</VirtualHost>

上記なカンジで redmine にアクセスできる模様。そろそろ apache2 だけじゃなくて nginx なナニについても確認しといた方が良さげ。

動作試験

上記な状態で動作確認してみたのですが

  • よく考えたら SCM なパケジを全然入れてない
  • メイルな notify がアレ

という事が分かり、このあたりは対応しておく事に。SCM についてはとりあえず的に以下。

$ sudo apt-get install -fy postfix git cvs subversion darcs bzr mercurial

また、メイル送信については main.cf が以下なカンジ (行先頭がコメント記号でない行を grep で出力したものです)。

$ grep ^[^#] /etc/postfix/main.cf
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
data_directory = /var/lib/postfix
mydomain = fuga.example.com
myorigin = $mydomain
inet_interfaces = 127.0.0.1
unknown_local_recipient_reject_code = 550
mynetworks = 127.0.0.0/8
 
  
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/lib/postfix
readme_directory = /usr/share/doc/postfix
$

mydomain の記述は適宜、ということにて。これで sendmail コマンドで外部にメイルを送付できるようになりました。
あとは /etc/redmine/default/email.yml を以下なカンジにして

production:
  delivery_method: :smtp
  smtp_settings:
    address: localhost
    port: 25
    domain: fuga.example.com

apache2 を再起動すれば redmine の設定で mail notification な設定を盛り込むことができるようになっているはずです (ただし実際の動作は未確認)。ここでも domain なエントリは適当に書き換えて下さい。

それにしても

ソースパケジを作るぞ、って唸ってた時はでびあんの RoR なパケジって微妙、って思っていたのですが、redmine は普通に動いてて微妙。
色々理解ができた所で再度自分で作ろうとしてみればもう少し分かるようになるのかどうか。

おまけ

実は上記を盛り込んだリソースなテンプレは rvm な 1.9.3 の ruby が導入済みな状態になってて、全部をでびあんパケジで何とかするには rvm 削除しか無い状況に。
以前 /usr/local/rvm を削除して微妙なメに合ったんですが rvm なコマンドで削除が可能だった模様です。自分メモ。

# rvm implode