スキルアップのための仮想マシン活用入門〜LinuxをインストールしてWebサーバーを動かそう〜

LinuC レベル1 Version 10.0対応版

株式会社びぎねっと
宮原 徹（@tmiyahar）© LPI-Japan / EDUCO all rights reserved.

講師プロフィール■ 株式会社びぎねっと 代表取締役社長兼CEO• 日本仮想化技術株式会社 代表取締役社長兼CEOでもある■ Linux・オープンソースに関するIT技術者教育を中心にビジネスを展開■ 現在は仮想化技術や自動化、DevOpsに関するソリューション提案を行っている■ LPI-Japan発行 メールマガジン 執筆者© LPI-Japan / EDUCO all rights reserved.

2

本日のアジェンダ
1. LinuCの概要
2. ポイント解説• Linux学習の進め方• Linux学習環境構築方法• Linuxインストールと基本設定 〜CentOSを使って• Webサーバーを動かしてみよう
LinuCの概要を理解し、Linuxの学習をスタートするためのポイントを掴む© LPI-Japan / EDUCO all rights reserved.

3LinuCの概要© LPI-Japan / EDUCO all rights reserved.

LinuCの特長
1. 開発理念■ 市場ニーズに基づいた高品質で信頼性の高い技術者認定を通し、技術者の育成と活躍の場を広げ、社会の発展に寄与する認定試験を目指します。
2. 理念に基づくLinuCの方向性■ 高品質で信頼性の高い認定を提供。（Phase １）■ 日本の市場ニーズに合った認定の提供。（Phase 2）■ 将来的にはアジア地域を中心に、其々の国のニーズに沿った認定試験配信を目指していく。
© LPI-Japan / EDUCO all rights reserved.

5試験の構成■ LPIC と同じ試験体系、試験範囲を採用。

StandardSpecialist※）どの試験から受験しても良い。

※）下位レベルの認定を取得していないと上位レベルの認定は取得できない。

2試験合格で認定取得

いずれか1試験合格で認定取得

304試験（仮想化&高可用性）
303試験（セキュリティ）300試験（混在環境）

202試験
201試験

2試験合格で認定取得

102試験101試験
LinuC レベル1 認定

LinuC レベル2 認定

LinuC レベル3 認定（LinuC-1）（LinuC-2）（LinuC-3）

物理／仮想環境の仮想マシン・コンテナを含む各分野の最高技術レベルの専門家

Linuxサーバーの構築・運用

Linuxシステム、ネットワークの設計・構築

304 Virtualization & High Availability
303 Security
300 Mixed Environment© LPI-Japan / EDUCO all rights reserved.

6LinuCレベル1/2がVer 10.0に
1. 現場で求められている技術要素に対応• クラウドを支える仮想化技術領域に拡大• オープンソースの文化への理解を追加• システムアーキテクチャの要素を導入

2. 全面的に見直した出題範囲
新しい技術要素の追加はもちろん、古い技術の削除や入れ替え、出題構成の見直し、出題範囲の記述の詳細化と平易な説明文への変更と併せて、学びやすさ教えやすさを実現

3. Linuxにとどまらない認定領域
Linuxシステムの構築・運用に関わるLinux技術者にとどまらず、クラウドシステムや各種アプリケーション開発に携わるIT技術者にとっても有効な技術認定へ発展© LPI-Japan / EDUCO all rights reserved.

7

学習の方法■ 出題範囲をしっかり把握• 関連キーワードはすべて調べる■ 基礎的なLinuxの操作方法を学習• インストールからコマンド操作、Linuxシステム管理基
礎レベル（ユーザ管理等）• カバーされない範囲については、別途周辺情報で知識を補う（PC自作なども効果的）■ Linuxを使う目的を明確にした学習目標• 例）Webサーバーを動かす© LPI-Japan / EDUCO all rights reserved.

8Linux学習環境構築方法© LPI-Japan / EDUCO all rights reserved.

LinuCの出題範囲との関係■ 学習環境構築は主に以下の出題範囲と密接に関係しています■ 1.01.2

仮想マシン・コンテナの概念と利用■ 1.05.1

ハードウェアの基礎知識と設定■ 1.07.2基本的なネットワーク構成■ スムーズにLinuxの学習を進めるためにも、使いやすい学習環境を構築するのがスキルアップの近道です© LPI-Japan / EDUCO all rights reserved.

10

仮想マシンとは■ ソフトウェアでもう1台のPCを再現する技術■ ホストOSにはLinuxやWindows、macOSを使用■ 仮想マシン内で別のゲストOSを実行可能■ HDDやメモリの許す限り、複数の仮想マシンを実行可能

