SlideShare a Scribd company logo
1 of 26
Download to read offline
SOLA勉強会 第2回目

Vagrant入門
自己紹介
大原 慎一郎 https://twitter.com/ohhara_shiojiri
(有)トラストネットワークス 塩尻インキュベーションプラザ108号室
サーバーやルーター、スイッチなどのインフラ系のシステム構築、運用、管理、監視、
保守を行っています。

http://shiojiri-osslabo.com/
・長野県塩尻市に活動拠点を置く、市内プログラマー有志による団体
・「オープンな環境でオープンな活動を目指す」を合言葉に集う
・CoderDojo Shiojiri 開催 ・小学生高学年向けRuby教室開催
・オープンソースCMS ZOMEKIを使ったサイト構築
・塩尻市と東京都三鷹市で交互にOSS勉強会開催
・IT技術書をリブライズで貸し出し、また市立図書館と協力
本日のアジェンダ
・自分専用のサーバーが欲しい!
・Vagrantとは何か?
・仮想マシン環境(Provider)
・Vagrantインストール
・Boxファイル用イメージ
・Vagrantコマンド
・Vagrantプラグイン
・ネットワーク設定
・次回 プロビジョニング(Provisioning)
自分専用のサーバーが欲しい!
・共有サーバーでは自由に使えない。
・複数案件でサーバーが複雑化(VirtualHost)
・webサーバーのport80番を使いたい!
・XAMPP入れたけど、うまく動かない!
・自分の環境だけor以外で動かない!
・開発学習する自分専用のサーバーが欲しい!
・でもサーバーを準備するお金が無いorz
・ネットが使えない場所でも開発学習したい!
Vagrantとは何か?
・仮想サーバー環境の自動化ツール
・自分のPCに仮想サーバーを複数作成出来る。
・仮想サーバーは自分専用で自由に使える。
・作成や起動停止など、コマンド1つで完結
・サンドボックス機能で、過去に戻れる!
・クラウド対応で、そのまま本番へ展開出来る。
・Chef+Gitでサーバー構築手順を自動化
・Windows,MacOSX,Linuxに対応
仮想マシン環境(Provider)
・対応している仮想マシン環境(Provider)
 VirtualBox,VMWare,AWS(EC2)
・今回はVirtualBoxをインストールします。
 https://www.virtualbox.org/wiki/Downloads
 最新版4.3.4でも動作しますが、4.2系を選択。
 各OSに合わせてインストールして下さい。
Vagrantインストール
・Vagrantをインストールします。
 http://downloads.vagrantup.com/
 ※2013年12月13日時点の最新版v1.3.5
 各OSに合わせてインストールします。
・インストール後、bash端末画面で確認します。

vagrant -v
Boxファイル用イメージ
・仮想サーバーのイメージファイル
・公開されているVagrantイメージ
 http://www.vagrantbox.es/
 動作するProviderに合わせて選択します。
 今回はCentOS6.4のURLをCopyします。
CentOS 6.4 x86_64 Minimal (VirtualBox Guest Additions 4.2.16, Chef 11.6.0, Puppet 3.2.3)
http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box
Vagrantコマンド
・Boxファイルの作成
例 vagrant box add [BOXファイル名] [URL]
vagrant box add centos64 http://developer.nrel.
gov/downloads/vagrant-boxes/CentOS-6.4-x86_64v20130731.box

イメージファイルをダウンロードしてBOXファイルを作成します。
1度作成されたBoxファイルは流用出来ます。
分かりやすい[BOXファイル名]を付けましょう。
Vagrantコマンド
・Vagrantfileの作成
例 vagrant init [BOXファイル名]
vagrant init centos64
仮想サーバー環境の初期設定ファイルを作成します。
作成したBoxファイル名を指定します。
コマンドを実行したディレクトリ配下に作成されるので、事前に
適切なディレクトリを作成して移動します。
Vagrantコマンド
・起動
vagrant up
 Vagrantfileを作成したディレクトリで実行します。

