カテゴリー「RedHat Enterprise Linux メモ」の14件の投稿

Linuxメモメモ

2010年12月 6日 (月)

OpenSSHのchroot機能を使ってみました。

こんばんわ。

たぬさんです。

今日は温かい一日でしたね。

なんか、この前までの寒さはどこに行っちゃったのでしょうか(==;

さて、今日はSSHのchroot設定を書いてみようかな。

会社で

「外部の制作会社にWEBサーバのディレクトリを開放したい。」

という要求があったので、

「セキュリティ的にもCMSを使ったほうがいいんじゃ?」

って話をしたところ・・・・・・・・・・

うち予算ないヨ( ̄▽ ̄)

「マジで∑(゚∇゚|||)」

昔からFTPでchroot機能があるから、その辺りの機能を使いたいって事らしい。

外部に開放するんだからそれなりのを考えたほうがいいんじゃ?とは思ったけど、無い袖は振れないわけで。

ということで、通信は暗号化されているSSHでchrootの設定をしてみた。

ちなみに「chroot機能」とは、ログインするユーザによってトップディレクトリを変更し、余計なディレクトリへの侵入を防ぐ機能の事。

SSHは・・・・・・・・予算が無いのでオープンソースのOpenSSHを利用します。

例え予算があっても、使い勝手の良いOpenSSHを利用しますけどね(^ー^;

OpenSSHのchroot機能はOpenSSH4.2.9以降使えるようになります。

ここで注意;゚∇゚)/

最近のLinuxディストリビューションはSSH通信にOpenSSHが利用されています。

ただし、信頼性のあるバージョンを採択しているため、OpenSSHの最新版が常にインストールされているわけではありません。

chroot機能を利用する場合はSSHのバージョン情報を必ず確認してください。

SSHのバージョンを確認するには下記のコマンドを実行してください。

# ssh -V

バージョンが古い場合はyumコマンドでバージョンアップするか、もしくは最新版をダウンロード&コンパイルして利用するか、どちらかを選択する必要があります。

yumのリポジトリサーバ(パッケージを管理するサーバ)に存在するOpenSSHも古い可能性があるので、最新版をダウンロードしてインストールしたほうが早いかもしれません。

日本語のOpenSSHサイトはこちらです。

おいらの場合は、yumコマンドがFirewallに阻まれていたので最新版をコンパイルしました。

*ここから下のコマンドは全てrootでログインして行ってください。*

単純にダウンロードしたファイルを解凍し

# ./configure 
# make
# make install

しただけですので、そんなに難しくありません。

まずは、SSHログイン後にchrootを行いたいユーザとグループをOS上に作成します。

# groupadd test-group
# useradd -g test-group test-user
# mkdir /chroot-test
# chown test-user:test-group /chroot-test

これでグループ「test-group」とユーザ「test-user」が作成され、chroot機能を利用した際のルートディレクトリになる「chroot-test」を作成しました。

また、[chroot-test]ディレクトリに対して「test-group」「test-user」の権限を付与しました。

OpenSSHは./configureにオプションをつけないでコンパイルすると設定ファイルが/usr/local/etc/sshd_configに作られます。

この/usr/local/etc/sshd_configを編集します。

まず、SSHでファイルを転送する場合は↓の場所の設定を変更してください。

これでSFTPが有効になります↓

#Subsystem    sftp    /usr/local/libexec/sftp-server ←コメントアウト
Subsystem    sftp    internal-sftp

管理者権限でのログインも禁止します↓

#PermitRootLogin yes ←コメントアウト
PermitRootLogin no

パスワード無しでのログインを規制します↓

#PermitEmptyPasswords no ← コメントアウトを外す
PermitEmptyPasswords no

簡単に設定しましたが、もっと細かい設定も可能です。

色んなパラメータがありますので、検索してみてくださいまし。

次にchrootを設定します。

おいらの場合は外部会社単位でユーザが何名かいたので、グループにまとめちゃいました。

sshd_configの最下部に↓の設定を施します。

設定例は上記で設定したグループ、ユーザ、ディレクトリを使用しています。

↓はグループの設定を行ったもの。

Match Group test-group
AllowTcpForwarding no
Banner /chroot-test/sshbanner.txt
GatewayPorts no
KbdInteractiveAuthentication no
PasswordAuthentication yes
PermitRootLogin no
RhostsRSAAuthentication no
RSAAuthentication yes
X11Forwarding no
X11UseLocalHost no
ChrootDirectory        /chroot-test

↓はユーザの設定をおこなったもの。

Match User test-user   ←この「User」部分を変更しただけ。
AllowTcpForwarding no
Banner /chroot-test/sshbanner.txt
GatewayPorts no
KbdInteractiveAuthentication no
PasswordAuthentication yes
PermitRootLogin no
RhostsRSAAuthentication no
RSAAuthentication yes
X11Forwarding no
X11UseLocalHost no
ChrootDirectory        /chroot-test

オプションの意味は下記の表を参考にしてください。

おいらが設定した際のオプションなのでもっと増えているかもしれませんのでご注意を。

AllowTcpForwarding ポートフォワーディングを行うかどうか yes/no
Banner SSHユーザーへのメッセージ表示 [ファイル名]
ForceCommand ログイン時に強制的に実行するプログラム(コマンド)
GatewayPorts ポート中継を許可するかどうか
KbdInteractiveAuthentication キーボードインタラクション認証を使用するかどうか
PasswordAuthentication パスワード認証を行うかどうか
PermitOpen 許可する転送ポートを指定
PermitRootLogin rootでの転送を許可するかどうか。
RhostsRSAAuthentication RSA ホスト間認証が成功しているとき、rhosts や /etc/hosts.equivを使った認証をおこなってよいかどうか
RSAAuthentication RSA 認証を許可するかどうか
X11DisplayOffset X11 転送をするときに最初に使われるディスプレイ番号を指定
X11Forwarding X11 転送を許可するかどうか
X11UseLocalHost X11でlocalhostのみを許可

これでSSHDをリスタートすれば、設定が反映されるはずです。

コンパイル後にsshdを開始、終了する場合は↓のコマンドを実行してください。

開始↓
#/usr/local/sbin/sshd -f /usr/local/etc/sshd_config
停止↓
# ps -aux | grep -i sshd ← SSHDのプロセス番号の調査
# kill -9 15342 ← SSHDのプロセス番号

めんどくさいので起動シェルを探し登録した方がいいかもしれません。

また、ソースからRPMパッケージを作る方法もあり、この場合は起動シェルがインストールされますのでお勧めです。

おいらが、その方法を知らずにコンパイルしてしまっただけの事(笑)

# cp openssh-5.6p1.tar.gz /usr/src/redhat/SOURCES
# cd /usr/src/redhat/SOURCES
# tar zxf openssh-5.6p1.tar.gz
# rpmbuild -bb openssh-5.6p1/contrib/redhat/openssh.spec

これでRPMが作れますので簡単にインストール&起動シェルも作れます。

おいらは・・・・・・・・・そっとしておいてあげてください;゚∇゚)/

