ECSにbitnami redmineをセットアップしてみた
発車直前の電車を見ると急いで乗りたくなるよね。
結果、転倒して新年早々ひざを負傷した山本です。
あれから2週間。怪我の方も回復してきましたので、Alibaba Cloud を使ってみることにしました!
今回は代表的なプロジェクト管理ツールであるRedmineを Alibaba Cloud のECS上にセットアップして実際に使えるようにするところまでを試してみました!
結論、とても簡単に、30分くらいでサイトを立ち上げることができましたので、急場のプロジェクトチーム発足や、情報共有のプラットフォームを用意しなければならない方の参考になれば幸いです!
◆アジェンダ◆
- サーバの新規作成・起動。
- サーバコンソールへのログオン。
- サーバ上へBitnami Redmineスタックをセットアップする。
- ファイアウォール設定の調整。
- Redmineへの接続を確認。
1.サーバの新規作成・起動。
なにはともあれ、サーバを建てましょう。公式ドキュメントを参照しながら Alibaba Cloud のECSプロダクトを利用して、VPCにCentOS 7.6のインスタンス(従量課金)を1台起動します。
インスタンス設定はウィザードで簡単に行えます。さらに設定項目の変更に伴って、ランニングコストの試算がリアルタイムに変動するため、懐事情を確認しながらインスタンスを組むことができそうです。
注意:http通信の許可をonにしておきます。後でSSHクライアントでコンソールに接続するためです。
▼画像はインスタンス作成指示を出す直前の状態です。
インスタンスの作成ボタンをクリックすると数分以内にインスタンスが作成され、自動的に起動します。
サーバに割り当てられたGIP、rootログオンの認証情報を合わせて記録し、コンソールログオンに進みましょう。
2.サーバコンソールへのログオン。
ECSインスタンスのコンソールへログオンします。公式ドキュメントにインスタンスへのログインという手順があります。こちらもSSH経由での接続なのですが、結論、後の工程で不都合(JISキーボードでの入力が不便、日本語セットアップコンソールの文字化けなど)が生じました。私は外部のSSHクライアントを用いて接続しなおし作業を継続しました。
▼SSHクライアントには慣れ親しんだPuTTYを用います。
GIPと認証情報を入力して接続します。
▼root認証情報を用いてログオンできました。
3.サーバ上へBitnami Redmineスタックをセットアップする。
いよいよサーバ上へBitnami Redmineスタックをセットアップしていきます!若干のサーバセットアップも行いますよ。
1.OSアップデートの導入。
CentOSのアップデートを導入します。以下のコマンドを実行しましょう。
# sudo yum update
私のケースだと7件のアップデートが導入されました。
2.Bitnami Redmineに必要なパッケージの導入。
以下のコマンドでパッケージを導入します。
# sudo yum install wget glibc-devel perl perl-Data-Dumper
3.bitnami.comからインストーラパッケージをダウンロードする。
以下のコマンドでBitnamiから公開パッケージをダウンロードします。
# wget https://bitnami.com/redirect/to/143427/bitnami-redmine-3.3.2-2-linux-x64-installer.run
4.インストーラパッケージに実行権限を付与する。
以下のコマンドで設定します。
# chmod +x bitnami-redmine-3.3.2-2-linux-x64-installer.run
5.インストーラパッケージを実行する。
インストーラパッケージを実行します。
# ./bitnami-redmine-3.3.2-2-linux-x64-installer.run
セットアップウィザードに沿ってセットアップを実行します。途中の対話的設定も含め以下のようになりました。
Language Selection
Please select the installation language
...
[3] Japanese - 日本語
...
Please choose an option [1] : 3
----------------------------------------------------------------------------
ようこそ Bitnami Redmine Stack セットアップウィザードへ。
----------------------------------------------------------------------------
インストールするコンポーネントを選択してください。準備ができたら“次へ“をクリックしてください。
Subversion [Y/n] :Y
PhpMyAdmin [Y/n] :Y
Redmine : Y (Cannot be edited)
Git [Y/n] :Y
上記選択部分が正しいことを確認してください。 [Y/n]: Y
----------------------------------------------------------------------------
Installation folder
Bitnami Redmine Stack をインストールするフォルダを選択してください。
フォルダを選択 [/opt/redmine-3.3.2-2]: /opt/bitnami
----------------------------------------------------------------------------
管理者アカウントの作成
Bitnami Redmine Stack の管理者アカウントを作成します。
表示用氏名 [User Name]: admin
Email アドレス [user@example.com]:
ログイン名 [user]: admin
パスワード :
確認のためにパスワードをもう一度入れてください :
----------------------------------------------------------------------------
データベースに保管する際の既定の言語
データベース設定の規定値として使用する言語を選択してください:
...
[14] 日本語
...
オプションを選択してください [14] : 14
Do you want to configure mail support? [y/N]: N
----------------------------------------------------------------------------
お使いのコンピュータに Bitnami Redmine Stack をインストールする準備が整いました。
続けますか? [Y/n]: Y
----------------------------------------------------------------------------
しばらくお待ちください。 Bitnami Redmine Stack をお使いのコンピュータにインストール中です。
インストール中
0% ______________ 50% ______________ 100%
#########################################
----------------------------------------------------------------------------
セットアップウィザードによる Bitnami Redmine Stack のインストールが完了しました。
Redmine アプリケーション起動 [Y/n]: Y
情報: Bitnami Redmine Stack については、ブラウザで
http://127.0.0.1:80 にアクセスしてください。
続けるには [Enter] キーを押してください :
4.ファイアウォール設定の調整。
1.firewalldの状態を確認
以下コマンドで確認します。
# systemctl status firewalld
通常はファイアウォールサービスは開始していません。以下の結果([Active: inactive (dead)])となるでしょう。
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
2.firewalldの起動&有効化
以下のコマンドで実行します。
# systemctl start firewalld
# systemctl enable firewalld
以下コマンドで状態を確認します。すると、
# systemctl status firewalld
起動して([Active: active (running) since~]になって)いました。
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-01-21 17:53:21 CST; 38s ago
Docs: man:firewalld(1)
Main PID: 4995 (firewalld)
CGroup: /system.slice/firewalld.service
└─4995 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
3.httpプロトコルの外部通信設定
以下コマンドでファイアウォールサービスのリストを表示すると、
# sudo firewall-cmd --list-all
servicesにhttpがないのでhttpでの外部通信が制限されていることがわかります。
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
以下コマンドでhttpをサービスに追加し・・・
# firewall-cmd --add-service=http --zone=public --permanent
以下コマンドでfirewalldを再起動して変更を適用します。
# firewall-cmd --reload
ここまで来たら再度以下コマンドでファイアウォールサービスのリストを表示すると、
# sudo firewall-cmd --list-all
servicesにhttpが追加されていました。これで外部とのhttp通信ができるはずです!
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh dhcpv6-client http
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
5.Redmineへの接続を確認。
いよいよRedmineの起動確認です。
ブラウザからECSに割り当てられたGIPに対して80番ポートにhttpリクエストします。
http://[ECSに割り当てられたGIP]:80/
▼Bitnami Redmineの初期ページが表示されました!
Redmine/loginディレクトリに移ります。
http://[ECSに割り当てられたGIP]:80/Redmine/login
▼ログインページが表示され、以降のページが動作していることが確認できました!
まとめ
今回、サーバの起動からセットアップしてRedmineを立ち上げるまで、わずか30分程度でできました。
冒頭で申し上げた、急場の情報共有ツールが必要な場合や、すでにRedmineを運用している場合の、プラグインの動作確認、新規開発等で使えると思います。
皆様も Alibaba Cloud で今日からRedmineを始めてみてはいかがでしょうか?