ウェブサイトやウェブアプリをローカル環境で開発する場合、WindowsだとXAMPPをセットアップすることが多い。だけど別な方法として、仮想マシン上で稼動するUnix環境でウェブサーバーを実行させるという方法もありかも。試してみる。
CentOS上でウェブサーバーを稼動させる
yumを使ってウェブサーバーをインストール
1 |
$ sudo yum -y install httpd |
ウェブサーバーを起動
1 |
$ sudo service httpd start |
ブート時にウェブサーバーが起動するように設定
1 |
$ sudo chkconfig httpd on |
公開サーバーではないので設定が面倒そうなファイアーウォールは停止させておく
1 |
$ sudo service firewalld stop |
ブート時にファイアーウォールが起動しないように設定
1 |
$ sudo chkconfig firewalld off |
テスト用のHTMLファイルを作成
1 2 3 4 5 6 7 |
$ cd /var/www/html $ sudo vi index.html <html> <body> <h3>Hello, World</h3> </body> </html> |
Vagrantのプライベートネットワークを有効にする
Vagrantfile中のプライベートネットワーク設定のコメントを外す
1 2 3 |
# 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を再起動。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
> 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
1 2 3 4 5 6 7 8 9 10 11 12 13 |
> 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が表示されれば成功。