GCP (Google Cloud Platform) の GCE (Google Compute Engine、AWSのEC2にあたる) に redmine を立ててみようと思い試しました。
環境
- 課金が無料になる f1-micro (CPUは共有1コア、メモリは 0.6GB)
- OS は CentOS (2018年12月現在 7.6)
インストール
とても便利な ansible の playbook が公開されているのでこれを使わせていただきます。
GitHub - farend/redmine-centos-ansible: RedmineをCentOSに自動インストールためのAnsibleプレイブック
使ったのは Latest commit 84a4eb9 on 8 Apr
です。
さて手順に従って処理をしていきます。
epel からインストールされた ansible は 2.7.5 でした。
playbook少しだけ編集
ところで手順通りに実行していくと ansible-playbook 実行中、PostgrSQL のユーザ追加中にエラーで落ちます。sudu と su が混在しているのが良くないのでしょうか。postgres ユーザに su できてないようです。
roles/pg/tasks/main.yml
の become_method: su
を削除し(2箇所あります)、playbook を再実行したところココは通過。
無償環境を諦める
次に引っかかったのは passenger の apache2 用 module をビルドするところです。メモリが足りないということで落ちました。それを言われては仕方がない。
残念ながら無料のプランは諦めました(ページングスペースを増やせばいけるのかも知れないけど試してないです)。
インスタンスをシャットダウンし、GCP のコンソールから f1-micro を g1-small に変更。メモリは1.7GBももらえてしまいます。贅沢。
インスタンスを起動したら再度 ansible の playbook を実行。今度は passenger の apache2 用 module もビルドできて、そのまま最後まで走り抜けました。
一番メモリを食うのはここだったようです。
インスタンスを元にもどす
終わったらまたインスタンスをシャットダウンし、GCP のコンソールで g1-small を f1-micro に戻します。そしてインスタンス始動。
無事 redmine が動き出しました。いいぞいいぞ。