仮想環境を実現する代表的なソフトウェアの1つであるVMWare Playerを用いて,サーバとして利用できる仮想コンピュータを構築する.
本実験では,前回にセットアップしたCentOS5.5をゲストOSとしてインストールし,Webサーバの機能を持つサーバを構築する.
実験は,計算機演習室のPCでWindows 7を起動して行う.
仮想化ソフトであるVMWare Player 3.1.3の操作やLinuxのコマンドなどでわからない事は,VMWare社のHPにあるマニュアルを探して調べたり,インターネットで検索しながら実験を進めること.
実験は,計算機演習室の左側3列に配置されているコンピュータの番号が,I001〜I007, I017〜I023, I033〜I039, I048〜I054, I064〜I070のものを使用すること.
ここをクリックしてグルーブ番号に対応したコンピュータ番号を確認して使用すること.
2GB以上の空き容量のあるUSBメモリ
(実験で作成した仮想環境のデータは,Windows 7を終了すると,全て消えてしまうため,バックアップを取りたい場合には準備すること)
| 1. 仮想コンピュータの作成 | ゲストOSとバージョンの設定 |
| 仮想マシン名と格納場所の設定 | |
| ディスク容量の指定と仮想ディスクのファイル設定 | |
| ハードウェア(メモリ,CD)のカスタマイズ | |
| 2. Linuxのインストール | パーティションの設定 |
| ネットワークの設定 | |
| 各種サービス名の調査 | |
| 3. ソフトウェアのインストール | yumを用いたgccのインストール |
| apacheソースコードの取得 | |
| apacheのコンパイル | |
| (selinuxの停止) | |
| iptablesの設定 | |
| 4. サーバの運用 | ネットワーク接続形態の変更 |
[実験1] 仮想コンピュータを作成しなさい.
デスクトップにある「VMWare Player」のアイコンをクリックして起動する.
| 注意1: 「インストール元」 | |
| 「後でOSをインストール」を選択する. | |
| 注意2: 「ゲストOSの選択」 | |
| ゲストOSは,Linuxを選択し,バージョンは,CentOSを選ぶこと. | |
| 注意3:「格納場所」 | |
| CentOSフォルダ(C:¥VM¥CentOS)を指定すること. (バックアップする場合には,このフォルダをUSBメモリにコピーする.) | |
| 注意4:「仮想ファイル」 | |
| 「仮想ファイルを複数のファイルに分割」を選択すること. | |
| 注意5:「ハードウェアをカスタマイズ」 | |
| 「デバイス」から「新規CD/DD(IDE)」を選択し,「ISOイメージファイルを使用する」にチェック後「参照」をクリックする.「ネットワーク」の中から「TM001」を選択し,自分のPC番号が偶数の場合は¥¥TM001¥CentOS-even¥CentOS-5.5.iso,奇数の場合は¥¥TM001¥CentOS-odd¥CentOS-5.5.isoをISOイメージファイルとして使用すること. ネットワークアダプタは,NAT接続(デフォルトの設定)となっていることを確認すること. | |
上記の注意事項を守らなかった場合,仮想コンピュータは作成されるものの, この後の実験を進めることができないため,やり直しとなる.
VMWare Playerのウィンドウの左上に"CentOS"が表示されたら実験1は終了である.
[課題1] 仮想コンピュータを作成する際に,ウィザードに指示を求められる.その際,
- 指示を求められた内容とどのように項目を設定したか - 画面のキャプチャ([Alt]キーを押しながら[Print Screen]キー)または,撮影した映像
をレポートに記せ.
[実験2] 実験1で作成した仮想コンピュータに,ゲストOSとしてLinux(CentOS)をインストールしなさい.
「仮想マシンの再生」をクリックするとインストーラが起動する.
基本的には,第3回のLinuxのインストールと同様に作業する.
ただし,必ず,以下の4点の注意に従うこと.
また,下記の[課題2.1]に目を通し,適宜記録を行いながら実験を進めること.
| 注意1: 「パーティションの設定」 | |
| 仮想ハードドライブ全体にLinuxをインストールし,デフォルトのレイアウトを作成すること. | |
| 注意2: 「ネットワークの設定」 | |
| ネットワークデバイスの設定は,デフォルトの設定をそのまま使用する. ホスト名は,「sv-**」のように設定すること.「**」の部分は,使用しているコンピュータの番号とし,コンピュータ番号がI021の場合は,「sv-21」と設定する. | |
| 注意3: 「ソフトウェアの設定」 | |
| セットアップ中に,「インストール設定」という設定項目で,「デスクトップ」「サーバ」などの項目を選択するよう指示を求められる.本実験では,「Server」のみを選択すること.また,このとき「今すぐカスタマイズ」を選択しておくこと. | |
| 注意4:「サービスの設定」 | |
| インストールするパッケージをカスタマイズする項目で,「サーバ」欄の全てのサービスのチェックを外すこと. これは,下記の実験3において,手動でサービスをインストールする実験を行うためである. | |
上記の注意事項を守らなかった場合,Linuxは正常にインストールされるものの, この後の実験を進めることができなくなるためやり直しとなる.
再起動を行うよう指示を受けた時点で,実験2は終了である.
[課題2] インストールを行う間,何度かインストーラに指示を求められる.その際,
- 指示を求められた内容とどのように項目を設定したか - 画面のキャプチャ([Alt]キーを押しながら[Print Screen]キーを押す)または,撮影した映像
をレポートに記せ.
インストール終了後,再起動を行うと「Setup agent」が起動する.本実験ではSetup agentの起動画面では「Exit」を押して終了する.
ログイン画面が表示されたら,login: プロンプトの後ろに「root」と入力し,先ほど設定した管理者パスワードを入力する.
[課題3.1] ホストOSであるWindows XPのIPアドレスを調べ,仮想コンピュータにインストールしたゲストOSであるLinuxが,ホストOSとネットワーク接続できるかを確認しなさい.
また,接続先として,学科のWebサーバであるinf(inf.ibe.kagoshima-u.ac.jp,163.209.132.2)や,学外のサーバ(任意のサーバ)に対しても接続テストを行いなさい.
[実験3.1] パッケージ管理ソフトyumを用いて,C/C++言語のコンパイラであるgccをインストールしなさい.
# yum -y install gcc
[課題3.2] /tmpディレクトリに移動し,Webサーバソフトapacheを,ソースコードからインストールしなさい.
1. apacheのWebサイトから,wgetコマンドを用いてソースコードを取得する.
# wget http://www.meisei-u.ac.jp/mirror/apache/dist/httpd/httpd-2.2.24.tar.gz
2. 取得したファイルが正規のものであることを確認する.
# wget http://www.apache.org/dist/httpd/httpd-2.2.24.tar.gz.sha1 # cat httpd-2.2.24.tar.gz |openssl sha1 # cat httpd-2.2.24.tar.gz.sha1
上記2つのハッシュ値が同じであることを確認する.
3. 取得したファイルをtarコマンドを使って解凍する.
4. configureコマンド,makeコマンドを用いて,apacheをコンパイルする.INSTALLファイルを参考にすること.
5. make installコマンドを用いて,apacheをインストールする.
6. エディタ(vi)を用いて,設定ファイル(/usr/local/apache2/conf/httpd.conf)を編集する.設定すべき箇所は下記の通り.
[httpd.confの設定変更箇所の例] ServerName sv-**.ibe.kagoshima-u.ac.jp ServerAdmin sc******@ibe.kagoshiima-u.ac.jp(実験者のメールアドレス) Include conf/extra/httpd-userdir.conf の先頭の#を削除
7. apacheをサービスとして起動する.一般的にはserviceコマンドを用いるが,本実験ではソースコードからインストールを行ったため,apachectlコマンドを用いる.
# /usr/local/apache2/bin/apachectl start
[課題3.3] ファイアウォール(iptables)の設定を行い,サーバへのhttp通信を許可しなさい.ファイアウォールの設定ファイルは,/etc/sysconfig/iptablesである.http通信はTCP 80番ポートが使われるため,外部からサーバのTCP 80番への通信を許可すればよい.
編集後,「service iptables restart」と打つことで,設定内容を反映できる.
[実験3.2] Webサーバを起動しているゲストOSのIPアドレスを確認して,ホストOSであるWindows XPから,課題3.3で設定したWebサーバにアクセスできるかどうかを確認しなさい.
Webサーバにアクセスできない場合は,教員やTAと相談して原因を特定しなさい.
[実験4] 仮想コンピュータのネットワーク接続形態をBridge接続に変更し,計算機演習室のネットワーク(10.200.30.0)の他のコンピュータからWebサーバがアクセスできるように固定IPアドレスを設定しなさい.
1. 仮想コンピュータをシャットダウンして,「仮想コンピュータ設定の編集」からネットワークアダプタの設定をBridge接続に変更する.
2. 仮想コンピュータを起動して,
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/resolv.conf
を適切に編集し,ネットワークの設定を下記のように変更する. ただし、どのように編集するかは,「ifcfg-eth0」や「resolv.conf」をキーワードとして各自調べなさい.
ネットワーク設定(ifcfg-eth0):
IPアドレス: 10.200.30.**
上記の"**"は,ここをクリックし,コンピュータの番号に対応したIPアドレス を指定しなさい.
ゲートウェイ: 10.200.30.254 ネットマスク: 255.255.255.0
DNS設定(resolv.conf):
1番目のDNS: 10.200.2.1 2番目のDNS: 10.200.2.2
3. ネットワークの設定を変更したら,
service network restart
でネットワークを再起動した後,他のPCから設定したapacheサーバに接続できるか確認する.
接続できない場合には、仮想コンピュータのCentOSをシャットダウン(/sbin/shutdown -h now)させた後,もう一度VMwareとCentOSを起動して確認すること. ただし,apacheサーバを起動することを忘れないこと.
[課題4.1] 実験者のユーザアカウントを作成せよ.
[課題4.2] 各ユーザのWebページを作成し,ホストOSから閲覧できることを確認せよ.作成するWebページは,下記のような非常に単純なものでよい.
各ユーザのWebページは,「/home/***(ユーザ名)/public_html/」ディレクトリに,index.htmlという名前で作成する.ホストOSから閲覧する際は,「http://10.200.30.xx/~***(ユーザ名)」と入力する.
例:
<html> <head>Test</head> <body> This is a test Web page to check if our server works. </body> </html>
作成したWebページを閲覧できない場合は,各ユーザのディレクトリ(/home/***(ユーザ名))および各ユーザのpublic_htmlディレクトリのパーミッションを確認すること.ファイルおよびディレクトリの所有者だけでなく,全てのユーザに読み込み,実行の権限が与えられる必要がある.
[課題4.3] 設定が終わったら,他のコンピュータから作成したWebページにアクセスできるか確認しなさい.
[課題4.4] 仮想コンピュータのネットワーク接続形態にはどのようなものがあるか,また,それぞれの接続形態の特長を調べてレポートに書きなさい.