・状態表示
vagrant status
 仮想サーバーの状態を確認出来ます。
Vagrantコマンド
・サスペンド
vagrant suspend
 仮想サーバーを一時停止します。

・シャットダウン
vagrant halt
 仮想サーバーをシャットダウンします。
Vagrantコマンド
・破棄
vagrant destroy
 仮想サーバーを破棄します。
 中身は消えますが、Vagrantfileから再度、仮想サーバーを
 新規作成することができます。
Vagrantコマンド
・SSHクライアントのインストール
 sshクライアントを使用して仮想サーバーへログインします。
 コマンドライン操作する為、各OSに応じてインストールしま
す。
 Windowsの場合
  Git bash(MINGW32) http://git-scm.com
 Linuxの場合(インストール済みの場合が多い)
  RedHat(CentOS)系 → yum install openssh-clients
  Debian(Ubuntu)系 → apt-get install ssh
 MacOSXの場合
  標準でインストール済み
Vagrantコマンド
・SSHクライアントの設定
 SSH接続設定ファイルを作成します。
 Vagrantに自動作成コマンドがあります。
例 vagrant ssh-config --host [ホスト名] >> ~/.ssh/config
vagrant ssh-config --host centos64 >> ~/.ssh/config

 ユーザーディレクトリ配下へ.ssh/configファイルが出来ます。
 
Vagrantコマンド
・仮想サーバーへログインします。
 Vagrantfileファイルのあるディレクトリにて実行

vagrant ssh
 または、SSHクライアントから直接ログイン出来ます。
 

例 ssh [ホスト名]
ssh centos64
Vagrantプラグイン
・Vagrantプラグイン
 プラグインを追加することで、Vagrantの機能が拡張します。

例 vagrant plugin install [プラグイン名]
 インストール済みのプラグイン表示

vagrant plugin list
Vagrantプラグイン
・サンドボックス機能
 過去のある時点の状態にサーバーを戻す機能です。

vagrant plugin install sahara
 サンドボックスを有効にする。

vagrant sandbox on
 サンドボックスの状態確認

vagrant sandbox status
Vagrantプラグイン
・サンドボックス機能(つづき)
 サーバーの状態を戻すロールバックを実行する。

vagrant sandbox rollback
 サーバーの状態をコミットして更新を実行する。

vagrant sandbox commit
 サンドボックスを無効にする。

vagrant sandbox off
ネットワーク設定
・Vagrantfileの標準設定では、仮想サーバーの中からネット
ワークには接続出来ますが、外部から仮想サーバーへssh以
外は接続が出来ません。
・ネットワーク設定状態を確認してみます。

vagrant up
vagrant ssh
ifconfig
route
cat /etc/resolv.conf
ネットワーク設定
・Vagrantfileを編集して、外部から接続出来るよう
に設定します。
・起動中の仮想サーバーを停止します。
vagrant halt
・Vagrantfileを編集します。
vi Vagrantfile
ネットワーク設定
・Vagrantfileのネットワーク設定をします。
・#を消して、IPアドレス番号を適切に変更します。
config.vm.network :private_network, ip: “192.168.56.10”

・再度、仮想サーバーを起動してログインします。
・ネットワーク設定状態を確認してみます。

vagrant up
vagrant ssh
ifconfig
route
ネットワーク設定
・追加されたeth1に、設定したIPアドレス番号が割り当てられて
います。
・ホスト側から接続を確認してみます。

ping 192.168.56.10
・この一連の設定は、ホストオンリーネットワーク設定で、
VirtualBoxマネージャーのメニューから[ファイル]-[環境設定][ネットワーク]で設定確認することが出来ます。
・状況に合わせてネットワーク設定を変更します。
ネットワーク設定
・設定されたIPアドレスで接続できる様に変更します。

