Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ウラカタ勉強会 2017年2月度 Vagrantによるローカル仮想環境の構築

Avatar for Urakata Urakata
February 23, 2017

ウラカタ勉強会 2017年2月度 Vagrantによるローカル仮想環境の構築

Avatar for Urakata

Urakata

February 23, 2017
Tweet

More Decks by Urakata

Other Decks in Technology

Transcript

  1. • この手のツールはインストールに手間がかかるものが多いが、必要なものがすべて内包されているため Vagrant と VirtualBox をインストールするだけですぐに使える • ホストOSでなくて仮想マシン内に環境を構築するため、ホストOSの環境の影響をうけない安定した環境 が用意できる※ •

    異なる環境の仮想マシンを複数構築できる※ • 仮想マシンのベースとなる Box が多く公開されている • 仮想マシンの基本操作は簡単 • 共有フォルダ機能でホストOSと仮想マシン上のファイルが同期できる etc. ※ XAMP, MAMPなどに比べた大きな優位性 Vagrantのメリット
  2. 実演は Mac で行います。 • MacOS Sierra 10.12.3 (最新) • VirtualBox

    5.1.14 (最新) • Vagrant 1.9.0 (最新の1つ前) ※最新1.9.1ではCentOS7系のBoxを使用した際にネットワークが正しく設定できない問題あり 今回の実演環境
  3. ターミナルから以下のコマンドを入力してインストールができたか確認します。 インストールできたか確認 $ vagrant --version Vagrant 1.9.0 $ vagrant version

    Installed Version: 1.9.0 Latest Version: 1.9.1 : また以下でも OK です(追記:ただしこちらはカレントフォルダ以下に Vagrantfile があると一緒に読みこむよう です、そのため Vagrantfile で設定ミスや文法エラーがあるとエラーが表示されるので注意してください)
  4. <今日の勉強会だけ> …と行きたいのですが、今回の勉強会はでは少しイレギュラーをここではさみます…(´・ω・`) このあと仮想マシン起動しますが、その際 Scotch Box の box ファイル(700MB弱)をダウンロードしにいきま す。しかし配布サイトの Atlas

    が非常に重いためダウンロードに時間がかかりすぎてしまいます。なので Box ファイルは、あらかじめダウンロードしておいたものを暫定的に登録して使います $ vagrant box add --name scotch/box scotch.box
  5. 再度 ssh で接続して /var/www 以下がどのようになっているか確認します 仮想マシン上の /var/www/ と ホストOS上の Vagrantfile

    のあるフォルダが共有されてるようです! SSH で仮想マシンに接続してみる $ vagrant ssh vagrant@scotchbox:~$ ls /var/www public Vagrantfile
  6. Scotch Box は LAMP 環境がインストールされているので、WordPressでも動かしてみましょう! • public/ 以下に WordPress の一式を展開します

    • http://192.168.33.10/ にアクセスしてセットアップを開始します • MySQLの設定情報は Scotch Box の公式サイトより確認してみてください。 https://box.scotch.io/ WordPressのセットアップ
  7. Snapshotの作成と復元は複数のやり方があるのですが、基本は以下になります。 snapshot の作成 $ vagrant snapshot push 作成したスナップショットの確認 $ vagrant

    snapshot list 作成したスナップショットから復元(時間かかる…) $ vagrant snapshot pop Snapshotの作成と復元 $ vagrant snapshot push $ vagrant snapshot list $ vagrant snapshot pop
  8. Vagrantは仮想マシン上の HTTP と SSH のポートをインターネット上に一時的に公開してくれる機能がありま す • WIP な制作中のローカルサイトを直接リモートのクライアントに見せたいときに •

    ちょっと難しいことをしてみたけど、なんかプログラムがエラーでて動かない → 仮想マシンに外部から SSHで接続してもらって調べてもらうときに • 中継サービスの Atlas を経由するためネットの速度が非常に遅い • あらかじめ Atlas にアカウント作る必要がある Vagrant Share とは
  9. Vagrant Share するために vagrant login を実行します vagrant login $ vagrant

    login : Atlas Username: メールアドレスまたは名前 Password (will be hidden): パスワード You are now logged in.
  10. Vagrant Share をする $ vagrant share ==> default: Detecting network

    information for machine... default: Local machine address: 127.0.0.1 default: : default: Local HTTP port: 8080 default: Local HTTPS port: disabled default: Port: 2222 default: Port: 8080 ==> default: Checking authentication and authorization... ==> default: Creating Vagrant Share session... default: Share will be at: laconic-badger-9051 ==> default: Your Vagrant Share is running! Name: laconic-badger-9051 ==> default: URL: http://laconic-badger-9051.vagrantshare.com ==> default: ==> default: You're sharing your Vagrant machine in "restricted" mode. This ==> default: means that only the ports listed above will be accessible by ==> default: other users (either via the web URL or using `vagrant connect`). URL が発行された
  11. <中断の仕方> Ctrl-C で中断できます ※ 使用上の注意 vagrant share 実行中は、毎回ランダムなURLが発行されますが、一時的にでも誰でもアクセスできるURLを公 開することになります。情報をむやみに公開しないように、また確認が終わったらすぐに share

    状態を中断しま しょう。 また発行されるURLのサブドメインには、「 言葉してとして良い印象を持たれない 」ものが使われるので注意し てください (;´Д`) あとソースのパスに http://xxx.xxxx/ とかでローカルのパスが設定されていると、当然リンク切れ起こすので。 サイト内絶対パスや相対パス、あるいはインターネットじょうでアクセス可能なURLを設定してください