VirtualBox

2008/10/19

Ubuntuサーバー版をインストールする。

とある事情で、ファイルサーバーを構築することになりました。

サーバに使うディストリビューションを考えた所、サポート期間が長いことが条件になります。
本稼動させるものをホイホイバージョンアップできません。できたとしても作業するのはオレの可能性大なんで、避けたい所です。
そんなわけで、Fedoraなんかはまず候補から外れます。
そうすると、CentOSかUbuntu辺りが長そうだな、と思いました。
普段使っているVineも考えたのですが、最近のLinuxの情報を使うのにあたって、未だに文字コードがEUC-JPということが結構アダになってしまうんですよね。
そんなわけでデフォルトでUTF-8になっているものを選びました。

情報量的には、CentOS は パソコンおやじ に有用な情報が多いです。
対するUbuntuは情報は少ないけれど、Debianの情報を流用できると考えると、一気に情報量が増えます。

そんなわけでどちらでも良かったのですが、インストールCDが1枚でいいUbuntuにしました。(CentOSは4枚)

さて、今回やりたいことは、FTPSサーバとWebDAVサーバのテスト環境を構築し、どちらが運用しやすいかを検証することです。

環境は、以下です。テスト環境なので、VirtualBoxにインストールしました。
VirtualBox1.5.0
Ubuntu8.04.1 Server

インストール時に参考にしたページは、されどpemguinな日々Ubuntu Sever Edition を使ったサーバ構築のメモです。
Ubuntuの情報は巷に溢れているのですが、サーバー版になると極端に少なくなるので大助かりでした。

まず、http://www.ubuntu.com/getubuntu/download から
ubuntu-8.04.1-server-i386.iso をダウンロードしてCDに焼きます。
VirtualBoxから新規作成でインストールしていきます。


CDから起動後、画面が表示されたら言語を選択するためF2を押し、日本語を選択します。
キーマップを確認する為、F3を押してJapanが選択されていることを確認します。

インストール中、DHCPがあると勝手にDHCPで設定されてしまいますが、
IPを固定する場合はDHCPでの自動設定後、Tabキーで「戻る」を選択して戻ると、IPを固定する設定ができます。
でも、DHCPを入れておいて後からIP固定すると、DHCPを使いたくなった時にすぐ使えるのでこっちの方がいいかも。

ホスト名を適当に設定します。

パーティションを設定します。今回はテスト環境なので、深く考えずにインストーラにお任せで設定しました。

管理ユーザー(フルネーム)を設定します。
管理ユーザーを設定します。

プロキシは空白のままリターンキーを押します。

ソフトウェアの選択で、とりあえずSSHのみインストールしておきました。必要なものは後で個別にインストールします。
Webサーバは入れたいんだけど、LAMPが全部入ってしまうんですよね・・・。(そこが売りなんだけど。)

次に、みんなのハマり所、カーネルの入れなおしです。
インストール後、起動しようとすると「PANIC:CPU too old for this kernel.」と出て止まってしまうんですよね。
PAEに対応していないCPUだと、このエラーが出るそうです。
この機能自体は Pentium Pro 以降のCPUにはあるそうで実用上問題無いはずなのですが、400MHzバスの Pentium M には無いそうで、ノートパソコンにインストールした人はさぞかしハマったことだと思います。
ただ、幸い(?)仮想環境によっては同じ状態になることから実際にトラブる人はもっと多くて、そのため回避方法の情報もけっこう出回っています。

回避方法はCOMPNETVirtualBox 1.6でubuntu 8.04 serverを参考にしました。
手順が一ずつ書いてあり、解りやすいです。

いちおう私が行った作業です。
インストール後の再起動で「PANIC:CPU too old for this kernel.」が出た場合、UbuncuのCD-ROMから起動する。
インストールメニューで「壊れたシステムを修復」を選択して実行する。
Ubuntuをインストールしたときのルートファイルシステムを選択する。
レスキュー操作で「インストーラ環境内でシェルを実行」を選択して実行する。
シェルが立ち上がるので、以下のコマンドを実行する。
# chroot /target
# bash
# aptitude update
# aptitude install linux-generic
# exit

仮想マシンをHDDから再起動する。

再起動したわずかな隙に ESCキーを押して、GRUBのメニューを表示させる。
GRUBのメニューでGeneric版カーネル(たぶん3行目)を選択して実行する。
再起動がうまくいったら、
$ sudo vim /boot/grub/menu.lst
として、
default 0 → 2 に変更し(genericカーネルがGRUBメニューの3行目にあるはず)、genericカーネルでの起動をデフォルトにします。


次に、IPアドレスを固定します。
DHCPで動かす場合や、インストール時にIPを固定した場合は不要です。
ちなみに私は、インストール時にVirtualBoxのネットワークアダプタを「NAT」のまま設定したため、ここを修正するハメになりました。
最初からネットワークアダプタをホストインターフェースに割り当てていれば楽できたはずです。

