ステータス:非推奨

この記事では、サポートされなくなったバージョンのUbuntuについて説明します。 現在Ubuntu12.04を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。

理由: Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達し、セキュリティパッチまたはアップデートを受信しなくなりました。 このガイドはもう維持されていません。

代わりに参照してください:
このガイドは参考として役立つかもしれませんが、他のUbuntuリリースでは機能しない可能性があります。 可能な場合は、使用しているUbuntuのバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。

Vagrantについて

Vagrant は、複数の開発環境を構成および展開するための強力なオープンソースソフトウェアです。 Linux、Mac OS X、およびWindowsで動作するように設計されており、仮想化のニーズに対応するVirtualBoxが付属していますが、VMwareやAWSなどの他のプロバイダーでも使用できます。

このチュートリアルは、前のチュートリアルに続き、Vagrantのインストールと、既存のDigitalOceanVPS上でUbuntuを実行する最初のシンプルなゲストマシンのセットアップについて説明しました。 したがって、ここで説明されている手順を実行し、そのレッスンに精通していることを前提としています。

VirtualBox用のボックス

前のチュートリアルで述べたように、VagrantにはプロバイダーとしてデフォルトでVirtualBoxがインストールされています。 これは、追加したボックス( Precision32 )がVirtualBox専用に作成されており、他のプロバイダーでは機能しないことを意味します。 Precision32 ボックスは、 Ubuntu Precise12.0432ビットを実行しているゲストマシンのイメージです。 ただし、さまざまなオペレーティングシステムに付属している他のボックスを追加できます。

Vagrant githubプロジェクトは、VirtualBoxを搭載したVagrantに追加できる他のボックスへの公式リンクを提供します。 precis64 (Ubuntu Precise 12.04の64ビットバージョン)、 lucid32 lucid64 (Ubuntu 12.04のLucidディストリビューション用)の3つが利用可能です。 これらは公式のものです。

ただし、コミュニティWebサイトには、VirtualBoxやその他のさまざまなプロバイダーが利用できる他の多くのボックスがあります。 ただし、このリストはVagrantプロジェクトによって検証されていないため、自己責任で使用してください。 ただし、これらのいずれかをVagrantに追加する場合は、前のチュートリアルで行ったのと同じ手順に従ってください。

自動プロビジョニング

ボックスとは何か、そしてそれらをVagrantに追加する方法がわかったので、おそらく次は何だろうと思っているでしょう。 ボックスを使用してUbuntuを実行しているゲストマシンの電源をすばやく入れるようにVagrantファイルを構成できますが、それではどうでしょうか。

前の記事で遊んだUbuntuゲストマシンにApacheをインストールするとします。 あなたはそれにSSHで接続して手動でそれを行うことができます。 ただし、これは、このゲストマシンを破棄した後、あなたまたは他の誰かがこのゲストマシンで作業する場合は常に、これらすべての操作を繰り返し実行する必要があることを意味します。

Vagrantの優れた点の1つは、自動プロビジョニングです。 これは、 vagrantupコマンドを使用するたびに実行するシェルスクリプトを指定できることを意味します。 したがって、ゲストマシンに常にApacheがインストールされた状態でデプロイする必要があるとします。 これを行うには、実行する必要のあるすべてのコマンドをプロジェクトルートフォルダー(Vagrantfileの隣)のファイルに配置します。

nano bootstrap.sh

この新しく作成されたファイル内に、次のスクリプトを貼り付けます。

#!/usr/bin/env bash

apt-get update
apt-get install -y apache2
rm -rf /var/www
ln -fs /vagrant /var/www

このスクリプトは、Apacheをインストールし、 / var /wwwフォルダーを/vagrant フォルダー(覚えている場合は、ホストマシンのプロジェクトルートフォルダーと同期されるフォルダー)にリンクします。 このようにして、ホストマシンからApacheサーバーのファイルを編集でき、同期について心配する必要はありません。

次に、Vagrantfileを編集し、ゲストマシンがデプロイされるときに、次のスクリプトを使用するように指定する必要があります。

nano Vagrantfile

このファイルで、使用するデフォルトボックスを指定した場所のすぐ下に、次の行を追加します。

config.vm.provision :shell, :path => "bootstrap.sh"

これは基本的に、シェルプロビジョナーを使用してそのファイル(ホストマシンのプロジェクトルートフォルダーからの相対パス)にあるスクリプトを実行するようにVagrantに指示します。

ファイルを保存し、 vagrant up コマンドを実行して、Apacheがインストールされた新しいゲストマシンをデプロイします。 すでにゲストマシンを実行している場合は、次のコマンドでゲストマシンをリロードできます。

vagrant reload

これにより、マシンが再起動し、プロビジョニングが実行されます。 これで、 vagrantupまたはvagrantreload を実行するたびに、ゲストマシンにApacheがインストールされます。

ネットワーキング

ゲストマシンにApacheをインストールする目的は明らかです。つまり、VPSでページをブラウザに提供する必要があります。 ただし、ブラウザからゲストマシンにアクセスする方法はまだありません。 Vagrantのネットワーキングおよびポート転送機能を入力してください。

ポート転送を使用すると、ゲストマシンと共有するホストマシンのポートを指定できます。 これは、特定のポートを使用してブラウザでホストのアドレスを指定すると、最終的にゲストマシンにアクセスすることを意味します。 これを行うには、ホストマシンでVagrantプロジェクトのルートフォルダーに移動し、Vagrantfileを編集します。

nano Vagrantfile

プロビジョニングを行ったときに上記で追加した行の下に、次の行を貼り付けます。

config.vm.network :forwarded_port, host: 4567, guest: 80

これは、ホストマシンでポート4567が要求された場合、ゲストマシンのポート80(デフォルトのApacheポート)に要求をルーティングする必要があることを指定します。 ファイルを保存し、ゲストマシンがまだ実行されていない場合は、 vagrantupを実行します。 そうである場合は、 vagrantreloadコマンドを使用できます。

上で示したbootstrap.shスクリプトを使用した場合、ゲストマシンにインストールされたApacheサーバーが、の /vagrantフォルダーで提供するファイルを見つけるようにしました。ゲストマシンは、ホストマシンのプロジェクトフォルダと同期されます。 したがって、これらのフォルダのいずれかに最も近いものに移動し、ランダムなテキストを含むテストindex.htmlファイルを作成します。

ここで、ブラウザでホストマシンを指定し、ポート4567を指定すると、index.htmlページがゲストマシンのApacheサーバーによって提供されるはずです。 Vagrantをローカルにインストールしている場合は、次のURLを試してください。

http://127.0.0.1:4567

リモートサーバーで使用している場合は、次のことを試してください。

http://192.119.208.208:4567/

IPをリモートホストマシンに対応するものに置き換えてください。

結論

このチュートリアルでは、Vagrantで使用できるボックス、 vagrant up コマンドごとにさまざまなスクリプトを自動的に実行するプロビジョニングを設定する方法、およびポート転送を使用してブラウザからのゲストマシン。 これらは確かに強力な機能ですが、Vagrantは、自分が何をしているのかを知っていれば、さらに多くの機能を提供します。

次のチュートリアルでは、Vagrantに新しいプロバイダーを追加する方法、つまり、デプロイするゲストマシンとしてDigitalOceanドロップレットを使用する方法を見ていきます。 このためには、Vagrantプラグインをインストールする必要があります。

Vagrant-Article#1

Vagrant-Article#2

Vagrant-Article#3

投稿者: Danny