Help us understand the problem. What is going on with this article?

Azure上の仮想マシン(CentOS)にHDE Controllerをインストール

More than 3 years have passed since last update.

はじめに

Azureで利用できるIaaSは大別するとWindows系とLinux系のOSが選択できますが、LinuxをWindowsっぽくGUIで色々管理するために、昔からHDE Controlerがあります。
本記事執筆時点ではVersion 11となっており、Azure上のIaaSに対応しているとは書かれていませんが、試しに動かしてみました。

仮想マシンの準備

Azure上の仮想マシンはCentOS 7.3(Openlogic 7.3)をチョイスしました。
シングル構成の1 Coreサーバでも試用レベルであれば十分なので、今回はコスパのよいBasic A1でお試しします。
image

この記事ではAzure仮想マシンの詳しい立ち上げ方については割愛します。

NSGの設定はこのあとインストールするHDE Controllerが管理用WebからTCP/16590のポートを使用するため、こちらのポートは空けておきます。
image

HDE Controllerのインストール

今回は2か月試用版を使います。
HDEのサイトで試用リクエストを送ると、すぐにライセンス情報とisoイメージのダウンロードURLが送られてきます。

ダウンロードしたisoファイル(をなんとかAzure上のLinuxサーバにコピーしてきて)適当なディレクトリにマウントします。

# mount /home/azureuser/hde.iso /mnt/iso

HDE Controllerのインストールマニュアルにも書かれていますが、HDE Controllerのインストール前に必要なrpmパッケージを以下のコマンドで追加インストールします。

# yum install dovecot bind bind-chroot httpd mod_ssl vsftpd apr apr-util libxslt

あとはlc-installコマンドでインストールします。

# cd /mnt/iso/HDE_Controller_11.0
# ./lc-install

image

あとは画面の指示通り先に進めばOKです。
私はドメイン名として「nya-n.net」を実際に所有しているので、それを指定していますが、特になんでもよいと思います。

なんだか懐かしい感じのCUIベースのインストーラが立ち上がります。
OKを押して先に進みます。
image

FQDNは適当に。lcadminのパスワードはあとでWeb管理画面にログインするときに必要になりますので忘れないようにします。
image

Azure上のIaaSで動作しているので、proxyサーバの指定は不要です。
image

最終確認画面でOKを押します。
image

最後に完了画面が出たらインストール完了です。
image

image

ちょっとした修正

本記事執筆時点のお話ですが、通常であればこのあと https://ホスト名:16590/ にアクセスすれば管理画面が現れるのですが、なぜか起動スクリプトの中で証明書ファイルがないと叱られてしまいます。

image

ここは慌てずに手動でサクッと自己証明書を作って先に進みました。
本来であれば購入前サポートに問い合わせするのでしょうが、今回は動作保証されていない環境なので、じぶんで何とかしました。

# cd /usr/local/hde/lcserver/conf/ssl
# openssl req -new -key server.key -sha256 -out server.csr
# openssl x509 -in server.csr -days 365 -req -signkey server.key -sha256 -out server.crt
# /usr/local/hde/bin/lc-server-init start

image

image

HDE Controllerの管理画面アクセス

インターネット越しでも、https://ホスト名:16590/ にアクセスすればHDE Controllerの管理画面にアクセスできます。
自己証明書を使っているためブラウザの警告は出ますが気にせず先に進みます。

使用許諾画面の内容確認後、「同意する」ボタンをクリックします。
image

試用版のプロダクトIDとライセンスIDを入力後、「設定する」ボタンをクリックします。
image

Basic認証画面が出たら、「lcadmin」「インストール時に指定したパスワード」を入力して先に進みます。
初期画面が出たらインストールは完了です。
image

メール設定

今回は簡単な動作確認として、localhost内でメールの送受信を試してみます。

トップ画面から「メールサーバ」→「基本設定」を選択して、メールを受信するドメインを追加します。
今回は私が所有している「nya-n.net」あてのメールを本メールサーバで受信できるように設定します。

テキストフィールドにドメイン名を入力して、「+追加」ボタンを押した後に、画面下部の「設定する」ボタンをクリックします。
image

