仮想コンピュータを用いたサーバのセットアップ †仮想環境を実現する代表的なソフトウェアの1つであるOracle VM VirtualBoxを用いて,サーバとして利用できる仮想コンピュータを構築する. 本実験では,Ubuntu Server 16.04 LTSをゲストOSとしてインストールし,Webサーバの機能を持つサーバを構築する. 実験は,電算機演習室のPCでWindowsを起動して行う. 仮想化ソフトであるOracle VM VirtualBoxの操作やLinuxのコマンドなどでわからない事は,Oracle社のHPにあるマニュアルを探して調べたり,インターネットで検索しながら実験を進めること. 注意事項 †実験は,電算機演習室の左側3列に配置されているコンピュータの番号が,st001〜st007, st017〜st023, st033〜st039, st048〜st054, st064〜st070のものを使用すること. 準備するもの(希望者のみ) †4GB以上の空き容量のあるUSBメモリ (実験で作成した仮想環境のデータは,Windowsを終了すると,全て消えてしまうため,バックアップを取りたい場合には準備すること) 実験内容 †
実験手順および課題 †1. 仮想コンピュータの作成 †[実験1] 仮想コンピュータを作成しなさい.
#ref(): File not found: "ICON2.png" at page "CAOS-04-H29" デスクトップにある「Oracle VM VirtualBox」のアイコンをクリックして起動する.
上記の注意事項を守らなかった場合,仮想コンピュータは作成されるものの, この後の実験を進めることができないため,やり直しとなる. Oracle VM VirtualBoxのウィンドウの左上に"UbuntuServer"が表示されたら実験1は終了である.&ref(): File not found: "VB104.png" at page "CAOS-04-H29"; [課題1] 仮想コンピュータを作成する際に,ウィザードに指示を求められる.その際, - 指示を求められた内容とどのように項目を設定したか - 画面のキャプチャ([Alt]キーを押しながら[Print Screen]キー)または,撮影した映像 をレポートに記せ. 2. Linuxのインストール †[実験2] 実験1で作成した仮想コンピュータに,ゲストOSとしてLinux(Ubuntu)をインストールしなさい. 「起動」をクリックするとインストーラが起動する. ただし,必ず,以下の8点の注意に従うこと. また,下記の[課題2]に目を通し,適宜記録を行いながら実験を進めること.
上記の注意事項を守らなかった場合,Linuxは正常にインストールされるものの, この後の実験を進めることができなくなるためやり直しとなる. 再起動を行うよう指示を受けた時点で,実験2は終了である. [課題2] インストールを行う間,何度かインストーラに指示を求められる.その際, - 指示を求められた内容とどのように項目を設定したか - 画面のキャプチャ([Alt]キーを押しながら[Print Screen]キーを押す)または,撮影した映像 をレポートに記せ. ログイン画面が表示されたら,login: プロンプトの後ろにユーザ名「exp3」を入力し,先ほど設定したパスワードを入力する. 3. ソフトウェアのインストールおよび設定 †
# sudo apt install build-essential make wget libpcre3 libpcre3-dev [課題3.2] /tmpディレクトリに移動し,Webサーバソフトapacheを,ソースコードからインストールしなさい. 1. apache2.4ではAPR(Apache Portable Runtime)のインストールが必要である.wgetコマンドで,apr, apr-util のソースコードをミラーサイトからダウンロードする. # wget http://ftp.jaist.ac.jp/pub/apache/apr/apr-1.5.2.tar.bz2 # wget http://ftp.jaist.ac.jp/pub/apache/apr/apr-util-1.5.4.tar.bz2 2. 同様に,apache のソースコードもダウンロードする. # wget http://ftp.jaist.ac.jp/pub/apache/httpd/httpd-2.4.25.tar.bz2 3. ls コマンドで,3つのファイルがダウンロードされていることを確認する. 4. 取得したファイルが正規のものであることを確認する. # wget http://www.apache.org/dist/httpd/httpd-2.4.25.tar.bz2.sha1 # cat httpd-2.4.25.tar.bz2 | openssl sha1 # cat httpd-2.4.25.tar.bz2.sha1 5. 同様に,apr と apr-util についても改竄されていないかを確認する. 6. tarコマンドで,圧縮されたファイルhttpd-2.4.25.tar.bz2を展開する. # tar jxvf httpd-2.4.25.tar.bz2 7. 同様に,apr-1.5.2.tar.bz2, apr-util-1.5.4.tar.bz2も展開する. 8. lsコマンドで,apr-1.5.2 と apr-util-1.5.4の2つのフォルダが存在することを確認した後,フォルダ名をそれぞれ apr と apr-util に変更して httpd-2.4.25/srclib/に保存する. # mv apr-1.5.2 httpd-2.4.25/srclib/apr # mv apr-util-1.5.4 httpd-2.4.25/srclib/apr-util 9. cdコマンドで,httpd-2.4.25 へ移動する. 10. configureコマンド,makeコマンドを用いて,apacheをコンパイルする. 11. 管理者権限で make installコマンドを実行し,apacheをインストールする.
14. apacheをサービスとして起動する.一般的にはserviceコマンドを用いるが,本実験ではソースコードからインストールを行ったため,apachectlコマンドを用いる. # sudo /usr/local/apache2/bin/apachectl start
4. サーバの運用 †[実験4] 仮想コンピュータのネットワーク接続形態をBridge接続に変更し,電算機演習室のネットワーク(10.200.30.0)の他のコンピュータからWebサーバがアクセスできるように固定IPアドレスを設定しなさい. 1. 仮想コンピュータをシャットダウンして,「仮想コンピュータ設定の編集」からネットワークアダプタの設定をBridge接続に変更する. #ref(): File not found: "VM401.png" at page "CAOS-04-H29" 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.11 2番目のDNS: 10.200.2.12 3. ネットワークの設定を変更したら, service network restart でネットワークを再起動した後,他のPCから設定したapacheサーバに接続できるか確認する. 接続できない場合には,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] 仮想コンピュータのネットワーク接続形態にはどのようなものがあるか,また,それぞれの接続形態の特長を調べてレポートに書きなさい.
|