2009年4月13日月曜日

VirtualBoxにCentOS 5.3をインストールして、ローカルからsshでアクセスできるようになるまで

MacBook Pro、MacOS X 10.5.6のVirtualBox2.2にCentOS 5.3をインストールしました。
走り書きなので完全にメモ用です。いずれ分かりやすくまとめ直すかも……。

VirtualBox
CentOS

ふつうにDVDイメージをダウンロードするとかなり重いので、BitTrrentクライアントをインストール。
自分はTransmissionというのを入れた。
Transmission

http://isoredirect.centos.org/centos/5/isos/x86_64/
から適当なミラーに入り、CentOS-5.3-x86_64-bin-DVD.torrentをダウンロード。
それをTransmissionのウィンドウにドラッグ。addを押すとダウンロードが始まる。
たぶん普通にDVDイメージを落とすより速い。

VirtualBoxの新規仮想マシンを作成。
オペレーティングシステムはLinux、バージョンはLinux 2.6にする。(RedHatのがいいかも)
設定→ストレージ→CD/DVD-ROM を開き、「CD/DVDドライブのマウント」にチェック。
ISOイメージファイルを選び、先にダウンロードしたDVDイメージを選択する。
これでDVDを焼かずにインストールできる。

ITPro/インストール完全ガイド:CentOS 5.3
CentOSで自宅サーバー構築
等を見ながらインストール。
ブログでは、林檎生活100: CentOS 5でつくるPHP開発サーバ.#1,#2,#3,#4,#5
がとても役に立った。
デフォルトでも良いけれど、たぶん開発環境(gcc)だけは入れておいた方が良い。

httpを起動する
# yum -y install httpd
# /sbin/chkconfig httpd on
# /etc/rc.d/init.d/httpd start

ドキュメントディレクトリのオーナーを変更
# chown -R <ユーザ名> /var/www/html

この状態でゲストOSから
http://localhost/
でcentOSのapacheページが見られる。

ホストOS側からssh接続できるようにする。
VirtualBox on Mac OS X で、ゲスト OS に ssh/http アクセスするまで - 腹八分目
を参考にしました。
ゲストのCentOSを終了して、Macのターミナルから次を設定。
$ VBoxManage setextradata "CentOS" "VBoxInternal/Devices/
e1000/0/LUN#0/Config/guestssh/Protocol" TCP
$ VBoxManage setextradata "CentOS" "VBoxInternal/Devices/
e1000/0/LUN#0/Config/guestssh/GuestPort" 22
$ VBoxManage setextradata "CentOS" "VBoxInternal/Devices/
e1000/0/LUN#0/Config/guestssh/HostPort" 50022
$ VBoxManage setextradata "CentOS" "VBoxInternal/Devices/
e1000/0/LUN#0/Config/guesthttp/Protocol" TCP
$ VBoxManage setextradata "CentOS" "VBoxInternal/Devices/
e1000/0/LUN#0/Config/guesthttp/GuestPort" 80
$ VBoxManage setextradata "CentOS" "VBoxInternal/Devices/
e1000/0/LUN#0/Config/guesthttp/HostPort" 50080

ここでハマったのが、「e1000」の部分。ここはVirtualBox側から見るネットワークアダプタの名前。参考ブログ側だと「pcnet」となっているけれど、自分の環境ではアダプタタイプがIntel PRO/1000 MT Desktop (82540EM) となっていて、この場合は「e1000」と書かなきゃいけない。
「"CentOS"」は自分の仮想マシンの名前。
※もっと簡単な方法もあります!

これで、Macのターミナルからssh接続で
$ ssh -p 50022 -l <ユーザ名>localhost

でアクセスできる。

CyberduckでファイルをUPする場合は、
プロトコル:SFTP
サーバ:localhost
ポート:50022
で接続できる。

http://localhost:50080/
をブラウザで開けば、さっきのapacheのページが…開かない。
これはCentOS側のファイヤーウォールの問題だった。CentOSのシステム→管理→セキュリティレベルとファイヤーウォールの設定 から、ファイヤーウォールを無効にする。

ログイン時にxWindowを立ち上げないようにする。
viで/etc/inittab を編集。
# vi /etc/inittab
id:5:initdefault の行を、id:3:initdefaultにして保存。
xWindowを立ち上げたいときは、
$ startx
を入力する。
仮想マシンの電源を落とす。
# shutdown -h now

2 件のコメント:

匿名 さんのコメント...

http://localhosts/ではなく、localhostですね。

kanemu1117nc さんのコメント...

修正しました、ありがとうございました。