vi ~/.ssh/config
・HostNameにIPアドレスを設定します。
・Portをsshの22に変更します。
Host centos64
HostName 192.168.56.10
User vagrant
Port 22
ネットワーク設定
・仮想サーバーへログインして確認します。

例 ssh [ホスト名]
ssh centos64
設定されたIPアドレスでログイン出来れば、このIPアドレスをホ
スト側から利用することが出来ます。
webサービスの場合、ホスト側からブラウザで確認出来ます。
 http://192.168.56.10/
次回 プロビジョニング(Provisioning)
・サーバー構築の手順を自動化するツール
 Chef,Puppet,ShellScript 等
・バージョン管理はGitにお任せ
・次回の勉強会では、Chefをテーマにします。
・Vagrant+Chef+Gitのセットで
 開発学習環境が完成します!
・本日の勉強会、お疲れ様でした。

More Related Content

Similar to Sola勉強会 vagrant入門 ver.2

Sola勉強会 ssh再入門
Sola勉強会 ssh再入門Sola勉強会 ssh再入門
Sola勉強会 ssh再入門Shiojiri Ohhara
 
sakura.io体験ハンズオン
sakura.io体験ハンズオンsakura.io体験ハンズオン
sakura.io体験ハンズオン法林浩之
 
特別支援学校SNS活用から「おたがいネット」
特別支援学校SNS活用から「おたがいネット」特別支援学校SNS活用から「おたがいネット」
特別支援学校SNS活用から「おたがいネット」Yoshiaki Fukui
 
Watanabe civictechforum
Watanabe civictechforumWatanabe civictechforum
Watanabe civictechforumsiramatu-lab
 
【A02】ドローンを使ったプログラミング教育【青森大学/ソフトウェア情報学部 橋本研究室】
【A02】ドローンを使ったプログラミング教育【青森大学/ソフトウェア情報学部 橋本研究室】【A02】ドローンを使ったプログラミング教育【青森大学/ソフトウェア情報学部 橋本研究室】
【A02】ドローンを使ったプログラミング教育【青森大学/ソフトウェア情報学部 橋本研究室】aomorisix
 
SQL Server のプロジェクト指向オフライン データベース開発を採用してみた話
SQL Server のプロジェクト指向オフライン データベース開発を採用してみた話SQL Server のプロジェクト指向オフライン データベース開発を採用してみた話
SQL Server のプロジェクト指向オフライン データベース開発を採用してみた話Narami Kiyokura
 
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話Yuhei Miyazato
 
SoftLayerオブジェクトストレージと連携サービスPBOXについて
SoftLayerオブジェクトストレージと連携サービスPBOXについてSoftLayerオブジェクトストレージと連携サービスPBOXについて
SoftLayerオブジェクトストレージと連携サービスPBOXについてShuichi Yukimoto
 
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015Kitani Kimiya
 
ノンコーディングでここまでできる!LINE BOT を作ってみよう!
ノンコーディングでここまでできる!LINE BOT を作ってみよう!ノンコーディングでここまでできる!LINE BOT を作ってみよう!
ノンコーディングでここまでできる!LINE BOT を作ってみよう!典子 松本
 
A07  角田研究室7 板垣百華
A07  角田研究室7 板垣百華A07  角田研究室7 板垣百華
A07  角田研究室7 板垣百華aomorisix
 
Movable Type Data API Swiftアプリ作成事例
Movable Type Data API Swiftアプリ作成事例Movable Type Data API Swiftアプリ作成事例
Movable Type Data API Swiftアプリ作成事例FromF
 
20100828 code4 lib_japan_事業説明(全事業)
20100828 code4 lib_japan_事業説明(全事業)20100828 code4 lib_japan_事業説明(全事業)
20100828 code4 lib_japan_事業説明(全事業)Code4Lib JAPAN
 
20150307 fukuoka meetup community jaws-ug
20150307 fukuoka meetup community jaws-ug20150307 fukuoka meetup community jaws-ug
20150307 fukuoka meetup community jaws-ugToshiyuki Konparu
 
