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

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

Urakata
February 23, 2017

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

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を設定してください