まだプログラマーですが何か?

プログラマーネタ中心。たまに作成したウェブサービス関連の話も https://twitter.com/dotnsf

タグ:rhel

どこからでもアクセスできるクラウド上に自分のデスクトップ環境があると便利ですよね。

その OS が Windows であれば、(外部からアクセスできるようにするだけなので)環境構築自体はさほど難しくないと思います。ただ Windows の仮想環境は(Windows サーバーのライセンス代が無条件で付いてくるため)安くありません。業務上の選択肢としてはまだしも、個人の環境としてはちと非現実的です。 一方、CentOS で実現できると、多くのクラウドベンダーで無料期間が用意されていたり、安く使えたりするので個人開発者としては嬉しいわけです。一方で、主にサーバー用途向けに用意されているインスタンス上にデスクトップクライアント環境を用意するのはちょっと面倒ではあります。そもそもサーバー用途ならコマンドラインインターフェースで充分なのですが、デスクトップクライアントとなるとウィンドウシステム必須です。日本語環境が用意されているとも限りません。なので、これらからのインストールが必要になります。


というわけで、クラウド上の CentOS サーバーを、日本語デスクトップ環境に改造するまでの手続きを紹介します。具体的には IDCF クラウドの CentOS 6(64bit) を使い、以下のパッケージを追加インストールします(サーバー用途でも使いそうなパッケージはこのリストからは抜いています。必要であれば別途導入してください):
パッケージ名用途
X Window Systemウィンドウシステム
DesktopGNOME デスクトップ環境
Japanese Support日本語環境
Tiger VNC ServerVNC サーバー
LibreOfficeオフィススイート
Eclipse + JDK統合開発環境
Firefoxウェブブラウザ
Alacarteメニューカスタマイズ用ツール


まず最初に、今回作成するデスクトップ環境へは VNC を使って外部からウィンドウシステムにアクセスします。というわけで VNC 用にポートフォワード設定が必要になります。今回は 5901 番ポートで設定するので、各種クラウドのファイアウォールやポートフォワード設定で 5901 番ポートを通すように設定してください(図は IDCF クラウドでのファイアウォール設定画面ですが、使っている環境で同様の設定をしてください):
2015020603


次に日本語デスクトップ環境を構築するためのモジュールを導入します。SSH で root ログインし、以下の手順を実行します:
(リスト内の上3つのグループモジュールをまとめて導入)
# yum groupinstall "X Window System" "Desktop" "Japanese Support"

ここまでで X Window System と GNOME デスクトップ、そして日本語環境が導入されます。されますが、このままでは SSH でのみリモートアクセスできるだけで、X Window の画面を開く術がありません。せっかく X Window まで導入したので VNC を使ってウィンドウシステムを利用できるようにしましょう。このサーバーインスタンス内には VNC サーバーを導入して、5901 番ポートでアクセスできるようセットアップします:
(VNC サーバーを導入)
# yum install tigervnc-server

導入した VNC サーバーを設定します。今回は root 権限で VNC サーバーにアクセスする例を紹介しますが、一般ユーザーでアクセスする場合も同様にしてそのユーザーを指定して行ってください:
(VNC サーバーの設定変更)
# vi /etc/sysconfig/vncservers

(以下の2行のコメントを外して編集(この例では root で接続))
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1024x768 -nolisten tcp"

(VNC サーバーの接続パスワードを設定) # vncpasswd (パスワードを2回入力して設定)

設定後、改めて VNC サーバーを起動します:
(VNC サーバーの起動)
# /etc/init.d/vncserver start

起動に成功すると ~/.vnc/xstartup というファイルが作成されるので、このファイルを編集して GNOME セッションの画面をそのまま VNC で流せるように変更します:
(VNC サーバーの設定変更)
# vi ~/.vnc/xstartup