WordPressで行うシステム開発 WordCamp Tokyo 2015用
WordPressで行うシステム開発 WordCamp Tokyo 2015用WordPressで行うシステム開発 WordCamp Tokyo 2015用
WordPressで行うシステム開発 WordCamp Tokyo 2015用Satoshi Kamigaki
 
さくらのナレッジの裏側
さくらのナレッジの裏側さくらのナレッジの裏側
さくらのナレッジの裏側法林浩之
 
Device WebAPI 20160407
Device WebAPI 20160407Device WebAPI 20160407
Device WebAPI 20160407陽平 山口
 

Similar to Sola勉強会 vagrant入門 ver.2 (20)

Sola勉強会 ssh再入門
Sola勉強会 ssh再入門Sola勉強会 ssh再入門
Sola勉強会 ssh再入門
 
OSC2013 関西@京都 ビジネスLT。ブース出展あるある。
OSC2013 関西@京都 ビジネスLT。ブース出展あるある。OSC2013 関西@京都 ビジネスLT。ブース出展あるある。
OSC2013 関西@京都 ビジネスLT。ブース出展あるある。
 
sakura.io体験ハンズオン
sakura.io体験ハンズオンsakura.io体験ハンズオン
sakura.io体験ハンズオン
 
特別支援学校SNS活用から「おたがいネット」
特別支援学校SNS活用から「おたがいネット」特別支援学校SNS活用から「おたがいネット」
特別支援学校SNS活用から「おたがいネット」
 
Watanabe civictechforum
Watanabe civictechforumWatanabe civictechforum
Watanabe civictechforum
 
【A02】ドローンを使ったプログラミング教育【青森大学/ソフトウェア情報学部 橋本研究室】
【A02】ドローンを使ったプログラミング教育【青森大学/ソフトウェア情報学部 橋本研究室】【A02】ドローンを使ったプログラミング教育【青森大学/ソフトウェア情報学部 橋本研究室】
【A02】ドローンを使ったプログラミング教育【青森大学/ソフトウェア情報学部 橋本研究室】
 
SQL Server のプロジェクト指向オフライン データベース開発を採用してみた話
SQL Server のプロジェクト指向オフライン データベース開発を採用してみた話SQL Server のプロジェクト指向オフライン データベース開発を採用してみた話
SQL Server のプロジェクト指向オフライン データベース開発を採用してみた話
 
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
 
SoftLayerオブジェクトストレージと連携サービスPBOXについて
SoftLayerオブジェクトストレージと連携サービスPBOXについてSoftLayerオブジェクトストレージと連携サービスPBOXについて
SoftLayerオブジェクトストレージと連携サービスPBOXについて
 
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
 
ノンコーディングでここまでできる!LINE BOT を作ってみよう!
ノンコーディングでここまでできる!LINE BOT を作ってみよう!ノンコーディングでここまでできる!LINE BOT を作ってみよう!
ノンコーディングでここまでできる!LINE BOT を作ってみよう!
 
No4
No4No4
No4
 
A07  角田研究室7 板垣百華
A07  角田研究室7 板垣百華A07  角田研究室7 板垣百華
A07  角田研究室7 板垣百華
 
Movable Type Data API Swiftアプリ作成事例
Movable Type Data API Swiftアプリ作成事例Movable Type Data API Swiftアプリ作成事例
Movable Type Data API Swiftアプリ作成事例
 
20100828 code4 lib_japan_事業説明(全事業)
20100828 code4 lib_japan_事業説明(全事業)20100828 code4 lib_japan_事業説明(全事業)
20100828 code4 lib_japan_事業説明(全事業)
 
20150307 fukuoka meetup community jaws-ug
20150307 fukuoka meetup community jaws-ug20150307 fukuoka meetup community jaws-ug
20150307 fukuoka meetup community jaws-ug
 