これで、WinSCP等のSFTPクライアントで利用する際の設定は完了です。

ターミナルでSSH接続する場合は、もっと設定が必要になります。

ログインするためのシェル(.bash_profileや.bashrc等)が必要になります。

また、あらかじめchrootの配下に必要なコマンドを用意する必要もあります。

さて、chrootの設定は完了したわけですが・・・・・・

1点だけ注意が必要です!!

chrootに設定したディレクトリ、例えば「/chroot-test」ディレクトリは

root権限でパーミッションが755

でなければなりません。

これは必須です!!

なので、一般ユーザである「test-user」は「/chroot-test」配下にディレクトリを作成できません!!

あらかじめ、chrootに設定したディレクトリ「/chroot-test」配下に「test-user」が操作出来るディレクトリを一つ作っておく必要があります。

今回の例で言えば、「/chroot-test」が「test-user」にとっての「/」ディレクトリと同じ意味を持ちますので、このような自体が発生するのです。

この事から、サーバのコマンドを利用してのファイル操作は、「/chroot-test」ディレクトリ配下に存在するコマンドしか受け付けません。

前述のように

「あらかじめchrootの配下に必要なコマンドを用意する必要」

があるわけです。

この注意だけは必ず頭に入れて、ディレクトリ仕様を考えてくださいね♪

ということで、簡単にSSHDのchroot機能を設定してみましたが

もっと追求したい方は

他のサイトを検索してみてくださいね♪

もしくは↓の本をよんでみるとか。

実用SSH

実用SSH

価格:5,040円(税込、送料別)

おいらはめんどくさくてやる気になれませんでしたヽ(´▽`)/

| | コメント (0) | トラックバック (0)
|

2010年2月11日 (木)

RedHat Enterprise Linux 4.0のバージョン見分け方

たぬさんです。

今日は雪が降るという天気予報でしたが・・・・・・

また、はずしましたね(# ̄З ̄)

今日はお出掛けの予定だったけどキャンセルしたんですよ。

最近、雪が降る度に交通事故の報道が流れるのでできるだけ雪の日には車で出かけないようにしようと決めています。

なので、キャンセルしたんですが・・・・・・

天気予報も過去の統計から予測しているから当たる確率は、そこまで高くないのはわかりますが・・・・・・

肝心な時に外すなよな(#`皿´)

・・・・・・・・・まぁ、いいっすわ。

体調もあんまり良くなかったから今日はゆるりと過ごします。

愚痴も書いたところで、今日はRedHat Enterprise Linux4.0の細かいアップデートバージョンを確認する方法をメモります。

結構、RedHat Enterprise Linux4.(以下、RHEL4.0)の細かいバージョンって判別が難しいんですよね。

・・・・・えっ?そんな、バージョン情報って何に使うのって?

データセンターでのプロセスの監視、ソフトウェアの導入仕様等々。

