Azureの無償枠の中にUbuntu 18.04な仮想サーバを作り、SendGrid経由でメールが発報できるようにし、Redmineを立ち上げてみました。
以下、その手順となります。
尚、SSH鍵認証でログインする場合は、事前に公開鍵を用意しておいて下さい。
Azureアカウント作成とポータルへのログイン
※アカウントをお持ちの場合は、この項はパスして下さい
Arureの入口に行き、適当なメアドでアカウントを作成して下さい。
作成後、そのアカウントでサインインし、Azureポータルにサインインして下さい。
リソースグループ作成
次の手順でリソースグループを作成して下さい。
- メイン画面左ペインの『リソースグループ』をクリック
- 『+追加』をクリック
- サブスクリプション欄で『無料試用版』を選択
- リソースグループ欄に作成するリソースグループ名を入力
- リージョン欄は『(アジア太平洋)東日本』などを選択
- 『確認及び作成』をクリック
仮想ネットワーク作成
次の手順で仮想ネットワークを作成して下さい。
- メイン画面左ペインの『仮想ネットワーク』をクリック
- 『+追加』をクリック
- 名前欄に適当な名前を入力
- アドレス空間欄に、利用するアドレス空間を入力
(例:10.0.0.0/16) - サブスクリプション欄で『無料試用版』を選択
- リソースグループ欄で先程作成したリソースグループ名を選択
- 場所欄は『(アジア太平洋)東日本』などを選択
- サブネットの名前は適当に入力
- サブネットのアドレス範囲は、先程のアドレス空間内のものを入力
(例:10.0.0.0/24)
仮想マシン作成
次の手順で仮想マシンを作成して下さい。
- メイン画面左ペインの『Virtual Machines』をクリック
- 『+追加』をクリック
- サブスクリプション欄で『無料試用版』を選択
- リソースグループ欄で先程作成したリソースグループ名を選択
- 仮想マシン名に作成する仮想マシンの名前を入力
- 地域欄は『(アジア太平洋)東日本』などを選択
- イメージ欄は作成するOSを選択
今回はUbuntu 18.04としました - サイズは作成する仮想マシンのリソースを選択
無償枠で使えるB1sが良いと思います - 認証の種類を選択(パスワードまたはSSH公開キー)
- パスワード認証の場合
- ユーザ名欄に、認証に使用するユーザ名を投入
ユーザ名の右側にチェックが付くことを確認 - パスワード欄およびパスワードの確認欄に、上記ユーザで使用するパスワードを投入
それぞれの欄の右側にチェックマークが付くことを確認
- ユーザ名欄に、認証に使用するユーザ名を投入
- SSH効果キー認証の場合
- ユーザ名は認証に使用するユーザ名を投入
ユーザ名の右側にチェックマークが付くことを確認 - SSH公開キー認証の場合SSH公開キーは別途用意したSSH公開鍵をペースト
SSH公開キー欄の右側にチェックマークが付くことを確認
- ユーザ名は認証に使用するユーザ名を投入
- パスワード認証の場合
- 『次:ディスク』をクリック
- ディスクの種類を選択
HDDで良いと思います - 『次:ネットワーク』をクリック
- 仮想ネットワーク欄で、先程作成した仮想ネットワーク名を選択
- サブネット欄で、先程作成したサブネットを選択
- 『次:管理』をクリック
- 診断ストレージアカウントは表示されている物を使用
表示されていない場合、『新規作成』をクリック、名前欄に名前を入力し、『OK』をクリック - 『確認および作成』をクリック
- エラーがなければ仮想サーバが作成されますので、しばし待ちます
AWSやGCPに比べると、デプロイや削除は待たされる感じです - 作成した仮想マシン名の状態が『実行中』になればok
FireWallの設定
デフォルト状態では外部からの接続が出来ないため、FireWallの設定を行います。
- 作成した仮想マシン名をクリック
- 『設定≫ネットワーク』をクリック
- 『受信ポートの規則を追加する』をクリックし、ルールを追加
自分のグローバルIP(私はCMANさん等で調べています)をソースに、22/tcp,80/tcp,443/tcpあたりを追加すればよいでしょう
仮想サーバの環境設定
以下の手順は、Ubuntu 18.04な仮想サーバにsshで接続し、rootに昇格しての作業しています。
- タイムゾーン設定等
timedatectl set-timezone Asia/Tokyo apt update apt -y upgrade
- IPv6抑制
# sysctlでのipv6抑止 cat <<'__EOF__' | tee -a /etc/sysctl.d/70-disable-ipv6.conf net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 __EOF__ # 反映 sudo sysctl --system # スタートアップスクリプトでipv6抑止 cat <<'__EOF__' | tee -a /etc/rc.local #!/bin/bash # /etc/rc.local # Load kernel variables from /etc/sysctl.d /etc/init.d/procps restart exit 0 __EOF__ # 実行権限を付与 chmod 755 /etc/rc.local
- swap領域作成
# swap領域作成 fallocate -l 2G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile echo "/swapfile none swap sw 0 0" >> /etc/fstab
- 一旦再起動
# 一旦再起動 shutdown -r now
仮想マシンからメールを発信する場合(Phase①)
Postfix設定を行います。
私はいつもこちらのお世話になっています。
Server World Postfix : インストール/設定2018
仮想マシンからメールを発信する場合(Phase②)
SendGridのアカウントが無い場合は、ここで作成します。既にお持ちの場合は、本項の1~11は飛ばして下さい。
- Azureコンソール上部の検索欄で、『sendgrid accounts』を検索します
- 『+追加』をクリック
- Name欄に適当な名前を入力
- Password欄とConfirm Password欄に適当なパスワードを入力
- サブスクリプション欄で『無料試用版』を選択
- リソースグループ欄で先程作成したリソースグループ名を選択
- Pricing tierで『Free』をクリック、『選択』をクリック
- Contact Informationで連絡先を入力し、『OK』をクリック
- 法律条項で『作成』をクリックすると、SendGridのアカウントが作成されます
- 作成されたSendGridの名前をクリック
- SettingペインのConfigurationsをクリック
- Username欄の右側のコピーアイコンをクリック
先程投入したパスワードとともに、/etc/postfix/sasl_passwd に記録、DB化します
# SendGrid用アカウントをpostfix側に指示 cat <<'__EOF__' | tee -a vi /etc/postfix/sasl_passwd [smtp.sendgrid.net]:587 SendGrid画面でコピーしておいたUsername:そのときのパスワード __EOF__ # sasl_passwdのDB化 chmod 600 /etc/postfix/sasl_passwd postmap /etc/postfix/sasl_passwd
仮想マシンからメールを発信する場合(Phase③)
sasl_passwdをpostmapしたあとの作業です。
# PostfixでSendGridを利用する設定 cat <<'__EOF__' | tee -a /etc/postfix/main.cf smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_sasl_tls_security_options = noanonymous smtp_tls_security_level = encrypt header_size_limit = 4096000 relayhost = [smtp.sendgrid.net]:587 __EOF__ sytemctl restart postfix
bitnami Redmineのインストール
- bitnami Redmineのダウンロードページに移動
https://bitnami.com/stack/redmine/installer - Download for Linux 64-bitボタンを右クリックして、ダウンロードリンクを取得
- 仮想サーバの置き場所にダウンロード
4.0.3-3の場合の例
cd ~ wget https://bitnami.com/redirect/to/554708/bitnami-redmine-4.0.3-3-linux-x64-installer.run chmod 744 ./bitnami-redmine-4.0.3-3-linux-x64-installer.run
- インストーラを実行します
./bitnami-redmine-4.0.3-3-linux-x64-installer.run
あとはインストーラの指示通りに進めます
- インストールが完了するまで待ちます
次の表示が出たら、Enterキーを押してRedmineを起動して下さい
—————————————————————————-
セットアップウィザードによる Bitnami Redmine Stack のインストールが完了しました。Redmine アプリケーション起動 [Y/n]:Y
情報: Bitnami Redmine Stack については、ブラウザで
http://127.0.0.1:80 にアクセスしてください。
続けるには [Enter] キーを押してください : - ブラウザで http://Azureから割り振られたグローバルIP/ にアクセスし、Redmineの利用を開始して下さい