fc2ブログ

EC2上にRedmineをセットアップする

今日はRedmine 3.4 をAmazon EC2の仮想サーバーにセットアップしてみます.

既に業務でもプライベートでも何度か経験している作業でしたが、間が空くとそのたびに必要なソフトウェア構成が変わるので調べる時間が発生します。

毎回、その都度最新の手順をまとめてくれているサイトを探してその通りに実行することを基本としていました。
今回も検索したところ、以下のサイトが出てきました。参考にさせていただきました。
EC2でRedmineを構築する手順 - Qiita
https://qiita.com/zhao-xy/items/3f52cf563b66d8e7295c

しかし、今回はなるたけモダンに、ということで Docker を使ってみたいと思います。
イメージは、bitnami の エンジニアであるという Sameer Naik さんが Github で公開しているものを使用してみます。
https://github.com/sameersbn/docker-redmine

またホストOSはAmazon linuxとし、Dockerをセットアップするところまでは、Amazonが公開する以下の手順に従って進めてみます。
Docker の基本 - Amazon Elastic Container Service
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/docker-basics.html

イメージは、 AWSが提供するスタンダードなAmazon Linux AMIを使用します。
https://aws.amazon.com/marketplace/pp/B00CIYTQTC?ref=cns_1clkPro

t2.nanoで起動しようとすると「Note: ベンダーは、この製品を使用して最良の結果を得るために cc1.4xlarge インスタンス (またはそれ以上) を使用することを推奨しています。」とでますが、後からでも変更できますので今は気にしません。

インスタンスが起動したら、sshでログインします。ユーザ名はec2-userです.
       __|  __|_  )
_| ( / Amazon Linux AMI
___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2017.09-release-notes/
6 package(s) needed for security, out of 8 available
Run "sudo yum update" to apply all updates.

Dockerをインストールします。
sudo yum update -y
sudo yum install -y docker
sudo service docker start

今後よく使用するので、sudoを付けなくてもdockerコマンドを実行できるようにしておきます。
sudo usermod -a -G docker ec2-user

再ログインして、sudoを付けなくてもdockerコマンドが使えるようになったことを確認します。
docker info

5分程度でdocker環境が作成できました。
続いて、docker-composeをインストールします。
手順は下記に従います。
https://docs.docker.com/compose/install/#install-compose
$ sudo curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$ docker-compose --version
docker-compose version 1.19.0, build 9e633ef

次はいよいよredmineです。
$ docker pull sameersbn/redmine:latest
Status: Downloaded newer image for sameersbn/redmine:latest
$ wget https://raw.githubusercontent.com/sameersbn/docker-redmine/master/docker-compose.yml
2018-03-02 13:19:23 (245 MB/s) - ‘docker-compose.yml’ saved [1351/1351]
$ docker-compose up

しばらく待って、以下のようなメッセージが流れれば成功です。
INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

セキュリティグループで作成したEC2インスタンスの10083ポートをアクセス可能にし、Webブラウザから、10083ポートをリクエストすると、Redmineが表示されます。

今回、docker-composeの処理が完了していることがわからなくて待ってしまいましたが、正味の作業時間は15分程度になったのではないでしょうか。

docker-composeが終了しないのはフォアグラウンド実行になっているからで、次のQ&Aを見て気づきました。
https://github.com/kasperisager/php-dockerized/issues/33
$ docker-compose up -d


スポンサーサイト



コメント

非公開コメント