(#!/bin/sh の直下に以下の一行を追加)
export LANG="ja_JP.UTF-8"

  :
  :

(最後の2行をコメントして、その下に1行追加)
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
gnome-session &

最後に VNC サーバーの自動起動を ON にして、サーバーインスタンス自体を再起動します:
(VNC サーバーの自動起動)
# chkconfig vncserver on

(再起動)
# shutdown -r now

サーバーが再起動した頃を見計らって、今度は VNC クライアント(ここでは UltraVNC プロジェクトの UltraVNC Viewer)を使ってアクセスしてみます。UltraVNC Viewer をインストール&起動して、接続情報に CentOS マシンの IP アドレス:1 を入力します(最後はコロンと1):
2015020604


パスワードを聞かれたら、上記 vncpasswd コマンド実行時に指定したパスワードを入力します:
2015020605


これで X Window System 上の GNOME デスクトップ画面が表示されるはずです。ここからは GUI が使えるようになりました!:
2015020606


この時点で日本語表示はできますが、まだ日本語入力はできないと思います。そこで日本語入力のための設定を行います。メニューから システム - 設定 - 入力メソッド を選択します:
2015020607


「入力メソッド設定ツール」が起動します。「入力メソッドの機能を有効にする」にチェックが入っていて、かつ入力メソッドに「IBus を使用する」が選択されていることを確認した上で「入力メソッドの個人設定」をクリックします:
2015020608


「IBusの設定」ウィンドウが開きます。「インプットメソッド」タブ内に「日本語 - Anthy」が含まれていることを確認して「閉じる」をクリックします:
2015020609


1つ前の画面に戻り、「閉じる」をクリックして設定ツールを終了します:
2015020610


今設定した内容を反映させるため、再度システムを再起動します。メニューの アプリケーション - システムツール - 端末を選んでターミナル画面を開き、再起動コマンドを入力します:
2015020611

(再起動)
# shutdown -r now

再起動した頃を見計らって、再度 UltraVNC Viewer でアクセス&ログインします。そして同様に端末を出した後にキーボードの CTRL+SPACE を押すと、画面上部のキーボード部分が日本語入力マークに切り替わり、同時にローマ字による日本語入力が可能になります。アルファベット入力に戻すには再度 CTRL+SPACE を押します:
2015020612


ここまでで、ほぼ日本語デスクトップ環境が整いました。後は必要そうな GUI アプリケーションを yum でインストールします:
(GUIアプリ(ここでは FireFox と LibreOffice と JDK)を導入)
# yum install firefox libreoffice java-1.7.0-openjdk-devel

実はこの後、統合開発環境の Eclipse を導入します。Eclipse 自体も yum で(yum install eclipse で)導入できるのですが、yum だと最新版でないことに加え、メニューのカスタマイズ方法と合わせて紹介したいので、Eclipse だけは別途最新版をダウンロードして導入します。Eclipse は不要であっても、ウィンドウのメニューに表示されないコマンドを表示させたい場合は以下の手順を参考にしてください。

改めて、この時点で FireFox, LibreOffice, JDK がインストールされて、メニューからも実行できるようになっているはずです:
2015020613
2015020614
2015020615


では改めて Eclipse をインストールします。最新版を導入したいので先ほど導入した FireFox を起動し、http://www.eclipse.org/downloads/ から最新版の Eclipse をダウンロードします:
2015020616


ダウンロードが完了すると(僕の環境では)eclipse-java-luna-SR1a-linux-gtk-x86_64.tar.gz というファイルができているはずです(異なるファイル名の場合は適宜読み替えてください)。これを適当なディレクトリ(以下の例では /opt/ 以下)に展開します:
(/tmp/ 以下にダウンロードモジュールがある場合のコマンド例)
# cd /opt
# tar xzvf /tmp/eclipse-java-luna-SR1a-linux-gtk-x86_64.tar.gz

これで /opt/eclipse/ というフォルダが作られ、その下に Eclipse 環境一式が作られているはずです。Eclipse 本体は /opt/eclipse/eclipse というファイルパスで実行できるようになっています。

ただ、この時点ではファイルを展開しただけなので、ウィンドウのメニューから Eclipse を実行することができません。yum で Eclipse をインストールすると、「プログラミング」メニュー内に Eclipse が作られる(ただし最新版ではない)ので、できれば同様に「プログラミング」メニュー内に Eclipse を追加したいものです。


というわけで、最後にメニューのカスタマイズ方法を紹介します。メニューのカスタマイズには alacarte というツールを使うと便利なので、まずは alacarte を yum でインストールして実行します:
(メニューカスタマイズツールを導入して)
# yum install alacarte

# alacarte

alacarte が起動すると、現在のメニュー内容が表示されます:
2015020617


今回は /opt/eclipse/eclipse を「プログラミング」メニュー内に追加したいので、左のメニューでは「プログラミング」を選択し、「新しいアイテム」ボタンをクリックします:
2015020618


追加したいアプリケーションの情報を入力します。種類はアプリケーション、名前は Eclipse 、そしてコマンドに実行コマンドの絶対ファイルパスを指定して、最後に「OK」ボタンをクリックします:
2015020619


1つ前の画面に戻り、「プログラミング」メニュー内に "Eclipse" が追加されたことを確認して「閉じる」をクリックします。これでメニューのカスタマイズができたはずです:
2015020620


実際にウィンドウのメニューを確認すると「プログラミング」メニュー内に "Eclipse" が追加されていることを確認できます:
 2015020621


実際に "Eclipse" を選択すると、指定された実行ファイルが呼び出されて Eclipse が起動するはずです:
2015020622


ざっとこんな感じ。一般的にはサーバー用途で使うクラウドの CentOS 環境に日本語デスクトップ環境を構築してメニューのカスタマイズまで行う手順を紹介しました。GUI へは VNC を使ってアクセスするので、Android や iPad などのタブレットにキーボードさえ付けておけば、後は各種 VNC クライアントをインストールしていれば、それらのモバイル環境からこのデスクトップ環境を呼び出して使うことだってできちゃいます。最近は Linux のデスクトップアプリケーションも充実してきており(個人的にはゲームだけがまだまだ、だと思ってます)、手軽にタブレットさえ持ち運んでいればそこそこ使えると思っています。

なお Amazon EC2 の場合、MarketPlace から CentOS を選んで導入すれば同様の手順で同じような環境が構築できると思っています。ただ Amazon AMI から提供される Amazon Linux の場合、X Window を導入できるかどうかは未確認です。 また、ここで紹介した手順は CentOS に限らず RHEL(RedHat Enterprise Linux) でも使えます。私自身は Power Linux の RHEL で同様のデスクトップ環境を構築したこともあるので、ある程度の所まではできると思っています。


私個人はここで紹介したアプリに加えて、GIMP とか Sublime Text とか IBM Notes とかといった GUI 前提のクライアントアプリケーションも導入して使ったりしています。ここで紹介しなかったアプリケーションについても、ここで紹介した方法の応用で導入できるのでは、と思っています。






謎だった Power 版 RHEL(RedHat Enterprise Linux) での MongoDB の動かし方が分かりました!

これまでは「CPU のエンディアンの違いにより MongoDB が動かなかった」と思っていたのですが、IBM のダウンロードサイトで Power 版 RHEL 向けビルド済み rpm パッケージの存在を確認しました。これを使います。


まず準備段階として Power 版 RHEL 環境を用意します。・・・といっても普通の人はそんな環境持ってないですよね(苦笑)。 2週間のお試し程度であれば、開発者向けサービスである IBM Power Development Cloud を利用して環境を構築することも可能です。 その場合の手順はこちらのブログエントリを参照ください:


Power 版 RHEL の準備ができたら早速 MongoDB を導入しましょう。といっても特別な作業ではなく、必要な rpm パッケージを IBM からダウンロードしてインストールするだけです。Intel 版 RHEL と異なるのはファイル名のアーキテクチャ部分が i686 とか x86_64 とかではなく、ppc64 になっていることくらいです。あと現在用意されている MongoDB はバージョン 2.4.9(RC0) のようです:
# cd /tmp
# yum install wget boost-devel
# wget ftp://ftp.software.ibm.com/linux/rpms/redhat/6.5/v8-3.14.5.10-2.el6.ppc64.rpm
# wget ftp://ftp.software.ibm.com/linux/rpms/redhat/6.5/libmongodb-2.4.9-1.el6.ppc64.rpm
# wget ftp://ftp.software.ibm.com/linux/rpms/redhat/6.5/mongodb-server-2.4.9-1.el6.ppc64.rpm
# wget ftp://ftp.software.ibm.com/linux/rpms/redhat/6.5/mongodb-2.4.9-1.el6.ppc64.rpm
# rpm -ivh v8-3.14.5.10-2.el6.ppc64.rpm
# rpm -ivh libmongodb-2.4.9-1.el6.ppc64.rpm
# rpm -ivh mongodb-server-2.4.9-1.el6.ppc64.rpm
# rpm -ivh mongodb-2.4.9-1.el6.ppc64.rpm

これで MongoDB のインストールは完了です。念のため、導入先を確認しておきましょう:
# which mongod
/usr/bin/mongod
# which mongo
/usr/bin/mongo

MongoDB の起動はコマンドラインから、以下の内容を実行します:
# mongod --dbpath /var/lib/mongodb

実行するとサーバーコンソールのようにメッセージがずらずらと・・・出てくればサービスの起動成功です。ちなみにサービスの終了は CTRL + C です。
2014121001


Mongo クライアントは何の違いも感じずに使えます:
2014121002


この Power 版 RHEL 向け MongoDB はいつから用意されてたんだろう? ともあれ、これで Power 版の RHEL でも MongoDB が動くことが確認できました。本当に Intel 版との違いがなくなりつつあることを実感します。


そして、これはつまり MongoDB に対応したフレームワーク(cakePHPとか)を Power 版 RHEL で動かすことができるようになったのかな?? とも思っているのですが、実際 cakePHP で使ってみると Intel 版では見たことのないエラーメッセージに遭遇したりして、まだもう少し待った方がいいのかな、とも思ってたりします。要はちゃんと動かして調べましょう、ということで。


最後に、自分が業務で開発に携わっている公開済みサービスがこの Power 版 RHEL 環境でもある程度動いたので記念アップ!
2014121003

 

IBM Notes を Linux で使いたい、、という需要がどれだけあるかわかりませんが、その導入方法は Windows での場合と比べてちとクセがあります。というわけで、その一連の手順を紹介します。念のため繰り返しますが、Linux にインストールするのは IBM Domino サーバーではなく IBM Notes クライアント、の説明です。


なお、以下で紹介する手順で使う Linux はいろんなクラウドからも提供されていて入手しやすい RHEL(RedHat Enterprise Linux)または CentOS (64bit、バージョンは6)とします。IBM 的には RHEL での動作のみサポートしていて、CentOS はサポート外ですので注意してください。また Notes ID ファイルなどは既に手元にあるものとします。

まず、何はともあれ、RHEL 版(正確には RHEL へのインストールを考慮して用意された rpm 版)の IBM Notes 本体を入手する必要があります。購入するなどして既にお持ち/入手可能な方は読み飛ばしてください。まだお持ちで無い方は無料トライアル版が用意されているのでそちらを使いましょう。IBM developerWorks無料トライアルダウンロードから "Download trial" ボタンをクリックして、IBM ID とパスワード(取得していない場合はこちら(PDF)を参照して無料登録してください)を入力して進んでいくと、どの地域/バージョンの IBM Notes をダウンロードするか、が聞かれます。ここでは現時点で提供されている中では最新版であるバージョン 9.0.1 の "Asia Pacific" 地域を選択して先に進みます:
2014102101


※もちろん英語版を希望する場合は English を選択するなどして、これ以降も適宜読み替えてください。

更に先に進んだ先でサーバー(Domino)かクライアント(Notes)か、プラットフォーム、そして言語を指定します。ここでは Notes クライアントでプラットフォームは rpm 、そして言語に Japanese を選択してダウンロードします。インストール先のシステムが既に用意されている場合は、ダウンロード後は Notes ID などと一緒に SFTP などで転送しておきます:
2014102102


ここでは上記の NC_V9.0.1_LnxRPM_I_JAEva.tar をダウンロードしたものとして、このファイルを目的のサーバーの /tmp 以下に転送済みであるものとします。

次にインストール先システムでの事前準備です。RHEL/CentOS をこれから(ゼロから)インストールするのであれば、最初から日本語デスクトップ利用を前提としたオプションでインストールしてください。AWS など、既に OS がインストール済みのインスタンスを使う場合は、おそらくサーバー用途用の最小構成になっていると思われるので、デスクトップ用に足りないライブラリ等を追加します。具体的には SSH やターミナル等のコマンドラインからこんな感じでしょうか:
# yum groupinstall "X Window System" (X Window)
# yum groupinstall "Desktop" (クライアントデスクトップ)
# yum groupinstall "Japanese Support" (せっかくなので日本語サポート機能も)

日本語サポートまで導入した場合は /etc/sysconfig/i18n を編集して、環境変数 LANG の値を日本語 UTF-8 に指定して再起動します:
LANG="ja_JP.UTF-8"

次に IBM Notes 実行時用のユーザーを作成します。IBM Notes のインストールには root 権限が必要ですが、root ユーザーでは実行できません。別の一般ユーザーが作成済みで、そのユーザーを使うのであればそのユーザーを決めておきます。新たに IBM Notes 実行用のユーザーを作成する必要がある場合は、以下のコマンドで作成します(この例では notesuser というユーザーを新規に作成しています):
# adduser notesuser
# passwd notesuser
  :


また、IBM Notes のインストール作業からはデスクトップ環境が必要になります。必要なライブラリは上記で導入できていますが、SSH などのコマンドラインだけではできない作業が含まれています。実機にアクセスして GNOME のデスクトップを開ける場合はいいのですが、SSH などのリモートコンソールでしか接続出来ない場合は VNC 環境も用意しましょう。RHEL/CentOS への VNC の導入方法についてはこちらを参照ください:
CentOS に VNC サーバーを導入する

これも実機に直接触れる環境があればいいのですが、クラウドなどで VNC 環境を構築する場合の注意点として、上記にもあるように root ユーザーでは IBM Notes を実行できません。一般ユーザー権限で IBM Notes を実行する必要があるため、VNC の接続時にも root 以外の(IBM Notes 用に用意した)一般ユーザーの権限で VNC 接続するよう設定する必要があります。


上記ページの最後の部分までできると、Windows などのリモート環境から今回 IBM Notes をインストールする目的のマシンの GNOME デスクトップが開けるようになっていることになります:



さて、ここからが IBM Notes のインストール作業です。ここからは SSH などのテキストコンソールではなく、実機のモニターや VNC 接続などを使って X Window ベースのデスクトップ環境を開いた上での root 権限で行う必要があります。

まずは IBM developerWorks 等からダウンロードしたインストールモジュールファイルを tar 一時ディレクトリに展開します:
# mkdir /tmp/n9
# cd /tmp/n9
# tar xvf /tmp/NC_V9.0.1_LnxRPM_I_JAEva.tar

展開後のファイルの中に notes.ja.sh(ja 部分は言語によって変わります)というインストール用シェルスクリプトがあるので、これを実行してインストールします。このシェルスクリプトを実行することで必要な rpm を順次導入してくれます:
# ./notes.ja.sh

が、このまま普通に実行すると依存性に関するエラーが大量にでるはずです(実際の出力内容は環境によって異なります): 
エラー: 依存性の欠如:
 gdb は ibm_notes_9.0.1-20131022.1138.i586 に必要とされています
 tcsh は ibm_notes_9.0.1-20131022.1138.i586 に必要とされています
 libart_lgpl_2.so.2 は ibm_notes_9.0.1-20131022.1138.i586 に必要とされています
 libasound.so.2 は ibm_notes_9.0.1-20131022.1138.i586 に必要とされています
 libatk-1.0.so.0 は ibm_notes_9.0.1-20131022.1138.i586 に必要とされています
 libbonobo-2.so.0 は ibm_notes_9.0.1-20131022.1138.i586 に必要とされています
 libbonobo-activation.so.4 は ibm_notes_9.0.1-20131022.1138.i586 に必要とされています
 libnonoboui-2.so.0 は ibm_notes_9.0.1-20131022.1138.i586 に必要とされています
 libcript.so.1 は ibm_notes_9.0.1-20131022.1138.i586 に必要とされています
  :
  :

ここでXXX は ibm_notes_9.0.1-****** に必要とされています」と表示される XXX の部分は、IBM Notes の動作およびインストール時に必要なモジュールであるにも関わらず、まだ同システムに導入されていないもの、いわば「足りないものリスト」です。この内容は同環境に今何がインストールされているか/されていないか によっても変わるので、人によって少なかったり多かったりします。いずれにせよ、ここで表示されるライブラリの一覧を導入しきらない限り IBM Notes はインストールできません。

上記例であれば以下の様な感じで、足りないものを順次、気長に yum でインストールしていきます:
# yum install gdb
# yum install tcsh
# yum install libart_lgpl_2.so.2
# yum install libasound.so.2
#  :

なお、あるモジュールをインストールすることで一緒に他のモジュールが導入されることも珍しくありません(インストール済みだった場合には yum コマンドの結果、"already installed" と表示されます)。エラーとして表示される全てのモジュール回数分だけ繰り返す必要はないと思います。

そして、全ての前提ライブラリの導入が終わったら、再度 IBM Notes のインストールコマンドを実行します:
# ./notes.ja.sh

前提ライブラリの導入漏れがなければインストーラが実行されていきます:
2014102103


Step1 から Step3 までが無事に終わると、インストールは完了です。ちなみにデフォルト設定ではプログラムは /opt/ibm/notes 以下にインストールされています:
2014102104

インストールが完了したので、とうとうセットアップです。ここからは root でない、一般ユーザーの GNOME(X Window) デスクトップ環境で作業することになる点を再度留意してください。

まずメニューから アプリケーション > オフィス(!?) > IBM Notes ができているはずなのでこれを選択します:
2014102105

スプラッシュスクリーンが表示されて、セットアップが開始されます:
2014102106

このようなウィンドウが表われて、使用条件が表示されます。内容を確認して、同意する場合は 1 続いて Enter を押します:
2014102107

Windows/Mac OS X 環境ではお馴染みのセットアップが開始されます:
2014102108

これ以降は基本的に Windows や Mac OS X での作業と変わりありません。Domino サーバーを指定して、ユーザーを指定して、Notes ID ファイルを指定して、パスワードを入力して、・・・という順にセットアップを行っていくだけです。


そして、最終的にセットアップが完了すればノーツクライアントが RHEL/CentOS 上で起動します。次回起動時はメニューから同じ項目を選択すればセットアップを飛ばして起動できます:
2014102109


こうなると今度は、現在 WIndows でしか使えない Domino Designer クライアントや Domino Administrator クライアントも欲しくなる。後者は Web でできないこともないけど、前者は Windows 必須なので。

それにしても IBM Notes って「オフィス」に分類されてるんだ、ふーん。。。

LibreOffice をインストールすると IBM Notes と Office スイートが同じメニューカテゴリに入るのがなんか違和感あるんだよな。。
 2014102110

前回からの続きです。

 IBM Power Development Platform で Power 版 RedHat Enterprise Linux サーバーのリソース予約が完了し、サーバーが Active になりました。その後の接続方法について紹介します。
2014030502


 このサーバーに接続するには VPN を使います。その詳しい内容は予約確認ページの真ん中辺りにある "Download Connection User Guide" ボタンをクリックしてダウンロードできる PDF に(英語で)記載されています:
2014030104

以下、その内容を簡単にかいつまんで日本語で紹介します。まずこのボタンの上部に書かれている "VPN appliance IP address", "User ID", "Initial / last reset VPN password" の3つの内容をメモしておきます。これが VPN 接続時に必要な入力項目になります。
2014030601


次に VPN 接続をするクライアント PC からブラウザを起動して、https://vlpvpn.centers.ihost.com/ を参照します。僕の場合は CentOS のマシンから行っているため CentOS でのスクリーンショットを紹介しますが、Windows や Mac からも同様の内容になると思います。

ログインフォームが表示されるので、先程メモした VPN 用 User ID とパスワードを入力します:
2014030602


"Welcome" メッセージが表示されたらログインは成功です。Continue ボタンで先に進みます:
2014030603

この後、ウィザード形式で接続する手続きが始まります。OS の種類が自動認識されていると思いますので、リンク(以下の例であれば "Linux_x86_64" と書かれた箇所)をクリックして処理を進めていきます:
2014030604

おそらくですが、ここから先は OS ごとに手続きが異なるはずです。種類によってはこのまま自動認識が成功して、ウィザード処理を進めていくだけでこのまま VPN までが完了することもあると思います。以下は僕の試した CentOS 環境での場合の説明です、参考程度に参照ください。

リンクをクリックすると、VPN クライアントをセットアップするためのスクリプトのダウンロードが始ります:
2014030604


ダウンロードが完了したら、そのファイルをシェルから実行してインストールします:
# sh vpnsetup.sh

インストールが完了したら、アプリケーションメニューから VPN クライアントを起動します:
2014030605


VPN クライアントが起動します。まず最初の1回目に必要な設定があるので、設定項目を開きます:
2014030606


デフォルト状態では VPN クライアントのセキュリティが強めに設定されています。このままだとこの環境での VPN サーバーに接続できないため、"Block connections to untrusted servers" についているチェックを外します。その上で Close ボタンでこの画面をクローズします:
2014030607


1つ前の画面に戻ります。改めて最初にメモした VPN サーバーの IP アドレス(おそらく 32.97.184.40 で固定)を入力して Connect ボタンをクリックします:
2014030608


先ほどチェックを外した設定に関する確認ダイアログが表示されます(チェックを外さないとこの画面も出ないはずです)。Untrusted なサーバーに対する接続を行うか? という確認です。 今回だけは接続するのであれば "Connect Anyway" を(次回も確認ダイアログがでます)、このサーバーを信頼するのであれば "Always Connect" を(次回からは確認ダイアログがでません)、このどちらかをクリックして接続します。"Keep Me Safe" を選択すると接続しません:
2014030609


ユーザー名とパスワードを聞かれるので、これも上でメモした VPN 用の User ID と Password を入力し、最後に Connect ボタンをクリックします:
2014030610


確認画面が表示されたら、Accept をクリックします。環境や設定によってはこの後に再度 Untrusted サーバーへの接続に関するダイアログが表示されるので "Connect Anyway" か "Always Connect" を選択します:
2014030611


VPN サーバーに正しく接続できると、画面内に VPN が接続できているようなマークが表示されます(以下は CentOS での例):
2014030612



これで VPN 環境が整って、IBM の仮想プライベートネットワークに接続できました。では稼働中の Power 版 RedHat Linux Enterprise サーバーへ接続してみます。

改めて PDP の Virtual Server Access 環境画面を参照して、予約したサーバー環境の IP アドレス、ユーザー名、パスワード、root パスワードを確認してメモしておきます(※上記で説明した VPN 用の ID & パスワードとは異なります。ID だけは同じかもしれません)。
2014030613


確認した IP アドレスに(指定されている)ユーザー名とパスワードで SSH で接続します。Windows であれば PuTTY などの SSH クライアントから接続します。Mac や Linux であれば以下のコマンドとパスワードで:
# ssh u00NNNNN(UserID)@172.29.XXX.XXX(IPアドレス)

ログインできると画面に IBM ロゴが表示されるようです。とうとう Power サーバー環境にログインできました!:
2014030614



で、実際にこのサーバーを使うために色々なセットアップが必要になりますが、このままでは何もできないので、まずは root になりましょう。su コマンドを実行して、メモしておいた root パスワードを指定します:
[u00NNNNN@172-29-XXX-XXX ~]$ su -
パスワード: (rootパスワードを入力)
[root@172-29-XXX-XXX ~]#

ここからはもうご自由に。でも一応最低限のセットアップの紹介をしておきます。

何はともあれ root パスワードを変更します:
[root@172-29-XXX-XXX ~]# passwd
Changing password for user root.
New password:(新しいパスワードを入力)
Retype new password:(同じパスワードを再入力)
passwd: all authentication tokens updated successfully.
本当に Power サーバーかどうか(笑)を確認してみました。本物だ、仮想CPU×4構成:
[root@172-29-XXX-XXX ~]# cat /proc/cpuinfo
processor      : 0
cpu            : POWER7 (architected), altivec supported
clock          : 3864.000000MHz
revision       : 2.1 (pvr 003f 0201)

processor      : 1
  :
  :

timebase       : 512000000
platform       : pSeries
model          : IBM,9179-MHB
machine        : CHRP IBM,9179-MHB

ちなみにセットアップは普通に yum が使えます。MySQL とか PHP とか Apache HTTPD とかについては、x86 版と違いを感じないほど普通に導入できます。

加えて、IBM 製のミドルウェアに関しては、DB2 や WAS(WebSphere Application Server), C/C++ コンパイラなど、いくつかのものは最初から /stage/middleware 以下にインストールメディアがマウントされて使えるようになっています。検証などで必要であれば、ここからインストールして使えるようです:
[root@172-29-XXX-XXX ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda4              29G  3.0G   24G  11% /
tmpfs                1003M     0 1003M   0% /dev/shm
/dev/sda2             463M   46M  394M  11% /boot
nfs.dal-ebis.ihost.com:/var/nfs/LINUX
                       25G   19G  5.1G  79% /stage/middleware

[root@172-29-XXX-XXX ~]# ls /stage/middleware
DB2   IDS       ParallelEnvironment  Rational  TDS  XL_C_C++
ESSL  netbeans  PESSL                SAAS      WAS  XL_Fortran

なお最初にセットアップされている Power 版 RHEL ですが、どうやらフルセットに近いものが用意されているようです。X Window(GNOME) も、日本語環境も、VNC サーバーまでも最初から含まれているようです。ただ VNC サーバーはインストールまではされていますが起動はしていません。最後にその設定および起動方法だけ紹介しておきます(ま、これも x86 版と比べて特に違いはないですけど・・)。

まず、これは必須ではありませんが、せっかく X Window 環境を使うので日本語設定にしておきましょう。/etc/sysconfig/i18n をエディタで開いて、1行目を
[root@172-29-XXX-XXX ~]LANG="ja_JP.UTF-8"

と変更しておきます。

次に /etc/sysconfig/vncservers を編集して、root ユーザーで 5901 番ポートにアクセスするような設定にしておきます:
  :
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1024x768 -nolisten tcp"
  :

また VNC 接続用のパスワードを設定しておきます:
# vncpasswd
Password:(入力内容は画面に表示されません)
Verify: (同じパスワードを入力)

この段階で一度 VNC サーバーを起動して、設定ファイルのひな型(~/.vnc/xstartup)を作っておきます:
# /etc/init.d/vncserver start

直前のコマンドで xstartup が作成されているはずなので、このファイルを編集します。環境変数 LANG を設定して、GNOME のセッションをそのまま VNC 環境でも使えるようにします:

# vi ~/.vnc/xstartup
#!/bin/sh

export LANG="ja_JP.UTF-8"(この一行を最初に挿入)
  :
  :
(最後の部分を編集)
# xterm -geometory 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & (コメントアウト)
# twm & (コメントアウト)
gnome-session & (この一行を追加)

改めて新しい設定で VNC サーバーを再起動し、またシステム起動と同時に実行されるようにしておきます:

# /etc/init.d/vncserver restart
# chkconfig vncserver on

これで VNC サーバーの準備と起動ができました。 実際に X Window(GNOME) 環境にアクセスしてみます。VPN 接続をしたクライアントの環境に戻り、VNC Viewer などの VNC クライアントを実行します。アクセス先には Linux サーバーの IP アドレスと、最後に 5901 番ポートで接続するための :1 を付けてアクセスします:
2014030615


パスワードを聞かれたら VNC 用に設定したパスワードを入力します:
2014030616


Power 版 RHEL の GNOME 環境にアクセスできました! 普段 CentOS を使っていると RHEL のロゴに少し緊張します(笑)。 といっても、x86 版と比べてほとんど違いはなさそうですけどね・・・
2014030617

実際試してみると分かりますが、普通に日本語も使えます。FireFox まで導入済みなので、すぐにウェブ利用も可能になっています。

この環境が2週間無料で使えるのはいいですね。加えて Power 版 RHEL の出来がいいというか、ほとんど x86 版との違いを感じずに使えるのでストレスもほとんどありません。 仮想環境とはいえ Power CPU × 4 環境のマシンを使えるので、ビットコインの発掘とか x86 用に作ったウェブアプリケーションの Power 環境での動作検証とか、いろいろ使えそうです。


最後にこの環境の終了手順を紹介します。この環境は放っておいても2週間後には使えなくなってしまうのですが、その前にある時点の環境をスナップショットとして保存しておくと、次回の予約時に(Standard Image からではなく)そのスナップショットのイメージから再作成してもらう、ということもできるようです。そのスナップショットの取得方法を紹介します。

PDP の予約画面に戻ります。ここで Virtual Server Access を展開し、スナップショットを取得したいサーバーの予約番号部分を右クリックし、"Save Image" を選択します:
2014030618


すると以下のような画面が出てくるので、"Save image now"(今の状態で保存する)か、"Save image when reservation ends"(利用期間終了時に保存する)かを選びます。またその保存イメージの名前と、説明を記入し、最後に "Save image" ボタンをクリック、です:
2014030619

この方法で取得したイメージは、次回リソース予約時に "Standard image" ではなく "Saved Image" から作成するよう指定することで再利用が可能になっています。この方法で事実上2週間以上必要な検証作業についても(一時的な切断と、IPアドレス等の変更はありますが)作業を継続して行うことができるようです。


IBM PartnerWorld への企業契約が前提になるとはいえ、この環境が無料で使えるのって、かなりお得な気がするなー。

僕自身は AIX や IBM i(AS/400) にはあまり興味ないんですが、最初にダウンロードした PDF のガイドにはこれらの環境での VPN の利用方法なども書かれています。興味あるかたは是非挑戦してみてください。



 

RHEL(RedHat Enterprise Linux) や CentOS を使っている人は少なくないと思いますが、ほとんどの場合が x86(Intel) 版だと思います。ただ RHEL は Power アーキテクチャにも移植されていて、何も考えないでログインして使っていると Power 版であることに気づかないほど普通に使えます。また PHP や Java のアプリケーションであれば、特殊なミドルウェアを使っていない限り、Intel 版から Power 版へそのまま移植できることも珍しくありません。 ただ Power チップの搭載されたゲーム機はともかく(苦笑)、Power 版の RHEL なんて普通は使う機会がないですよね・・・

と思っていましたが、最近 Power チップを開発している IBM がビジネスパートナー向けのサービスとしてクラウド上の Power アーキテクチャシステムを無料で提供すると発表がありました。RHEL はもちろん、AIX や IBM i(AS/400) など Power アーキテクチャシステムが VPN 経由で利用でき、更にはこの環境内だけでの利用が条件になりますが、IBM のソフトウェアをダウンロードして同環境に導入しての動作テストなどを行うことも可能です。しかも、ここまで全て無料!太っ腹!! IBM のビジネスパートナー契約が必要なので全ての人が無条件に利用できるわけではないのですが、この契約自体も無料なので、一通りの手続きを踏むことで条件は満たされるはずです(既にこの条件を満たしている企業の社員であれば個人 ID を登録するだけです。それも所有しているのであれば今すぐに利用できます)。また一回の利用は最長2週間ですが、作業イメージをバックアップして次回利用時にその保存イメージを指定して再構築することができるので、同じ環境で作業の続きを行うことも可能です。


というわけで、このクラウドサービスに利用申請をして、用意されたインスタンスに接続して利用するまでの手順を2回に分けて紹介しようと思います。まず今回は利用申請をしてサーバーをアクティブな状態にするまでを紹介します。

まずは IBM ビジネスパートナー契約と、その契約に紐付いた個人のログイン ID が必要です。このビジネスパートナー契約は IBM PartnerWorld と呼ばれていて、まず自分の企業がこの IBM PartnerWorld に登録されている(されていなければする)必要があります。そしてその契約に紐付いた個人 ID(IBM IDといいます)を登録する必要があります。この部分の手続きに関しては IBM のガイドを参照ください:
http://www-06.ibm.com/partnerworld/jp/weblook/ibm_registration.html

注意点が1つあります。IBM ID は個人で(個人のメールアドレスで)作成することも可能ですが、今回紹介する Power アーキテクチャのクラウド環境を予約するには企業契約に紐付いた ID である必要がある、という点に注意が必要です。企業登録そのものから行う場合はその確認に数日かかるようです。

IBM PartnerWorld 契約と IBM ID の用意ができたら(或いは既に取得済みの方は)クラウド利用を申し込みましょう。まずはこのクラウドサービスである PDP(Power Development Platform) のポータルページを参照します:
http://www.ibm.com/partnerworld/pdp

2014030101


このページに一通りの情報が集まっているので、ハードウェアスペックなどの各種情報はこちらから参照ください、英語ですが。


このページの下の方に "Take action and get started" というセクションがあり、その中に "Programs" と書かれたリンクがあります。これが PDP 申し込みサイトへのリンクです。Programs をクリックして申し込みサイトへ移動します:
2014030102



最初にログイン画面が表示されます。ここで上記の IBM PartnerWorld 契約に紐付いた IBM ID とパスワードでログインします。
2014030103


ログイン後に「企業と紐付いていません」といった内容のメッセージが表示される場合は、その IBM ID は IBM PartnerWorld に紐付いたものではないため、そのままでは PDP は利用できません。上記に戻って新規に企業契約をするか、既存の企業契約に紐付ける(企業管理者に登録してもらう)必要があります。


企業契約のある ID でログインすると、以下の様な PDP の Programs 画面になります。この画面から新規の利用予約や、予約状況、VPN による接続情報、予約して稼働中のシステム情報の確認などができます。また後ほど使いますが VPN による接続方法の PDF ガイドもこの画面内の "Download Connection User Guide" ボタンからダウンロードできます、英語ですが
2014030104


では実際にシステム利用の予約をしてみましょう。"Please select a program" と書かれたボタンをクリックして "Virtual Server Access" を選択します。
2014030105


すると予約内容を入力する画面が表示されます。
2014030106
2014030107


ここに以下の内容を英語で入力していきます:
Enter a project name: プロジェクト名/利用目的の名前(64文字以内、英数字のみ)
Product description: (プロジェクト/目的の説明)
Project opportunity: 案件のスケジュール
Project classfication: 利用目的の分類、テストとか教育目的など
Project Dates: 利用期間(最大2週間、米国山岳部標準時(UTC-7))
Logical Resources: 利用ハードウェアスペック

Project name はプロジェクトで利用する予定があればその名称を。教育目的であれば "LinuxOnPowerEducation" とかそんな感じの名称を入力します。Description にはその説明。Opportunity は実案件としていつ頃利用予定か、というスケジュール感を指定します。特に決まっていなければ "Potential New Customer" あたりを。Classification には利用目的を指定します。これも教育目的であれば "Learn" とか。

次の Dates は注意が必要です。利用期間は最大で2週間ですが、ここは日本時間ではなく UTC-7 で指定することになるようです。デフォルトで日本の現在時刻に近い値でセットされそうになるのですが日本時間ではない、という点に注意してください。

そして Logical Resources には利用 OS 環境を指定します。Image は過去に使って保存したイメージを使う場合は "Saved Image" を選択して、その後にそのイメージを指定します。初めて使う場合や新しい環境で構築する場合は "Standard Image" を選択します。Image Category 欄では OS を指定します。AIX や SuSE, IBM i(AS/400) も指定できますが、今回は "Red Hat Linux" を選択した前提で以下を紹介します。

次に Physical Resources でハードウェアを指定しますが、これはデフォルトのままで大丈夫です。1CPU + メモリ2GB + HDD 35GB の IBM Power 7。CPU は4コア構成なので仮想的には4つに見えるものです。

ここで "Add resources to project" をクリックすると、これまで指定した内容がプロジェクトに追加されます。
2014030108


プロジェクトに追加されたことを確認して、最後に "Create project and reservation" をクリックして予約を確定します。

しばらく処理が行われ、完了すると元の "Programs" 画面に戻ります。

では予約の状況を確認してみましょう。画面一番下の "Virtual Server Access" と書かれた箇所のずっと右の+(プラス)印をクリックします。
2014030109

利用中/予約中のプロジェクトが表示されます。Status 欄に "Processing" と表示されていれば予約が処理中であることを意味しています。
2014030501


指定した時刻からプロビジョニングが開始され、1~2時間程度でシステムは利用開始になるはずです。その頃に再度同じ画面にアクセスすると Status は "Active" に切り替わっているはずです(その旨を知らせるメールが登録アドレスにも送られてきます、英語ですが(笑)):
2014030502


この Active 状態のプロジェクトをクリックして更に展開していくと、現在 VPN の先で稼働しているサーバーのIP アドレスや初期 ID & パスワードも表示されているのが確認できます。これで利用可能な状態になっていることが分かります:
2014030503


この作業を進める上で英語と向き合うことが多いと思います。まあ、このプログラム自体は IBM 本社の提供するものなので、まあ仕方ないですけどね。

分量が多くなってしまったのでこの辺で。 この続きの、VPN 接続を使って、このサーバーにアクセスする手順は次回ということで。
 
続きはこちら

 

このページのトップヘ