アプリケーション
ゲスト OS

ネイティブアプリ
ケーション

仮想マシン
ホストOS
ホストハードウェア© LPI-Japan / EDUCO all rights reserved.

11

VirtualBoxについて■ GPLで公開されているホストOS型
仮想マシンソフトウェア• ホストOSはWindows,Linux,macOS,Solarisをサポート■ 現在、バージョン6系が開発されている• バージョンアップサイクルがとても早い■ http://www.virtualbox.org からダウンロード© LPI-Japan / EDUCO all rights reserved.

12

VirtualBoxを活用した学習環境構築■ 仮想マシンは何度も作り直せる• 何回もOSインストールを試してみる• スナップショット機能で途中経過を保存、復元可能■ いろいろなディストリビューションをインストールしてみる• LinuxディストリビューションをISOイメージで• Windowsも動作可能なので試用版で検証可能■ ゲストOSをサーバー、ホストOSをクライアントにしてクライアント／サーバー型接続を試す• Webサーバー構築やSSHログインなど© LPI-Japan / EDUCO all rights reserved.

13

VirtualBoxのネットワーク設定■ 接続したいネットワーク形態によって変更■ 仮想ネットワークアダプタ毎に設定可能
外部と接続

仮想ネットワーク種
別接続方法

NAT

物理ネットワークとNAT

NATネットワーク

物理ネットワークとNAT

ブリッジ

物理ネットワークに直• 外部との接続は、どのように接続させたいかに
結よって「NAT」か「ブリッジ」を選択
内部だけで接続
内部ネットワーク仮想マシンのみ
ホストオンリーアダ ホスト＋仮想マシンの• 「NATネットワーク」は仮想マシン間で接続可能
プタ
み• 内部だけでの接続は、内部ネットワークは使いに© LPI-Japan / EDUCO all rights reserved.

14

物理ネットワークの基本形

物理スイッチ

物理NIC
物理マシン

物理NIC
物理マシン

© LPI-Japan / EDUCO all rights reserved.

15

ホストオンリーアダプター
ネットワーク 192.168.56.0/24 56.100
56.101-254
仮想スイッチ

DHCP
サーバー

仮想NIC

ホストオンリーアダプター

192.168.56.101
仮想マシン

192.168.56.1
ホスト© LPI-Japan / EDUCO all rights reserved.

16

NAT

仮想スイッチホストから仮想マシンに接続できないのが難点

仮想ポート
仮想NIC
仮想 デフォルト
ホスト NAT
マシン ゲートウェイ
物理NIC© LPI-Japan / EDUCO all rights reserved.

17

VirtualBoxのネットワーク設定例
ホストオンリーネットワークの設定
1. ホストネットワークマネージャーを呼び出します• 呼び出し方は複数あります

2. 「vboxnet0」を選択し、右側のドライバーアイコンをクリック• 存在しない場合は新規作成

3. アダプターのIPアドレスを確認・設定• このIPアドレスがホスト側の仮想NICに割り当て

4. 「DHCPサーバー」タブを選択し、設定を入力• DHCPを使わない設定でも問題なし© LPI-Japan / EDUCO all rights reserved.

18

仮想マシンの作成例（CentOSの場合）
1. 名前を入れる（識別可能なように命名）
2. タイプ：Linuxを選ぶ
3. Red Hat (64bit)を選ぶ• CentOSの選択肢がないので一番近いものを選ぶ• インストールISOは64ビット版を使用する前提

4. メモリは1024MB〜ぐらいで• 700MB以下だとCUIでMinimalインストールだけに

5. 仮想ハードディスクファイルを追加• 設定はデフォルトでOK!!

6. ストレージの設定でISOイメージを選ぶ• 仮想DVDドライブはIDEに接続されています

7. ネットワークを適宜変更• アダプター1のNAT接続（デフォルト）を確認• アダプター2を有効にしてホストオンリーアダプター接続に設定© LPI-Japan / EDUCO all rights reserved.

19

Linuxインストールと基本設定© LPI-Japan / EDUCO all rights reserved.

LinuCの出題範囲との関係■ Linuxインストールと基本設定は主に以下の出題範囲と密接に関係しています■ 1.01.1
止Linuxのインストール、起動、接続、切断と停■ 1.04：リポジトリとパッケージ管理■ 1.05.2

ハードディスクのレイアウトとパーティション■ 1.07：ネットワークの基礎■ インストール作業で実際にどのようなことが行われるかを理解し、目的に合わせたシステム環境を構築できる基礎をしっかりと身につけましょう© LPI-Japan / EDUCO all rights reserved.

21