WordPressで行うシステム開発 WordCamp Tokyo 2015用
WordPressで行うシステム開発 WordCamp Tokyo 2015用WordPressで行うシステム開発 WordCamp Tokyo 2015用
WordPressで行うシステム開発 WordCamp Tokyo 2015用
 
さくらのナレッジの裏側
さくらのナレッジの裏側さくらのナレッジの裏側
さくらのナレッジの裏側
 
Device WebAPI 20160407
Device WebAPI 20160407Device WebAPI 20160407
Device WebAPI 20160407
 
SIerのDevRel術
SIerのDevRel術SIerのDevRel術
SIerのDevRel術
 

More from Shiojiri Ohhara

ランサムウェアのおはなし
ランサムウェアのおはなしランサムウェアのおはなし
ランサムウェアのおはなしShiojiri Ohhara
 
フィッシングとドメイン名・DNS
フィッシングとドメイン名・DNSフィッシングとドメイン名・DNS
フィッシングとドメイン名・DNSShiojiri Ohhara
 
フィッシングメール
フィッシングメールフィッシングメール
フィッシングメールShiojiri Ohhara
 
見えないから恐ろしい!標的型サイバー攻撃の脅威
見えないから恐ろしい!標的型サイバー攻撃の脅威見えないから恐ろしい!標的型サイバー攻撃の脅威
見えないから恐ろしい!標的型サイバー攻撃の脅威Shiojiri Ohhara
 
転ばぬ先の杖 Windows Update
転ばぬ先の杖 Windows Update転ばぬ先の杖 Windows Update
転ばぬ先の杖 Windows UpdateShiojiri Ohhara
 
フィッシングメールの紹介と対策
フィッシングメールの紹介と対策フィッシングメールの紹介と対策
フィッシングメールの紹介と対策Shiojiri Ohhara
 
パスワード再入門
パスワード再入門パスワード再入門
パスワード再入門Shiojiri Ohhara
 
夏休みのサイバー自由研究 (1)DockerコンテナでVuls!
夏休みのサイバー自由研究 (1)DockerコンテナでVuls!夏休みのサイバー自由研究 (1)DockerコンテナでVuls!
夏休みのサイバー自由研究 (1)DockerコンテナでVuls!Shiojiri Ohhara
 
オープンソースで始めるLinuxサーバー脆弱性診断入門
オープンソースで始めるLinuxサーバー脆弱性診断入門オープンソースで始めるLinuxサーバー脆弱性診断入門
オープンソースで始めるLinuxサーバー脆弱性診断入門Shiojiri Ohhara
 
Docker勉強会2017 最新基礎・応用編
Docker勉強会2017 最新基礎・応用編Docker勉強会2017 最新基礎・応用編
Docker勉強会2017 最新基礎・応用編Shiojiri Ohhara
 
サイバーセキュリティ勉強会2017 in 塩尻
サイバーセキュリティ勉強会2017 in 塩尻サイバーセキュリティ勉強会2017 in 塩尻
サイバーセキュリティ勉強会2017 in 塩尻Shiojiri Ohhara
 
Docker勉強会2017 実践編 スライド
Docker勉強会2017 実践編 スライドDocker勉強会2017 実践編 スライド
Docker勉強会2017 実践編 スライドShiojiri Ohhara
 
Docker 再入門 2016 update
Docker 再入門 2016 updateDocker 再入門 2016 update
Docker 再入門 2016 updateShiojiri Ohhara
 
DNSとサイバー攻撃
DNSとサイバー攻撃DNSとサイバー攻撃
DNSとサイバー攻撃Shiojiri Ohhara
 
Open stack 勉強会 in 塩尻
Open stack 勉強会 in 塩尻Open stack 勉強会 in 塩尻
Open stack 勉強会 in 塩尻Shiojiri Ohhara
 
サイバーセキュリティ勉強会
サイバーセキュリティ勉強会サイバーセキュリティ勉強会
サイバーセキュリティ勉強会Shiojiri Ohhara
 