細かいバージョンを気になさる方が結構いるわけですよ( ̄Д ̄;

・・・・たぶんシステム管理者ならあると思います。

ということで、細かいバージョンを知りたい場合はコンソールで下記のコマンドを実行してみてください。

#uname -a

このコマンドを実行するとカーネルのバージョンからアップデートの細かい情報が表示されます。

アップデート情報
2.6.9-11.EL Update1
2.6.9-22.EL Update2
2.6.9-34.EL Update3
2.6.9-42.EL Update4
2.6.9-55.EL Update5
2.6.9-67.EL Update6
2.6.9-78.EL Update7

ちなみに上記のコマンドはインストールされているOSのすべての情報を表示しています。

例えばi386(i686)と表示されていれば32bit OSだしx64となっていれば64bitOSがインストールされていることがわかります。

また、RHEL4.0以外のLinuxOS、BSDでも利用できるコマンドですので

OSのバージョンがわからない。

どのOSをインストールしたかわからない。

何bitのOSをインストールしたかわからない。

のような時には是非、このコマンドを利用してみてください♪

【新品】REDHAT Red Hat Enterprise Linux Standard Plus (ES v.4 for Intel x86、 AMD64、 and...

| | コメント (0) | トラックバック (0)
|

2010年2月 7日 (日)

Apache(WEBサーバー)のインストール方法とコツ。

こんばんわ。

たぬさんです。

昨日といい今日といい、風が強いですねぇ。

朝から用事があり、外出しておりましたが手が痛いの何のってorz

手がかじかみまくりですo(;△;)o

さて、結構既出な話ですがApacheのインストール方法について書こうと思います。

何故、今更Apacheのインストールについて書こうと思ったかと言うと・・・・・

おいら用のメモです。

おいらはしばらくインストール作業を行っていないとすっかり忘れてしまうというチキンヘッドの持ち主で、メモが残っていないと検索エンジン様に頼らなくてはならなくなってしまいます。

Apacheのインストールで手を焼くことは無いかもしれませんが・・・・

とりあえずメモっておこうかと( ̄Д ̄;

ちなみに皆様、「Apache」ってご存じですか?

このページを見ている時点でほとんどの方がご存じかと思います( ̄Д ̄;

要するにWEBサーバーのオープンソースソフトウェアです。

Unix、Windows、Mac等の様々なOSに対応しており、チョー有名なWEBサーバーソフトです。

おいらは元々Unix関連の仕事をしていたので、WindowsのIIS(Internet Infomation Server)よりもApacheとの付き合いが長いのです。

Apacheは下記のURLからダウンロードできます。

Apache Project

俗に読んだままの「Apacheプロジェクト」と言われるApacheソフトウェア財団がリリースしているHTTP Serverです。

昔はApacheプロジェクトではなくHTTP Server自体が「Apache」と呼ばれていたのですが、Tomcat等の他のソフトウェアを開発していくにつれてプロジェクト化されていき、大元の名前がついたのです。

さて、そんな御託はいいからインストール方法をメモしましょう。

まずはHTTPサーバーをダウンロードします。

HTTPサーバーのバージョンとしては現在3種類(アルファを入れると4種類)あります。

・1.3.X系

・2.0.X系

・2.2.X系

・2.3.X系(α版)

違いとしては色々とあるのですが、現行の最新版である2.2.X系を使うことをお勧めします。

2.3.X系はまだα版だし、1.3.X系はマルチスレッドに対応していない。

2.0.X系と2.2.X系では大きな違いが無いが、32ビットプラットフォーム上の2GB以上のファイルをサポートし、認証モジュールが置き換えられているという点が違う。

なので、今使うならば2.2.Xがお勧め♪

ということで、今回はApache2.2.X(HTTP Server2.2.X)をインストールすることに。

おいらがインストールする時はいつもtar.gzが拡張子のtar圧縮形式ファイルをダウンロードします。

RPM形式でのインストール、もしくはOSインストール時にデフォルトでインストールすると/etc以下に設定ファイルが入ってしまう(==;

そんな状態は初心者的にはOKでも、おいら的にはナンセンス(`Д´)

ちなみに、今回はどのファイルを利用するかは記述しません。

何故なら・・・・・簡単なインストール方法しか書かないから(苦笑)

だって、昔からApacheのみのインストールは下記の方法で問題ナス(≧ヘ≦)

Linux初心者さん、WEBサーバー初心者さんにもすっごく簡単ですな。


(1)Apacheモジュール(tar圧縮)のダウンロード。

(2)ファイルを下記の方法で解凍

# tar xzvf httpd-2.2.X.tar.gz

(3)解凍したディレクトリに移動し、下記のコマンドでHTTPサーバーをBuildしインストール。

# ./configure

# make

# make install


これでApacheのデフォルトインストール終了!

すっごく簡単♪単純なWEBサーバーは出来上がりです♪

後は、/usr/local/apche2/confのディレクトリにあるhttpd.confを設定するだけです。

httpd.conf内の「ServerName」にサーバーのIPアドレスを設定。

最後にapacheを起動します。

# /usr/local/apache2/bin/apachectl start

これでhttp://[サーバーIPアドレス]を入力するとデフォルトでインストールされたWEBページが表示されます。

サーバーのデフォルトページを変更したい場合は/usr/local/apache2/htdocs/index.htmlの内容を自分の好きなページに 編集すれば、そのサーバーのトップページが変わります。

サーバーを止めるときは

# /usr/local/apache2/bin/apachectl stop

で止めることができます。

単純にWEBサーバー機能のみを利用する場合は、こんな感じでいいのですが、これに色んな機能を組み合わせていくと・・・・・・・・・

結構、大変(--;

./configureのオプションがヒッジョーに長くなる( ̄Д ̄;

例えば、デフォルトでHTTPサーバーがインストールされるディレクトリは/usr/local/apache2なのだが、これを変更したい場合は下記のようになる。

# ./configure --prefix=/usr/apache2

他にも色々と機能があるが、使いたい機能を簡単に探す方法についてちょっとしたコツを。

ご存知の方はいっぱいいらっしゃるとは思いますが・・・・・・・

# ./configure --help

・・・・・・これを実行するとconfigure(ビルド前の設定)で指定できるオプション群が表示されます。

更に、

# ./configure --help | grep -i [機能名]

で、ある程度、使いたい機能の検索ができます。

例えばSSL機能を利用したければ

# ./configure --help | grep -i ssl

で--with-sslというオプションが見つかります。

configureの際にこのオプションを追記することでmod_ssl機能を利用することができます。

後はPHPをインストールしたり、データベースをインストールするだけでWEBアプリケーションを動かすこともできます♪

みなさんも、Linuxとは言わずにWindowsでもいいので尻込みせず一度試してみては?

結構、楽しめますよ。

Red Hat Enterprise Linux Standard (v5 DTWS/v4 WS) 更新、メディアなし

| | コメント (0) | トラックバック (0)
|

2010年1月24日 (日)

リアルタイムにログが見たい(^ー^)/

こんばんわ。

たぬさんです。

最近のネット業界、「Gumblar」で盛り上がっておりますね(==;

どこどこのサイトが改竄されたとかのニュースが飛び交っている今日この頃です。

システム管理者としては全くうれしくないニュースです。

さて、今日は簡単に便利なLinuxコマンドについて書こうと思います。

おいらはApacheの設定や、Tomcatの設定を行う時にログをリアルタイム表示してエラーが発生していないかどうかを確認しています。

3つのターミナルを開いて、1つは設定用、1つは起動用、1つはログ確認用。

手間のかからない作業の場合は1つや2つで済ますことが多いですが、大抵は複雑な要求がくるので検証機で3つのターミナルを開きながらやっています。

そのログ確認用のターミナルで実行しているコマンドはコレです↓

#tail -n 50 -f [ファイル名]

ちなみにオプションの意味は↓

-n:指定した行数分のファイル末尾を表示

-f:表示後終了せず、ファイルへの追記分を表示

です。

-n 50の部分は必要ないかもしれませんが、おいら的には昔から行指定で使っていたのでそのまま実行しています。

これを行うと、指定したファイルのサイズが増える度に追記内容を表示してくれるので短時間の設定監視やシステム監視に最適。

TOMCATのログに吐き出されるExceptionも随時表示できるから、バグ発生タイミングも計ることができます。

知らなかった方は是非一度お試しを。

UNIXシェルスクリプト辞典

| | コメント (0) | トラックバック (0)
|

2008年12月 4日 (木)

Xenサーバーインストール(パート2)

こんばんわ。

たぬさんです。

今週末は会社の社員旅行が待っています。

少し体力を温存しなくては(--;

今週初めにぶっ倒れてるしね(^ー^;

ところで、先日から書いているXenサーバーインストール編。

今回はXenサーバーをRPMからインストールしてみましょう。

前回と前々回は下記を参照してください。

まずは最小構成でRHEL5U2をインストールしました。

X11はさすがにインストールしましたがね(苦笑)

さて、まずは・・・・・

「VT」ディレクトリ内に入っている

「xen-3.0.3-64.el5.i386.rpm」

「xen-devel-3.0.3-64.el5.i386.rpm」

をインストールしようとしたのですが・・・・・

来ましたよ。いつものコンフリクト警告が。

まずは「Server」ディレクトリの

「bridge-utils-1.1-2.i386.rpm」(単体インストール)をインストールしてくださいと。

まずはコレをインストールします。

次に・・・・・

「SDL-1.2.10-8.el5.i386.rpm」と「SDL-devel-1.2.10-8.el5.i386.rpm」

のインストール。

しかし、

「SDL-1.2.10-8.el5.i386.rpm」と「SDL-devel-1.2.10-8.el5.i386.rpm」

をインストールするにはさらなるRPMファイルが必要になります。

「mesa-libGLU-devel-6.5.1-7.5.el5.i386.rpm」(単体インスト-ル)

「libXt-devel-1.0.2-3.1.fc6.i386.rpm」(単体インストール)

それぞれインストールを行った後に

「SDL-1.2.10-8.el5.i386.rpm」
「SDL-devel-1.2.10-8.el5.i386.rpm」(まとめてインストール)

本当にRPMパッケージのインストールは芋づる式ですな( ̄Д ̄;

まだまだインストールするRPMがありますよん。

「kernel-xen-2.6.18-92.el5.i686.rpm」
「kernel-xen-devel-2.6.18-92.el5.i686.rpm」(まとめてインストール)

「dnsmasq-2.39-2.el5.i386.rpm」(単体インストール)

「gtk-vnc-0.3.2-3.el5.i386.rpm」
「gtk-vnc-devel-0.3.2-3.el5.i386.rpm」
「gtk-vnc-python-0.3.2-3.el5.i386.rpm」(まとめてインストール)

そして・・・・

「VT」ディレクトリのRPMファイルをまとめてインストール

「libvirt-0.3.3-7.el5.i386.rpm」
「libvirt-devel-0.3.3-7.el5.i386.rpm」
「libvirt-python-0.3.3-7.el5.i386.rpm」
「python-virtinst-0.300.2-8.el5.noarch.rpm」
「virt-viewer-0.0.2-2.el5.i386.rpm」(まとめてインストール)

そして、最後の仕上げ「VT」ディレクトリのxenコアをインストール

「xen-3.0.3-64.el5.i386.rpm」
「xen-devel-3.0.3-64.el5.i386.rpm」(まとめてインストール)

最終的に管理が大変になるのでバーチャルマネージャーもインスト-ルしましょう(^ー^)

「virt-manager-0.5.3-8.el5.i386.rpm」

でも、このvirt-managerをインストールするときには結局、下記のRPMもインストールする必要があります。

「Server」ディレクトリ以下の下記のRPMファイル

「gnome-python2-gnomekeyring-2.16.0-2.el5.i386.rpm」(単体インストール)

「VT」ディレクトリ以下の下記のRPMファイル

「gnome-applet-vm-0.1.2-1.el5.i386.rpm」(単体インストール)

をインストールして「VT」ディレクトリ内のRPMファイルインストールは終了です♪

Xenをインストールしたサーバーの再起動です(^ー^;

やと芋づる式のRPMインストールから解放されましたね(^ー^)

再起動後にXenカーネルをGRUBから選択できるようになりますので、こちらで起動します。

これでXenにカスタマイズされたカーネルでの起動がうまくいくはずです♪

次回はXenサーバーのゲストOS管理を実践してみようと思います♪

Xen 3.0による仮想化サーバの構築

仮想化技術完全攻略ガイド

| | コメント (0) | トラックバック (0)
|

2008年12月 3日 (水)

Xenサーバーインストール(パート1)

こんばんわ。

たぬさんです。

先日はちと倒れましたが、今日はいつもより元気な感じです(^ー^)

ところで先日、検証機をゲッチュー(「Xenサーバー御食い初め」参照)したので早速インストールを始めたいのですが・・・・・・

XenサーバーのベースになるOSを選択しなければなりませんが・・・・・

実はサーバー運用としては「RedHat Enterprise Linux 5 ES Update 2」を選択することとなりました。

候補は色々とありました。

例えば・・・・

・SUSELinux

・Ubuntu Linux

・Debian Linux

・Fedora Core

等々々々々々々々々・・・・・・

でも、現行のサーバー群は「RedHat Enterprise Linux」なのでやはりベースがRHEL5が一番しっくりくるでしょう(^ー^;

これから仮想化する予定のOSはRHEL群なのでこれにも適応しているでしょうしね。

しかも、「RedHat Enterprise Linux 5 ES Update 2(RHEL5U2)」ではXenサーバーをサポートしています(^ー^)

よしよし、RHEL5U2をインストールしよう!

インストール過程でXenサーバーのインストール選択が出てくるの期待。

そして、インストールが進み・・・・インストールするパッケージ選択画面。。。。

・・・・・Xenサーバーの選択がない∑(゚∇゚|||)

こ、これは困ったぞ( ̄Д ̄;

サポートされているだけでインストールとは関係ないのか( ̄Д ̄;;

・・・・・・・

よし、とりあえず最小構成でインストールだ!

Xenサーバー以外でこのサーバーは利用しないし!

イケイケゴーゴーヽ(;´Д`ヽ)(ノ;´Д`)ノ

さて、インストールは終わった( ̄Д ̄;

一応、インストールDVDの内容を確認してみるか。

XenサーバーのRPMでもあるかもしれんしねε-( ̄ヘ ̄)┌

さてさて、どうなる事やら・・・・・・ん?

DVDの中に「VT」というディレクトリが。

もしかして・・・・あった∑ヾ( ̄0 ̄ノ

Xenサーバー一式のRPMファイルがそろっているヽ(´▽`)/

やっとXenサーバーがインストールできる!!

よっしゃ!

今度はRPMファイルからXenサーバーをインストールしてみよっとヽ(´▽`)/

Xen 3.0による仮想化サーバの構築

仮想化技術完全攻略ガイド

| | コメント (0) | トラックバック (0)
|

2008年11月30日 (日)

Xenサーバー御食い初め

こんばんわ。

たぬさんです。

やっと週末で少し休めた感じがしますが、明日からまた仕事です。

昨日は布団入って即寝・・・・orz

本当に間髪入れずに即寝でした(--;

さて、今日は先日インストールしたXenサーバーのインストールについて書こうかと思います。

おいらは会社から1台の検証機を借りて色々と実験しているのですが・・・・

何せPentiumⅢ

懐かしいですねぇ。

一世を風靡した古き良き時代のCPUです。

このCPUではXENサーバーのインストール要件は満たされませんorz

何故ならCPUファミリーが「6」からだからです。

「6」と言われてもわからないと思います。

Xenの開発元となったケンブリッジ大学の記述ではPentium Pro以降のCPUをサポートをしているようです。

ちなみにXenサーバーの仮想化手段には「準仮想化」と「完全仮想化」という2つの仮想化があります。

実を言うと、おいらは「準仮想化」と「完全仮想化」の区別があまりつきません。

「準仮想化」と「完全仮想化」の違いはハードウェアアクセスの要求分析があるかないかの違いということはわかっています。

Xenサーバー上で「準仮想化」で動いているのか「完全仮想化」で動いているのかは区別がつきにくいです。

実際、両方の仮想化のいいとこどりをしてデバイスコントロールを「準仮想化」、プロセッサ命令が「完全仮想化」で動かしボトルネックを低減させる手法もあります。

そんなこんなで、検証機では「準仮想化」と「完全仮想化」のどちらで動かすか判断ができていないのです。

ここでやっとCPUの話に戻ります( ̄Д ̄;

「完全仮想化」も実現できる検証機で無ければならない時点でPentium4HT以降のCPUが必須条件になるわけです。

ここまでの過程がヒジョーに長かったですね(--;

ということで、今、借りている検証機では無理

さぁ、どうするたぬさん(´Д`;≡;´Д`)アワアワ

念願の仮想化は遠のいていく一方だぞ。

・・・・・・・・一応、上司に話しを通してみるか(--;

まぁ、余っている検証機は無いのだろうけど・・・・

おいら:「Xenサーバーインストールしてみたいんだけど、マシン余ってませんかね。」

上司:「あるよ。ほら、半年前必要なくなったマシンだよ。」

おいら:「あれ、つかっていいんですか?shine

上司:「いいよぉ~。他の人に断ってから使ってくれ」

( ̄▽ ̄;

意外にあっさり承諾。

実は余っているマシンというのはCore2Duo。

ネイティブデュアルコア~万歳!!

ということで、突如として立ち上がったMYプロジェクト。

「XenサーバーにゲストOSばっちり仕込んでわんさか検証」プロジェクト発動dash

入れたいゲストOSはRHEL4&RHEL5は確定。

運用中ですから(--;

これらのゲストOSインストールまでがんばってインストールしていこうかと考えています。

続きはまた今度(*゚▽゚)ノ

Xen 3.0による仮想化サーバの構築

Xen徹底入門

本日、かみさんのブログが更新されました(^ー^)/
面白いので是非ご堪能くださいませ!!

Wii購入の時は燃えていました。
ちなみに一緒に行った後輩はこのときに風邪ひきました(苦笑)
応援をいただければかみさんもがんばりますので宜しくお願いいたします♪

| | コメント (0) | トラックバック (0)
|

2008年11月23日 (日)

VNC SERVERインストールしてみました♪

こんばんわ。

たぬさんです。

昨日はPCのカスタマイズをしすぎてチト疲れました( ̄Д ̄;

昨日の記事を見て・・・・・なんか適当な事言ってるな( ̄□ ̄;

と思いつつも、まぁ疲れてたなと思っておきましょう!

今回は先日報告したアップグレードの内容・・・・ではなく(゚ー゚;

RedHatEnterpriseLinuxのvncserverの設定について書こうと思います。

皆様、VNCをご存じでしょうか?

多分、この記事を見に来られた方はご存知でしょうね(^ー^;

そうです。

「VNC SERVER(サーバー)」、「VNC VIEWER(クライアント)」間で通信を行い、サーバー側のGUIデスクトップをリモート表示しよう!というソフトです。

便利ですよね♪

おいらも5年前ぐらいからローカルで結構つかっております♪

でも、玄人さんは

「RedHatはテキストで十分操作できるでしょ?」

と言われるかと。

うんうん、おいらもそう思います。

基本はSSH(もしくはtelnet)ですよね♪

でも、問題はORACLEのインストールなのです。

ORACLEは基本的にGUIインストール(Oracle9iからだっけ?)です。

CygwinをインストールしてXサーバー経由でインストールするという手もあるのですが、何せCygwinのXインストールが意外に大変(--;

最近は簡単にCygwinのXサーバーのインストールができるので、それでもいいのですがXenサーバーでもVNCを利用してGUIの表示を行っているのでVNCサーバーをRedHatEnterriseLinuxにインストールしてみました♪

インストール先のOSはRedHatEnterpriseLinux5 Update2です。

vncサーバーのインストールは単純。

vnc-serverのRPMをインストールするだけです。

簡単でしょ?

でも、RPMをインストールするだけではVNCサーバーは起動しません。

VNCサーバーの設定ファイルは下記の通りです。

/etc/sysconfig/vncservers

設定は下記の赤い部分を修正します。

修正内容は青文字です。

ファイルの内容----------------------------------------------------------

# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the lines below to start a VNC server on display :2
# as my 'myusername' (adjust this to your own).  You will also
# need to set a VNC password; run 'man vncpasswd' to see how
# to do that.
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted!  For a secure way of using VNC, see
# <
URL:http://www.uk.research.att.com/archive/vnc/sshvnc.html>.

# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.

# Use "-nohttpd" to prevent web-based VNC clients connecting.

# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel.  See the "-via" option in the
# `man vncviewer' manual page.

# VNCSERVERS="1:myusername" VNCSERVERS="1:root"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"

----------------------------------------------------------------------

「VNCSERVERS」の行の先頭に「#(コメントアウト)」があるのでこれを削除してください。

「VNCSERVERS」の値は[ディスプレイ番号]:[OSユーザー名]です。

ディスプレイ番号は何番目のディスプレイを利用するかと言うことなので、番号はシーケンシャルに1,2,3と振っていって構いません。

OSユーザー名はRHEL5のユーザー名です。

今回はrootでつなごうと考えていたのでrootになっていますが、guest等の登録されているユーザー名で構いません。

設定が終わりましたら、VNCサーバーにログインするユーザーにVNCパスワードを付与します。下記のコマンドでパスワードを付与してください。

--------------------------------------

> vncpasswd
Password: <-パスワード入力
Verify:  <-パスワード確認
--------------------------------------

「vncpasswd」はVNCを利用するユーザーで実行することもできますが、管理者が利用ユーザーにパスワードを付与することもできます。

その際のコマンドは下記の通りです。

> vncpasswd [ユーザー名]

これでVNCを利用するユーザーにパスワードを付与することができました。

いよいよVNCサーバーの起動です。

下記のコマンドを実行してください。

> service vncserver start

このコマンドでVNCサーバーを起動できます。

しかし、このままだとGNOMEデスクトップは起動されません。

一旦、VNCサーバーを停止します。

下記のコマンドでVNCサーバー停止します。

> service vncserver stop

VNCサーバーを起動することによって、デスクトップ設定ファイルが生成されます。

この設定ファイルを編集することによってGNOMEデスクトップを起動できるように変更します。

下記のファイルを編集します。

[利用ユーザーのホームディレクトリ]/.vnc/xstartup

今回、rootで設定を行いますので

/root/.vnc/xstartup

となります。

-----------------------------------------------------------------

#!/bin/sh

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &

# xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
# twm &
exec gnome-session

-----------------------------------------------------------------

青文字の「#」を追加します。

「#」を追加した行を残しておくと「xterm」と「twm」が起動してしまいます。

必ずコメントアウトをしてください。

RedHatEnterpriseLinux5にデフォルトバンドルされているXデスクトップは「GNOME」と「KDE」です。

上記の設定はGNOMEを起動するコマンドを最後に追加していますが、それぞれ下記のコマンドを追加します。

GNOME:

exec gnome-session

KDE:

startkde &

上記の設定が終わりましたらVNCサーバーを再度起動してください。

これでVNCクライアントから接続できるようになります。

VNCクライアントは多種多様です。

おこのみのVNCクライアントをインストールして利用してください。

VNCサーバーに接続する際にIPアドレスを聞かれます。

下記のようにIPアドレスを設定すると接続することができます。

IPアドレス:ディスプレイ番号

VNCサーバー便利ですが、同じディスプレイ番号に2人以上ログインしようとするとはじかれますのでご注意を・・・・(--;

Fedora Core 2で作る自宅サーバーfor Linux

らぶらぶLinux 4進化する混在環境:Windowsとの共存・連携ガイド

本日、かみさんのブログアップ予定です(^ー^)/
今回はアップグレードしたPCを使って快適に描けたようです。

よかった♪よかった♪
是非ご覧くださいませ!!

| | コメント (0) | トラックバック (0)
|

2008年8月11日 (月)

iTunes共有サーバー立ててみました

こんばんわ。

たぬさんです。

ふぅ、今日も暑かったですねぇ。

この暑さ、なんとかならないものでしょうか。

ところで、iPod nanoはまだ届いていません。

というよりカスタマイズをかけてしまっているので到着が遅いのです(--;

早く来ないかなぁ、nano(^ー^)

さて、iPod nanoが来る前にもうひとつ我が家の問題を解決しなければなりません。

iTunesにインポートした曲の共有化です。

おいらもある程度音楽を聴くし、かみさんも仕事があると音楽を聴きながらやるし、みんなで子供用の音楽も聞くことがあります。

要するにネットワークで共有できるiTunesサーバーを立てたいのです。

以前に、実験をした際にインポートした曲のファイルをNASに配置しただけでは共有化できなかった。

全く手間のかかる仕様ですね。

確かに簡単にiTunesサーバーをオッ立てられると著作権も何も関係なくなってしまうんだけどね。

ということでiTunes共有サーバーソフトウェアを探していたところ。。。。

ありました(^ー^)

mt-daapdです。

うちにインストールされているLinuxはFedora Core 8なのでインストールできそうです。

ウヲ、mt-daapdイケてるぞ(^ー^)

ということで今度インストールしてみたいと思います(^ー^)

インストール時にトラブルが発生しないといいけどね(--;

Apple iPod nano8GBMB261J/A(ブラック)

かみさんのサイトで最近の話題が出ています。
確かにおいらもストリートビューはドキドキして見てしまいました(^ー^)↓

| | コメント (0) | トラックバック (0)
|

2008年7月24日 (木)

SSHのパスワード無しログイン方法

こんばんわ。

たぬさんです。

相変わらず忙しい日々を送っております(^ー^;

先日、色んな機器を買ったのですがその話は色々とありまして後回しです(--;

今日は最近、よくいじっているSSHについて書こうと思います。

なんでSSHが必要かって?

それを聞くサーバー管理者は野暮ってもんでしょ。

もっと難しい暗号化通信も存在しますが、今の一般論ではSSH経由がほとんど。

自分が操作できても他の人が操作できなければ自分だけで障害対応とかになってしまいますからね。

それはさすがに避けたい。

ということでSSHに手を出したわけですが、SSHのノーパスワード通信について設定がめんどくさいのでブログにメモっておこうかなと。

昔はrlogin設定で行ったもんですが、やはり平文の通信は危険が一杯。

ここはひとつSSHで行きましょうと。

このノーパスワードログインには公開鍵暗号方式を利用します。

文章で書きますので混乱するかもしれないのでまずは構成の例を定義しましょう。

今回の構成例は下記の通り。

  • サーバーA(IPアドレス:192.168.0.1)
  • サーバーB(IPアドレス:192.168.0.2)
  • サーバーAとサーバーBは同じネットワークセグメント帯(見りゃわかるか。)
  • サーバーAのユーザー「guest」からサーバーBのユーザー「guest」に対してパスワード無しでの通信
  • 両サーバーのguestにはユーザーパスワード必須

    この構成例で行きます。

    順序1:

    まずはサーバーAのguestでログインします。

  • このユーザーで公開鍵、暗号鍵を生成しましょう。

    SSHの通信はサーバーBに設置する公開鍵とサーバーAの暗号鍵の組み合わせで通信はを行います。

    下記のコマンドを実行します(プロンプトはわかりやすく記述しております)。

    構成例:

    サーバーA@guest$ ssh-keygen -b 1024 -t rsa

    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/guest/.ssh/id_rsa):・・・①
    Created directory '/home/guest/.ssh'.
    Enter passphrase (empty for no passphrase):・・・②
    Enter same passphrase again:・・・③
    Your identification has been saved in /home/guest/.ssh/id_rsa.
    Your public key has been saved in /home/guest/.ssh/id_rsa.pub.
    The key fingerprint is:
    10:3e:d4:63:22:AA:93:e3:52:01:ac:12:9e:3b:5a:77 guest@サーバーA

    デフォルトの設定で問題ありませんのでそのままEnterキーで。

    ここに通常はパスワードフレーズを入力しますが、パスワード無しでの通信をしたいため入力しません。

    ここも一緒です。の確認入力なので何も入力しないでEnterです。

    これでホームディレクトリの中に構成例でいうところの

  • /home/guest/.ssh/id_rsa(暗号鍵)
  • /home/guest/.ssh/id_rsa.pub(公開鍵)
  • のファイルが生成されているはずです。

    順序2:

    次に通信先のサーバーBの設定を行います。

    サーバーBにguestでログインしてください。

    guestでログインしたら、先程サーバーAで作成した公開鍵id_rsa.pubをSSH経由でコピーします。

    SSH通信を行うことでホームディレクトリに自動で.sshディレクトリが作成されるので自分で.sshのディレクトリを用意する必要がないので便利です。

    さて、コピーのコマンドですが、下記のように行います。

    サーバーB@guest$ scp サーバーAのユーザー名@サーバーAのIPアドスス:~/.ssh/id_rsa.pub ./authorized_keys2

    構成例:

    サーバーB@guest$ scp guest@192.168.0.1:~/.ssh/id_rsa.pub ./authorized_keys2

    今回はパスワードを聞かれるのでサーバーAのguestパスワードを入力します。

    ファイル容量が小さいのですぐにコピーは終わります。

    順序3:

    サーバーBのguestのホームディレクトリを見てみましょう。

    authorized_keys2というファイルがコピーされているはずです。

    コピーできていたら、このファイルを.sshディレクトリに移動します。

    サーバーB@guest$ mv authorized_keys2 .ssh/

    そして権限設定を行います。

    これを忘れるとパスワード無しでのログインができません。

    気をつけてください。

    サーバーB@guest$ chmod 600 ~/.ssh/authorized_keys2

    ここで作業は終了です。

    さぁ、サーバーAのguestでサーバーBのguestに対してSSH通信をしてください。

    サーバーA@guest$ ssh guest@192.168.0.2

    パスワード無しでのログインができたはずです。

    できなかった場合はもう一度始めから設定を見直してみてください。

    ちなみにサーバーA以外のサーバーからサーバーBのguestにパスワード無しでログインしたい場合はサーバーA以外のサーバーで順序2まで行い、サーバーBのguestの~/.ssh/authorized_keys2にコピーしたauthorized_keys2の内容を追記することで実現できます。

    これでコマンドやコピー、バックアップの際に発生するパケットが暗号化された状態で流れるので高度なセキュリティが保たれるようになります。

    皆様もお試しくださいね。

    おいらの雨男ネタがつづいていますねぇ(--;
    でも、実話だから反論できないorz
    おいらの雨男っぷりをぜひご覧ください。↓

    | | コメント (0) | トラックバック (0)
    |