0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プロジェクト管理ツールredmineをgoogle cloudで組み立てる時のメモ

Posted at

目的と前提

プロジェクト管理ツールのRedmineをGoogle CloudのVMインスタンスを使って組み立てるための自分用のメモです。
次のものはすでに準備しているものとして詳細を省略します。

  • インターネットアクセスが可能なVMインスタンス(ubuntu server)
  • apacheのインストール

主な内容

  1. Redmineのインストール
  2. メールの設定
  3. リマインドメールの設定

Redmineのインストール

インストール解説はここ

インストール手順の中でRubyのビルド、gemパッケージのインストールには、マシンパワーをそれなりに要しする。
今回は、かなり時間がかかり、最後にはパワー不足で動作がkillされてしまったので、お金に物を言わせて、インストール時だけマシンパワーを上げた。
(この時は試しにe2-standardにしてみた。短時間なので、お金はそんなにかからない。)

configuration.ymlにFQDNを記載する場所があるが、用意したサーバにはDNSを設定しているので、そのDNSを記載。

ない場合は、多分これで確認。
FQDNの確認方法

hostname -f

インストール後、Redmineの初期設定のドキュメントはここ

メールの設定

ちょっと面倒なのはこの手順。google cloudは、VMインスタンスにメールサーバを立てられない(正確にはメールに関する通信設定が果てしなく面倒っぽい)ので、Sendgridを使う。
多分、無料枠内で足りる。
メール設定に関するドキュメントはここ

ドキュメント内に「ユーザー名、パスワード、ホスト名を含む、SendGrid SMTP アカウントの認証情報を書き留めておきます。」という記載があるが、サービス使用開始までにこれらの設定に出会えず、不明なまま。
でも設定では使わないので、問題なし。

あと、postfixのmain.cfに追記指示のある項目には、デフォルトで記載されているものがある。デフォルトをコメントアウトしなくても問題ない(後ろ記載が優先)が、ログで警告出るので、コメントアウトした。

メール設定でドキュメントと異なる設定をした部分

  • sasl_passwdマップ作成のところで、.dbファイルを作成する部分は省略した。(エラー解決作業の中で、.dbファイルを作らなくても動くことが分かった)
  • 証明書のハンドシェイクがうまくいかず、解決策として、今回は発信専用なので、main.cfのsmtpdに関する設定を全部コメントアウトした。
  • 次の内容を指示以外にmain.cfに追記。(本当に必要かどうかはわからないが、エラー解決作業の中で追記し、コメントアウトしなかったもの。)
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_use_tls = yes
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3

SendGridの設定
SendGridでは、送信するメールのfromを認証しなければならない。今回は、Domain Authenticationを使用。
メニューのSetting>Sender Authenticationをたどり設定。ネームサーバに登録するレコードの指示に従い設定し、認証する手順。

Redmineのメールのfrom設定
システム管理者権限でログイン後、管理メニューのメールの項目に、差出元アドレス設定欄があるので、SendGridで認証されているアドレスに合うように設定。

メールの送信テスト
Redmineのインストールディレクトリで次のように実行。はRedmineの登録ユーザID。

sudo -u www-data RAILS_ENV=production bundle exec rails runner 'Mailer.test_email(User.find_by(login: "<USER_ID>")).deliver_now'

で、ログを確認して送信できているかどうか確認。

sudo tail -n 30 /var/log/syslog

リマインドメールの設定

期限が間近のチケットに関するリマインダメールが便利なので、設定。

設定方法はここ

crontabの設定に注意
今回の自動実行は、スーパーユーザではなく、Redmineの実行ユーザであるwww-dataで行うべき。
なので、ドキュメントにあるcrontabの設定ではなく

sudo -u www-data crontab -e

とし、

30 6 * * * cd /path/to/redmine && bundle exec rake redmine:send_reminders days=7 RAILS_ENV=production

と記載。

あとはタイムゾーンを確認!
タイムゾーンが違っていて予想外の時間に動いたので、タイムゾーンの設定変更。
現在の設定確認はdatetimedatectlで。何もしていなければ、世界標準時USTのはず。
まずは、タイムゾーンリスト確認。

timedatectl list-timezones

Asia/Tokyoがあるはずなので、タイムゾーン変更。

sudo timedatectl set-timezone Asia/Tokyo

再度確認すると、JSTになっていて、タイムゾーン変更成功。

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?