小型コンピューターで楽しく学ぼう!
小型コンピューターで楽しく学ぼう!小型コンピューターで楽しく学ぼう!
小型コンピューターで楽しく学ぼう!Shiojiri Ohhara
 
Ubuntu LibreOffice Update
Ubuntu LibreOffice UpdateUbuntu LibreOffice Update
Ubuntu LibreOffice UpdateShiojiri Ohhara
 

More from Shiojiri Ohhara (20)

ランサムウェアのおはなし
ランサムウェアのおはなしランサムウェアのおはなし
ランサムウェアのおはなし
 
フィッシングとドメイン名・DNS
フィッシングとドメイン名・DNSフィッシングとドメイン名・DNS
フィッシングとドメイン名・DNS
 
フィッシングメール
フィッシングメールフィッシングメール
フィッシングメール
 
見えないから恐ろしい!標的型サイバー攻撃の脅威
見えないから恐ろしい!標的型サイバー攻撃の脅威見えないから恐ろしい!標的型サイバー攻撃の脅威
見えないから恐ろしい!標的型サイバー攻撃の脅威
 
転ばぬ先の杖 Windows Update
転ばぬ先の杖 Windows Update転ばぬ先の杖 Windows Update
転ばぬ先の杖 Windows Update
 
フィッシングメールの紹介と対策
フィッシングメールの紹介と対策フィッシングメールの紹介と対策
フィッシングメールの紹介と対策
 
パスワード再入門
パスワード再入門パスワード再入門
パスワード再入門
 
夏休みのサイバー自由研究 (1)DockerコンテナでVuls!
夏休みのサイバー自由研究 (1)DockerコンテナでVuls!夏休みのサイバー自由研究 (1)DockerコンテナでVuls!
夏休みのサイバー自由研究 (1)DockerコンテナでVuls!
 
オープンソースで始めるLinuxサーバー脆弱性診断入門
オープンソースで始めるLinuxサーバー脆弱性診断入門オープンソースで始めるLinuxサーバー脆弱性診断入門
オープンソースで始めるLinuxサーバー脆弱性診断入門
 
Docker勉強会2017 最新基礎・応用編
Docker勉強会2017 最新基礎・応用編Docker勉強会2017 最新基礎・応用編
Docker勉強会2017 最新基礎・応用編
 
サイバーセキュリティ勉強会2017 in 塩尻
サイバーセキュリティ勉強会2017 in 塩尻サイバーセキュリティ勉強会2017 in 塩尻
サイバーセキュリティ勉強会2017 in 塩尻
 
Docker勉強会2017 実践編 スライド
Docker勉強会2017 実践編 スライドDocker勉強会2017 実践編 スライド
Docker勉強会2017 実践編 スライド
 
Docker 再入門 2016 update
Docker 再入門 2016 updateDocker 再入門 2016 update
Docker 再入門 2016 update
 
DNSとサイバー攻撃
DNSとサイバー攻撃DNSとサイバー攻撃
DNSとサイバー攻撃
 
Open stack 勉強会 in 塩尻
Open stack 勉強会 in 塩尻Open stack 勉強会 in 塩尻
Open stack 勉強会 in 塩尻
 
サイバーセキュリティ勉強会
サイバーセキュリティ勉強会サイバーセキュリティ勉強会
サイバーセキュリティ勉強会
 
小型コンピューターで楽しく学ぼう!
小型コンピューターで楽しく学ぼう!小型コンピューターで楽しく学ぼう!
小型コンピューターで楽しく学ぼう!
 
Ubuntu LibreOffice Update
Ubuntu LibreOffice UpdateUbuntu LibreOffice Update
Ubuntu LibreOffice Update
 
Docker入門
Docker入門Docker入門
Docker入門
 
CentOS 7 入門
CentOS 7 入門CentOS 7 入門
CentOS 7 入門
 

Sola勉強会 vagrant入門 ver.2