初心者がAWSでBacklogエンタープライズの環境構築してみました ① ~AWS構築編~ の続きです。AWSの環境構築が終わり、いよいよBacklogのインストール作業を進めていきます。
◆全体の流れ
この記事は後半のサーバー設定からの内容です。
- AWS環境構築
- VPCの構築
- EC2の構築
- RDSの構築
- サーバー設定
- Backlogインストールと初期設定
- メールサーバーの構築
(ほぼ)はじめてのLinux
ローカルファイルをEC2にコピー
まずは、PCにダウンロードしたインストーラーファイルを、EC2に持っていかなければなりません。Google先生に聞いたところ、scpというコマンドを使うのだとか。接続はSSHで行うのでコマンドプロンプトから実行できるんですね、なるほど。
作業フォルダにbacklogというフォルダを作り、コピーしたいパッケージを全て格納しました。
scp -r -i "backlog-ec2.pem" backlog centos@ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com:/home/centos/
SSMコンソールに戻って確認すると、コピーされています!
centosユーザーディレクトリにコピーしましたが、このままだとアクセスしづらいのでSSMユーザーディレクトリに移動させました。
$ sudo mv /home/centos/backlog ~
JDKインストール
backlogディレクトリ内に移動して、さっそくJDKをインストールします。
$ sudo yum install jdk-8u341-linux-x64.rpm
インストールガイドに、Javaフォントをインストールとあるので、こちらもガイドどおりにダウンロード&設置していきます。
$ sudo yum install ipa-pgothic-fonts
$ sudo mkdir -p $JAVA_HOME/jre/lib/fonts/fallback
$ sudo ln -s /usr/share/fonts/ipa-pgothic/ipagp.ttf $JAVA_HOME/jre/lib/fonts/fallback/
追加パッケージインストール
さて、あと一息です。残りのパッケージもサクッとインストールしていきます。yumって便利ですね★
Gitのインストール
$ sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
$ wget https://www.kernel.org/pub/software/scm/git/git-2.19.2.tar.gz
$ tar -zxf git-2.19.2.tar.gz
$ cd git-2.19.2
$ make configure
$ ./configure --prefix=/usr
$ make
$ sudo make install
$ git --version
途中であれやこれや見つからないといわれるので、必要なパッケージを都度yumインストールしていきました。
$ sudo yum install wget
$ sudo yum install gcc
bind-utilsのインストール
$ sudo yum install bind-utils
各種ライブラリのインストール
$ sudo yum install libpng giflib libjpeg perl-version
bzip2 のインストール
$ sudo yum install bzip2
Perl言語用MySQLデータベースドライバーのインストール
$ sudo yum install perl-DBD-MySQL
Backlog本体のインストール
さあ、ようやくこのときがやってきました。満を持しての真打登場。
Backlogをインストールしましょう。
$ sudo rpm -ivh \
backlog-app-1.11.10-01.el7.noarch.rpm \
backlog-www-1.11.10-01.el7.x86_64.rpm \
backlog-git-1.11.6-01.el7.x86_64.rpm \
backlog-api-1.11.10-01.el7.noarch.rpm
ついにBacklog、起動!
$ sudo /opt/backlog/bin/init.sh
いでよ!シェンロン!!
======================================================================
Backlog Professional Configurater
____ _ _
| _ \ | | | |
| |_) | __ _ ___| | _| | ___ __ _
| _ < / _` |/ __| |/ / |/ _ \ / _` |
| |_) | (_| | (__| <| | (_) | (_| |
|____/ \__,_|\___|_|\_\_|\___/ \__, |
__/ |
|___/
[https://backlog.com/ja/]
======================================================================
「たやすいことだ」
「Backlog Professionalの環境設定を開始します。」
- BacklogにアクセスするURL
http://<EC2のパブリックIPv4(ElasticIP)アドレス>:8969 - SMTPサーバーのホスト
localhost(設定スキップ) - データベースの設定
m<MySQL>- サーバーホスト
backlog-mysql.xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com - ポート
3306 (デフォルト) - ユーザー
backlog(デフォルト) - パスワード
Backlog@1(デフォルト)
- サーバーホスト
確認画面で続けるを選択するとDBに接続してテーブル作成が行われます。
その後、JDBCドライバーの選択へ。同じフォルダに mysql-connector-java-5.1.42.jar が格納されていれば1で選択。
これでサーバー側からの環境設定は完了です。Backlogが起動しているのでブラウザからアクセスしてみます。最終的にBacklogが開けるまではいろいろありましたが、何とか開けたら初期設定に進みましょう。
スペース名とスペースURLを入力したら、使用申込み時に発行されたライセンスキーをペーストし、利用規約を確認したら次へ。
管理ユーザー情報を入力し、設定を完了すると管理ユーザーのメールアドレスに初回ログインパスワードが送付されます。
これがまさかの落とし穴でした。現状ではメールサーバーの設定が終わっておらず、メールが受信できません。正確にはCentOSに入っていたPostfixでSMTP設定を行ったのですが、ポート25の非認証メールというものは現代ではセキュリティの問題上、送信側にも受信側にもはじかれてしまうんですね。
ということで、メールが受信できないままログアウトしてしまった私は、翌朝、見たことも聞いたこともないパスワード入力を迫られて詰みました。こうなってしまったらもう、Backlogを再インストールするより他に方法がありません。無念。
この事態を回避するために、初回アクセス時はユーザー設定から管理ユーザーのパスワード変更を行う必要があります。
メールサーバーをどうするか ~ Amazon SESで認証させてみました
パスワードが受信できない問題は解決したとはいえ、メール受信ができなければユーザーの追加もできません。Backlogは認証機能が使えない、受信側のGmail(送信するAWSも?)は非認証メールを受け付けないということは、Backlogの外側でメール認証を行わないといけないのか…
と考えていたところ、タイミングよく弊社が主催するオンラインAWSセミナーが開催され、各事業部のAWSにまつわる事例を聞く機会がありました。そこで事例にあげられていたのがAmazon SESというメール送信サービス。まさにうってつけのものでした。
公式ドキュメントを読みながら設定。まずは Create SMTP Credentials からユーザーを作成。
https://docs.aws.amazon.com/ja_jp/ses/latest/dg/smtp-credentials.html
ユーザー名を設定して作成ボタンを押すと、SMTP認証情報をダウンロードできました。
Postfixのほうも設定します。
https://docs.aws.amazon.com/ja_jp/ses/latest/dg/postfix.html
本番環境では送信元のドメイン設定をすれば自由にメールが送信できるようになるはずですが、今回はテスト環境なので、自分のメールアドレス(送信元&送信先となるGmail)のみSESに検証済みIDとして登録しました。Create Identity でメールアドレスを設定すると、入力したアドレスにメールが届くのでリンクをクリックして認証します。
サンプル課題にコメントを登録してみると…メールが届きました!やった!
おわりに
今回はここまでです。お疲れさまでした。
あらためて全体を振り返ってみて、とても良いAWSのハンズオン演習になりました。新しく覚えたことを箇条書きしていったらあっという間に100を超えそうです。ひと月前までAWSコンソールにおっかなびっくりログインしていたというのに。
気になる作業時間ですが、調査時間を合わせてAWS構築で25時間程度、Backlogインストールからメールの受信に成功するまでに10時間程度かかりました。
40時間と初めて挑戦するには少しボリューミーな内容でしたが、それだけ学べることも多かったので、AWSを実践的に覚えていきたい方は挑戦してみてはいかがでしょうか。
そして覚えたことは、身に着くまで反復あるのみ!忘れないうちに次の課題に挑んでいきたいところです。ということで、次回は他のタスク管理ツールからBacklogへのデータ移行をやってみようかな、と考えていますので、よかったらまた見に来ていただけると嬉しいです。
それでは、最後まで読んでいただき、ありがとうございました。
ピンバック: 初心者がAWSでBacklogエンタープライズの環境構築してみました ① ~AWS構築編~ | Backlog助っ人サービス