$ sudo vim /etc/network/interfaces
以下のように変更。(IPアドレスを192.168.0.2とする場合)

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 192.168.0.2
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1


DNSサーバのIPが設定されているか確認。(違ったら変更する)
$ sudo vim /etc/resolv.conf

IPアドレスを固定したら、適用する。再起動するか、以下のように入力する。
$ sudo /etc/init.d/networking restart


コンソールの文字化けを回避します。
サーバーのコンソールは2バイト文字に対応していないので文字化けします。
フォントを読み込むスペースが無いのが原因だそうで、この辺はLinuxの常識みたいですが、Vineユーザーとしてはコンソールに日本語が表示されるのが常識です。(笑)
そんなわけで、サーバーのコンソールは日本語を表示しないようにします。
ただし、SSHなどのターミナルから接続した時は日本語表示させます。

$ vim ~/.bashrc
ファイルの末尾に、以下のように記述します。

case $TERM in
    linux) LANG=C ;;
    *) LANG=ja_JP.UTF-8 ;;
esac

設定をすぐに反映させます。
$ source ~/.bashrc


パッケージを最新に更新しておきます。
$ sudo apt-get update
$ sudo apt-get upgrade

これで、サーバーのインストール部分については完了です。
次に必要なアプリケーションをインストールせねば・・・。

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

2008/03/22

VirtualBoxでVineLinux4.2を仮想化する

この間、VirtualBoxでUbuntu7.10(日本語版)を仮想化してみました。
思ったより簡単にできたので、今度はVineLinux4.2をインストールすることにしました。
というのも、我が家のWebサーバがVineLinux2.6で、既にサポート切れのためにBineLinux4.Xへの移行を考えているのだけれど、Apacheが1.3→2.2と明らかに環境が異なるので躊躇しているのです。
本番環境で検証するわけにもいかないし。

VirtualBoxでテスト環境を作って検証できれば、移行もスムーズに行くかもしれないと思ったわけです。

環境は、
CPU AthlonXP 2500+
グラフィック RADEON9600PRO
メモリ 1.5G
ホストOS(VirtualBoxをインストールした側) Windows2000
ゲストOS(仮想化側) VineLinux4.2
です。

VirtualBoxのインストールやネットワークの設定は、VirtualBoxでUbuntu7.10(日本語版)を仮想化した時に終っています。
VirtualBoxを起動して「新規」を選べばウィザードが出てくるので、それにしたがってインストールすればOKです。
OSのインストール方法を知っていれば、画面の設定以外は特に詰まる事も無く進めると思います。
ちなみに、メモリに512M、ビデオメモリに8M、ハードディスクに20Gを割り当てました。

とか言いつつ、最大の難関は画面です。
VineLinuxインストール時に、使っているモニタを聞かれるのですが、VirtualBox的にはモニタは何を使っていることになっているのだろう???
判らないので、そのまま進めたら解像度が800×600になってしまいました・・・。
これは使いにくい、ってので、再インストールしました・・・。
モニタは、なんかそれっぽい汎用的なのを選んでおくと良いのではないでしょうか?よく解りません。
私は LCD Panel 1280x1024 というやつを選んでいます。
でも解像度は1024x768になっているのですが、使いにくくもないのでそのまま使っています。

インストール直後の xorg.conf のモニタ部分は、

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "LCD Panel 1280x1024"
 ### Comment all HorizSync and VertSync values to use DDC:
    HorizSync    31.5 - 67.0
    VertRefresh  50.0 - 75.0
    Option        "dpms"
EndSection

Section "Device"
    Identifier  "Videocard0"
    Driver      "vesa"
    VendorName  "Videocard vendor"
    BoardName   "VESA driver (generic)"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Videocard0"
    Monitor    "Monitor0"
    DefaultDepth     24
    SubSection "Display"
        Viewport   0 0
        Depth     24
        Modes    "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

となっていました。

さて、OSのインストールが終れば、問題なく使えます。
ゲストとホストのマウスを切り替えるのには、右のCtrlキーを押せばOKです。
が、VirtualBox には Guest Additions という拡張ドライバがあり、これをインストールすればマウスをCtrlキーで切り替えなくても、ゲスト上にマウスポインタが有るか無いかでマウスが切り替わるので便利です。

VirtualBoxのメニューの、デバイスのGuest Additionsのインストールを選択すると、CDがマウントされた状態になるのでここからインストールするのは解るのですが、rootで VBoxLinuxAdditions.run を実行してもエラーになるんですよね・・・。

でネットで調べた所、日々のあしあとVirtualBox のインストール方法 (2)に使い方が載っていました。
# sh /media/VBOXADDITIONS_1.5.4_27034/VBoxLinuxAdditions.run
で、うまくいきました。
そっか。bashではだめなんですね。(汗)
ここのページは、Vineをホストにした場合のインストール方法も載っているので、参考になります。

これでVineLinux4.2の検証環境ができました。
設定に失敗した時はスナップショットで無かった事にできるので、大助かりです。

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

2008/02/23

VirtualBoxでUbuntu7.10(日本語版)を仮想化する。