Linuxインストールと設定のポイント■ 基本的には最小インストールから必要なパッケージを追加インストールしていく• クラウドで用意されるイメージはこのパターンが多い■ 学習用であればGUIや開発ツールをインストールしておくと良い• 各種ビルド作業やモジュールのインストールなどに開発ツールが必要■ インストール後、ネットワーク周りの設定を確認• GUI設定ツールを使ってもいいのでIPアドレスの変更ができるようになっていると学習がはかどる• 初学者のトラブルは大体がネットワーク関係が原因© LPI-Japan / EDUCO all rights reserved.

22

CentOS インストールISOの入手■ CentOSのWebサイトからダウンロード可能
1. https://www.centos.org/ にアクセス
2. 「GET CENTOS」をクリック
3. 「CentOS Linux DVD ISO」をクリック
4. 手頃なミラーサイトのリンクをクリック
5. ISOイメージをダウンロード、保存© LPI-Japan / EDUCO all rights reserved.

23

ネットワーク関係の設定確認■ IPアドレスの確認• # ifconfig• # ip addr show （# ip a も可）■ 外部通信の確認• # ping IPアドレス• # route■ 名前解決の確認• # dig ホスト名

■ GUI設定ツールの使い方を確認• IPアドレス等の設定変更© LPI-Japan / EDUCO all rights reserved.

24

Webサーバーを動かしてみよう© LPI-Japan / EDUCO all rights reserved.

LinuCの出題範囲との関係■ Webサーバーは主に以下の出題範囲と密接に関係しています■ 1.01.3

ブートプロセスとsystem■ 1.04：リポジトリとパッケージ管理■ 1.01.4

プロセスの生成、監視、終了■ 1.07.1

インターネットプロトコルの基礎■ Webサーバーの動作までできれば基本的なサーバー構築の一連の流れが把握できます© LPI-Japan / EDUCO all rights reserved.

26

Webサーバーを動かすには■ Webサーバーのインストール• yumコマンドの実行• インターネットへの接続■ サービスの起動と停止• systemdの理解© LPI-Japan / EDUCO all rights reserved.

27よく使うyumコマンド

インターネットに接続できる前提で■ パッケージ表示系• # yum list
• # yum grouplist■ インストール系• # yum install パッケージ名• # yum groupinstall パッケージグループ名© LPI-Japan / EDUCO all rights reserved.

28

systemd関連ディレクトリとシステム起動■ /usr/lib/systemd/system/• /etc/rc.d/init.d/に相当■ /etc/systemd/system/• サービス起動スクリプトに対するシンボリックリンクが配置• /etc/rc.d/に相当■ システム起動時のスクリプト遷移
1.
2.
3.
4.

/etc/systemd/system/sysinit.target.wants/• rc.sysinit スクリプト相当/etc/systemd/system/basic.target.wants/• システム共通に実行されるスクリプト

状態が遷移していく/etc/systemd/system/multi-user.target.wants/• 従来のランレベル3（CUI）に相当/etc/systemd/system/graphical.target.wants/• 従来のランレベル5（GUI）に相当© LPI-Japan / EDUCO all rights reserved.

29

Webサーバーのインストールと起動
1.

Webサーバーのインストール• # yum install httpd• 依存関係が解決されて必要なパッケージがインストールされる

2.

Webサーバーの起動• # systemctl start httpd• # service httpd start でも可（やっていることは同じ）

3.

Webサーバーへのアクセス• 端末を起動してcurlコマンドでテストアクセス• # curl http://localhost• HTMLが表示されたらOK

4.

Webサーバーの停止• # systemctl stop httpd• curlコマンドを再度実行してどうなるかを確認

5.

ホストOSのWebブラウザからも接続• ホストオンリーアダプター経由での接続• 調べたゲストOSのIPアドレスにアクセスしてみる© LPI-Japan / EDUCO all rights reserved.

30

まとめ
■ 学習の目標を定めよう• 例）Linuxを使ったWebサーバー構築■ できるだけ沢山Linuxに触る• コマンドライン中心に、苦労なく触れる程度に• 色々なディストリビューションを試してみる■ 自分なりに説明できること• 教えることが最高の学習© LPI-Japan / EDUCO all rights reserved.

31

LPI-Japanメルマガのご紹介■ 『LinuC通信』• Linuxオープンソース関連ニュース• Linuxの利用に役立つTipsやテクニック• LinuC合格者の声■ 『LinuC Level2・Level3を受けてみよう！』• Level2・Level3の例題解説• Level2・Level3を取得するメリット、活用の事例など• Level1をお持ちでない方にも役立ちます
http://www.lpi.or.jp/mail/© LPI-Japan / EDUCO all rights reserved.

32