端くれプログラマの備忘録 Vagrant [Vagrant] 仮想マシン上のCentOSでウェブサーバーを稼動させる

[Vagrant] 仮想マシン上のCentOSでウェブサーバーを稼動させる

ウェブサイトやウェブアプリをローカル環境で開発する場合、WindowsだとXAMPPをセットアップすることが多い。だけど別な方法として、仮想マシン上で稼動するUnix環境でウェブサーバーを実行させるという方法もありかも。試してみる。

既にCentOSが仮想マシンで稼動している前提

CentOS上でウェブサーバーを稼動させる

yumを使ってウェブサーバーをインストール

$ sudo yum -y install httpd

ウェブサーバーを起動

$ sudo service httpd start

ブート時にウェブサーバーが起動するように設定

$ sudo chkconfig httpd on

公開サーバーではないので設定が面倒そうなファイアーウォールは停止させておく

$ sudo service firewalld stop

ブート時にファイアーウォールが起動しないように設定

$ sudo chkconfig firewalld off

テスト用のHTMLファイルを作成

$ cd /var/www/html
$ sudo vi index.html
<html>
<body>
<h3>Hello, World</h3>
</body>
</html>

Vagrantのプライベートネットワークを有効にする

Vagrantfile中のプライベートネットワーク設定のコメントを外す

# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network "private_network", ip: "192.168.33.10"

Vagrantを再起動。

> vagrant up
 
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: hostonly
==> default: Forwarding ports...
default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection timeout. Retrying...
default: Warning: Connection timeout. Retrying...
default: Warning: Connection timeout. Retrying...
default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
default: /vagrant => C:/Temp/centos7
==> default: Machine already provisioned. Run `vagrant provision` or use the `--
provision`
==> default: to force provisioning. Provisioners marked to run always will still
run.
>

試しに仮想マシンにping

> ping 192.168.33.10
 
192.168.33.10 に ping を送信しています 32 バイトのデータ:
192.168.33.10 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.33.10 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.33.10 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.33.10 からの応答: バイト数 =32 時間 <1ms TTL=64
 
192.168.33.10 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 0ms、最大 = 0ms、平均 = 0ms
>

ブラウザから192.168.33.10をアクセスしてindex.htmlが表示されれば成功。