OSの仮想化にはず~っと前から興味がありましたが、一度 QEMU をインストールした時にあまりに遅さにOSのインストールもままならず、それ以来ウチのPCで仮想化なんて無理な話なんだ・・・。と思って諦めていました。

そうこうしているうちに、主要な商用仮想化ソフトがどんどんフリーで使用可能になり、ネットでの評判もけっこういいみたいで、仮想化熱がまたフツフツと沸いてきたのであります。

しかも、Ubuntuだと、日本語版の仮想マシンを配布しています。
説明を読むと、仮想化ソフトをインストールして、仮想マシンを登録するだけ。という簡単さ!
これは試してみなくては!
ちなみに、今回はVirtualBoxを使用しました。

環境は、
CPU AthlonXP 2500+
グラフィック RADEON9600PRO
メモリ 1.5G
ホストOS(VirtualBoxをインストールした側) Windows2000
ゲストOS(仮想化側) Ubuntu7.10(日本語版)
です。


早速、Ubuntuのページの説明どおりにVirtualBoxをインストールし、ダウンロードしたUbuntu 7.10 の仮想マシンを登録すると、即動きました。
しかも、けっこう快適に!
体感的には、Pentium3 で動かしたぐらいの速度は出ているのではないでしょうか。
これは十分使えます。
VirtualBoxの設定で、サウンドに Windows DirectSound を選択すると、音も鳴りました。
ネットも標準で繋げます。
拍子抜けするくらい簡単にできました。

ここで疑問が。
ゲストOSでネットには繋げているけれども、ゲストOSをサーバとして使うことはできるのだろうか?
その場合、仮想化環境にはどうやって接続するんだ?
そもそも仮想化のネットワークってどのように認識しているんだ?


調べてみた所、デフォルトではNATでの接続のようです。
ホストOSがルータみたいになってるってことなのかな?
でもそうすると、ゲストOSは他から見えないことになってしまいます。
元々仮想化はサーバのリソースを有効に使おうという目的で発展しているので、ゲストOSが見えるようになる方法があるはずです。

またまた調べた所、やはり情報はいっぱい転がっていました。
ホストインターフェースを新規に作成すると、それが仮想的なネットワークアダプタとしてWindowsに認識されます。
1_2
それを、本物のネットワークアダプタとブリッジすれば、LANからゲストOSへアクセスできます。

ここで問題が。
ホストOSが WindowsXP であれば簡単にブリッジできるのですが、Windows2000 はデフォルトではブリッジできません。
ブリッジ用のツールをインストールするなりしないといけないようです・・・。
仮想化の実験のためだけにインストールする気にはなりません。

なんかいい方法が無いか探した所、ありました!
Windows2000でTAPwin32を利用する方法です。
ここでは、「インターネット接続の共有」を使うことによって、ブリッジではなくWindows2000をゲートウェイとして使用する方法で接続しています。
このページでは、VirtualBoxではなくcoLinux で仮想化されていますが、参考になりました。

ちなみに、ここまでマニアックなPCページなら他に有益な情報があるかもと思いトップページに行ったら、
なんと かのう クリニックのページ
だったので、驚きでした。
名古屋のお医者さんのページだったのです!
院長先生がかなりのパソコンマニアのようで、一般人は
Win2000・WinMe・Linuxのトリプルブート
なんてことは絶対しませんって・・・。

さて、
マイネットワークのプロパティから、本物のネットワークアダプタを選択しプロパティーを開きます。
共有タブを選択すると、
「この接続でインターネット接続の共有を使用可能にする」
というのがあるので、チェックを入れればOKです。
チェックを入れるには、ゲストOSが動いている必要があるかもしれません。

この方法では、ゲスト側のゲートウェイが192.168.0.1に固定されるので、LAN内で192.168.0.XってなIPを使っている場合は使えません。LAN全体を192.168.1.Xとかに変える必要があります。
我が家は幸い別のIPだったので、問題なく設定できました。

あとはUbuntuのネットワークの設定をIP固定にし、192.168.0.2とかにして、ゲートウェイを192.168.0.1とすれば、LANからゲストOSが見えます。
2_2
ここでちょっとハマったのが、毎度のファイアウォールです。

ホストOSからゲストOSは見えるのに、ゲストOSからはゲートウェイすら見えない状態になりました。
もちろんゲストOSはネットに繋げません。
ホストOSのファイアウォールを解除すると、繋げるようになりました。

ちなみに、Windows2000で使っている F-Secure Internet Security では、ファイアウォールに
「信頼済みのネットワークアダプタ」
という項目があり、これにゲストOSの仮想ネットワークアダプタを指定すればファイアウォールを起動したままゲストOSからインターネットに接続できます。

これで、ゲストOSにサーバをインストールし、実験三昧とかできるな~。
ちなみに下の画像は、Microsoft Excel 対 OpenOffice.org Calc ってな図です。
(特に意味は無い。)
冴子先生、どっち行ってるんですか!
Photo_2

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