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