Microsoft Azure の Virtual Machines 上での動作がサポートされている Linux イメージは、Red Hat Enterprise Linux (RHEL) 含め、複数存在します。
- 動作保証済み Linux ディストリビューション | Microsoft Azure
https://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-linux-endorsed-distributions/
ギャラリー (クラシック ポータル) や Marketplace (新ポータル) を用いてデプロイした場合、既定では英語表示となります。
また、接続には SSH 経由でコンソール上からの操作となりますが、色々と検証する上で Azure Virtual Machines 上にデプロイした Linux OS を日本語表示、および RDP 経由で GUI 操作を行う必要が出てくると思います。
本記事では、CentOS ベースの OpenLogic 7.1 を対象に日本語化、RDP 経由でアクセスする手順を備忘録として纏めてみました。
注意しておく点としては、管理者ユーザー (root) は無効となっているため、root の特権レベルで実行するためにはデプロイ時に作成したユーザー上で sudo コマンドを多用する必要があります。
設定手順
- 現在の OS バージョンの確認
- ログインしているユーザーの言語を日本語に設定
- システム ロケールおよびキーマップを日本語に設定
- 以下のコマンドを入力、実行します。
sudo localectl set-locale LANG=ja_JP.utf8 source /etc/locale.conf sudo localectl set-keymap --no-convert jp106 sudo localectl set-x11-keymap --no-convert jp106
- 以下のコマンドを入力、実行し、システム ロケールおよびキーマップ設定を確認します。
localectl status
- タイムゾーンを 日本時間 (JST、”Tokyo”) に設定
- 以下のコマンドを入力、実行します。
sudo timedatectl set-timezone Asia/Tokyo
- 以下のコマンドを入力、実行し、タイムゾーン設定を確認します。
timedatectl
- 最新版のソフトウェアにアップデートする
- 以下のコマンドを入力、実行し、ソフトウェアのアップデートを行います。
sudo yum check-update sudo yum update -y
- 以下のコマンドを入力、実行し、システムを再起動します。
sudo reboot
- システム再起動後、以下のコマンドを入力、実行し、アップデート後の OS バージョンの確認を行います。
cat /etc/redhat-release
※現時点 (2016/02/24) におけるバージョン 7 の最新版は「7.2.1511」であるため、アップデート後は「7.2.1511」と表示されます。 - GUI 関連パッケージのインストール
- 以下のコマンドを入力、実行し、GUI 関連パッケージのインストールを行います。
sudo yum groupinstall -y "Server with GUI"
- 以下のコマンドを入力、実行し、システムを再起動します。
sudo reboot
- xrdp のインストールおよび設定
- 以下のコマンドを入力、実行し、外部レポジトリとして EPEL (エンタープライズ Linux 用の拡張パッケージ) パッケージをダウンロード、インストールします。
mkdir EPEL cd EPEL sudo wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm sudo wget http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm sudo rpm -ivh epel-release-7-5.noarch.rpm sudo rpm -ivh nux-dextop-release-0-5.el7.nux.noarch.rpm
- 以下のコマンドを入力、実行し、xrdp と関連する tigervnc-server をインストールします。
sudo yum install -y xrdp tigervnc-server
- 以下のコマンドを入力、実行し、SELinux の設定を変更します。
sudo chcon --type=bin_t /usr/sbin/xrdp sudo chcon --type=bin_t /usr/sbin/xrdp-sesman
- 以下のコマンドを入力、実行し、SELinux の設定を確認します。
ls -lZd /usr/sbin/xrdp*
- 以下のコマンドを入力、実行し、xrdp (xrdp.service) を実行、および自動起動を有効にします。
sudo systemctl start xrdp.service sudo systemctl enable xrdp.service
- 以下のコマンドを入力、実行し、xrdp (xrdp.service) がサービスとして起動していることを確認します。
systemctl status xrdp.service
- 以下のコマンドを入力、実行し、ファイアウォール (firewalld) を実行、および自動起動を有効にします。
sudo systemctl start firewalld sudo systemctl enable firewalld
- 以下のコマンドを入力、実行し、ファイアウォール (firewalld) がサービスとして起動していることを確認します。
systemctl status firewalld
- 以下のコマンドを入力、実行し、xrdp で使用する待受ポート (3389) を開放、設定を反映します。
sudo firewall-cmd --permanent --zone=public --add-port=3389/tcp sudo firewall-cmd --reload
- 以下のコマンドを入力、実行し、設定状況を確認します。
firewall-cmd --list-all-zones
- Azure 上で xrdp で使用する待受ポート (3389) の開放を実施
- Azure ポータル上から xrdp で使用する待受ポート (3389) の開放を実施します。
※作成した Virtual Machines (Azure Service Management、もしくは Azure Resource Manager) で設定方法は異なるので省略。 - リモート デスクトップ接続経由でログイン
- リモート デスクトップ接続 (mstsc.exe) を起動し、接続します。
- ユーザー名とパスワードを入力、ログインします。
※ここで、リモート デスクトップ接続設定で、[画面の色] が [最高品質 (32ビット)] となっている場合は以下のようにエラーとなり、接続できません。[画面の色] を 24ビット以下にする必要があります。
- 管理者ユーザー (root) は無効となっているため、[キャンセル] をクリックします。
- 管理者ユーザー (root) は無効となっているため、[キャンセル] をクリックします。
- [日本語] を選択、[次へ] をクリックします。
- [日本語 (かな漢字)] を選択、[次へ] をクリックします。
- [スキップ] をクリックします。
- [CentOS Linux を使い始める] をクリックし、初期設定を完了します。
- WALinuxAgent のアップデート
- [アプリケーション] – [端末] を選択、クリックし、端末コンソールを起動します。
- 以下のコマンドを入力、実行し、ソフトウェアのアップデートを行います。
sudo yum check-update sudo yum update -y
- 以下のコマンドを入力、実行し、システムを再起動します。
sudo reboot
おまけ
ログイン時に表示される認証を Administrator (root) から ログインするユーザーに変更したい
ログイン時に表示される認証については、GUI でソフトウェア アップデートを実行する場合などで必要となりますが、root ユーザーは無効となっているため、認証することはできません。
Administrator (root) から ログインするユーザーに変更する場合は、セキュリティが低下する恐れがありますが、以下の手順で wheel グループにログイン ユーザーを追加することで、ログイン時に表示される認証をログイン ユーザーのパスワードで実施することが可能です。
- [アプリケーション] – [端末] を選択、クリックし、端末コンソールを起動します。
- 以下のコマンドを入力、実行し、編集 (wheel グループにログイン ユーザーを追加) します。
sudo vi /etc/group
- ログオフ、再度ログイン後、ログイン ユーザーのパスワードで認証できることを確認します。
- 認証した後、SELinux 通知ブラウザーから /usr/libexec/colord に関する警告が表示されますが、[詳細] ボタンをクリック、一時的な対応方法となりますが、回避することが可能です。
root ユーザーでログインできるようにしたい
root ユーザーでログインできるようにするには、セキュリティが低下する恐れがありますが、以下の手順で root ユーザーを有効化、パスワードを設定することができます。
- [アプリケーション] – [端末] を選択、クリックし、端末コンソールを起動します。
- 以下のコマンドを入力、実行します。
sudo pwunconv sudo pwconv
- 以下のコマンドを入力、実行し、root のパスワードを設定します。
sudo passwd root
参考
- 動作保証済み Linux ディストリビューション | Microsoft Azure
https://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-linux-endorsed-distributions/ - Linux を実行する仮想マシンを Azure クラシック ポータルで作成する | Microsoft Azure
https://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-linux-tutorial-portal-rm/ - Azure での Linux VM へのログオン | Microsoft Azure
https://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-linux-how-to-log-on/ - GitHub から Azure Linux エージェントを更新する | Microsoft Azure
https://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-linux-update-agent/