POP/IMAPサービスであるdovecotはデフォルトで起動OFFになっているので、「サーバステータス」→「サービス稼働状況」からPOP3/IMAP(dovecot)の起動時設定を「ON」に変更して、さらに右側の「起動」ボタンをクリックしてサービス起動を行います。
image

ユーザ追加

メールの受信を行うユーザを追加します。
「アカウント」→「ユーザ追加」をクリックして、「ユーザ名(ログイン名)」「パスワード」「グループ」「追加情報」「ログインシェル」を入力、設定します。
最後に「進む」ボタンをクリックします。
image

メール転送設定画面はそのまま「進む」ボタンをクリックします。
image

メールパスワード設定もそのまま「進む」ボタンをクリックします。
image

ファイル共有設定もそのまま「進む」ボタンをクリックします。
image

最後に「設定する」ボタンをクリックしてユーザ追加が完了です。
image

ユーザ一覧に追加したアカウントが表示されていることを確認します。
image

メールの送受信確認

本来であればWindowsなどのクライアントPCからHDE ControllerをインストールしたCentOSサーバに繋げてグラフィカルなMUA(Mail User Agent)から確認するのですが、今回は動作確認レベルであるため、telnetコマンドで直接SMTPとPOP3のプロトコルで確認したいと思います。
(相当マニアックですが)

メール送信

telnet localhost 25で接続してtestuser@nya-n.netさんにメールを送ります。

[azureuser@MailServerVM01 ~]$ telnet localhost 25
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 MailServerVM01.nya-n.net ESMTP Postfix
helo localhost
250 MailServerVM01.nya-n.net
mail from:test@example.com
250 2.1.0 Ok
rcpt to:testuser@nya-n.net
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
to:testuser@nya-n.net
from:test@example.com
subject:test

This is test mail.
.
250 2.0.0 Ok: queued as E4983412510A
quit
221 2.0.0 Bye
Connection closed by foreign host.
[azureuser@MailServerVM01 ~]$

正常に送信されたようです。

メール受信

今度はtelnet localhost 110に接続してpop3で受信したメールを読みだしてみます。

[azureuser@MailServerVM01 ~]$ telnet localhost 110
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready. <896e.1.5858c5e0.9u3hPPNiJvs3hRbaDtZbQA==@MailServerVM01.nya-n.net>
user testuser
+OK
pass testuser
+OK Logged in.
list
+OK 1 messages:
1 478
.
retr 1
+OK 478 octets
Return-Path: <test@example.com>
X-Original-To: testuser@nya-n.net
Delivered-To: testuser@nya-n.net
Received: from localhost (localhost [IPv6:::1])
        by MailServerVM01.nya-n.net (Postfix) with SMTP id E4983412510A
        for <testuser@nya-n.net>; Tue, 20 Dec 2016 05:45:34 +0000 (UTC)
to:testuser@nya-n.net
from:test@example.com
subject:test
Message-Id: <20161220054601.E4983412510A@MailServerVM01.nya-n.net>
Date: Tue, 20 Dec 2016 05:45:34 +0000 (UTC)

This is test mail.
.
dele 1
+OK Marked to be deleted.
quit
+OK Logging out, messages deleted.
Connection closed by foreign host.

ちゃんと届いていました。

おわりに

Azureはメールの送信サーバとして使う場合は直接外部のMXレコードを参照してダイレクトに配信するのではなく、SendGrid等のメール送信専用のサービスを経由するのがベストプラクティスとなっています。

参考:AzureのMarketplaceからSendGridを利用してみる

今回試用したHDE Controllerも実際のメール配送にはノンカスタマイズのpostfixを使用しているため、認証ありのスマート転送についても、直接main.cfを変更することによって可能みたいです。

基本操作はWebの管理画面で行い、細かい設定は直接コマンドラインから設定と、場合によって使い分けることによって、Linuxサーバの管理が少し楽になるかもしれませんね。

ただし、本記事執筆時点でHDE Controllerはクラウド環境は動作環境に含まれていないようですので、本運用で導入する場合は開発元に要確認だと思います。

yotan
Azureコンサルタント/イクメン/カワイイモノズキ/デジタルモノズキ/バイクノリ/Microsoft MVP for Azure
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした