Vagrantを利用して仮想マシンでApacheを起動する方法を記載します。
対象読者
- Webプログラミング初心者
- 仮想マシンを動かしたい人
- 仮想サーバーを立ち上げたい人
この記事を読んでわかること
- Vagrantを利用して仮想マシンを構築する方法
- 仮想マシンからApache(Webサーバー)を起動し、ホストマシンからアクセスする方法
必要なもの
- パソコン
- ネット環境
VirtualBox のインストール
VirtualBox
とは...
既存のオペレーティング・システム(ホストOS)上にアプリケーションの一つとしてインストールされ、
この中で追加のオペレーティング・システム(ゲスト OS)を実行することができる。
例えば、Microsoft Windowsが「ホストOS」として動作しているマシン上で、Linuxをゲストとすることができる。
あるいは、Solarisが実行されているマシン上で、Microsoft Windowsを「ゲストOS」として実行することができる。
VirtualBoxの利用により、ホストPC上で任意の仮想OSを実行することができます。
インストーラーはhttps://www.virtualbox.org/からダウンロードできます。
Vagrant のインストール
Vagrant
とは...
Vagrant(ベイグラント)は、FLOSSの仮想機械を構築するためのソフトウェアである。
構成情報を記述した設定ファイル (Vagrantfile) を元に、仮想環境の構築から設定までを自動的に行うことができる。
引用元: Vagrant(ソフトウェア) - Wikipedia
Vagrant を利用することで、仮想マシンの構築や設定を簡単に行うことができます。
インストーラーはhttps://www.vagrantup.com/からダウンロードできます。
インストール後は PC の再起動が促されますので、再起動します。
Vagrant の設定
Vagrant は、Box
と呼ばれるファイルを利用することで仮想マシンの制御を行います。
Box ファイルとは、仮想マシンについての情報が入っているファイルのことです。
まずは Box ファイルをインストールしましょう。
Box ファイルは、https://app.vagrantup.com/boxes/searchなどから入手することができます。
今回はbento/centos-7.5を利用したいと思います。
名前から分かる通り、CentOSの構成が記載されたBoxファイルです。
ホスト PC でターミナルソフトを起動し、任意のディレクトリに移動します。
移動したら、次のコマンドを実行してください。
$ vagrant init bento/centos-7.5
実行後、ディレクトリの中にVagrantfile
というファイルが作成されます。
Vagrantfileとは、Vagrantの設定ファイルです。仮想マシンについての構成情報が書かれています。
テキストエディタでVagrantfileを開いてください。
下図のように、config.vm.network "private_network", ip: "192.168.33.10"
と書かれた行のコメント解除してください。
これにより、このアドレスを使用してホストOSからゲストOSに
アクセスが可能となります。
Vagrantの起動
ターミナルに戻り、次のコマンドを入力してください。
$ vagrant up
Vagrantfileに記載された内容で、Vagrantが起動します。
初回起動時は、Boxファイルをインストールするために時間がかかることがあります。
仮想マシンへログイン
無事Vagrantの起動が完了したら、仮想マシンのCentOSへアクセスします。
ターミナルで次のコマンドを実行してください。
$ vagrant ssh
ホストマシンのディレクトリからゲストOSのディレクトリに移動したことがわかります。
Apacheのインストール
Apache
とは...
Apache HTTP Server(アパッチ エイチティーティーピー サーバ)は、世界中でもっとも多く使われているWebサーバソフトウェアであり、大規模な商用サイトから自宅サーバまで幅広く利用されている。
単にApacheとも称されている。
引用元: Apache HTTP Server - Wikipedia
次のコマンドを実行して、Apacheをインストールします。
$ sudo yum install -y httpd
Apacheの起動
次のコマンドを実行して、サーバーを起動します。
$ sudo systemctl start httpd.service
起動しているかどうか確認するには、次のコマンドを実行してください。
$ sudo systemctl status httpd.service
ホストマシンから仮想マシンのWebページにアクセス
仮想マシンでサーバーを立ち上げられたので、ホストマシンからアクセスしてみましょう。
先程Vagrantfileで編集したアドレスをブラウザに入力します。
無事ホストマシンから仮想マシンのWebページにアクセスすることができました!