Points & Lines

VagrantとVirtualBoxで仮想環境を構築する③ Webサーバー構築編

Vagrant & VirtualBoxで立ち上げた仮想環境へ、サーバーソフトのApache HTTP Serverをインストールして
Webサーバーを構築する手順をメモします。

環境 : CentOS7 (CentOS Linux release 7.1.1503)

※Vagrant&VirtualBoxを使用した仮想環境の構築手順は前回の記事をご確認ください。

Apache HTTP Serverをインストールする

起動中の仮想マシンへssh接続する。

$ vagrant ssh

yumコマンドを使用してApache HTTP Server(以下、Apache)のパッケージをインストールする。

$ sudo yum -y install httpd

Apacheを起動する

$ sudo systemctl start httpd.service


(起動確認)

$ sudo systemctl status httpd.service

システムを起動した時にApacheも自動起動するようにしておく

$ sudo systemctl enable httpd.service

(パッケージの.serviceは付けなくてもコマンド実行可能です)

ファイヤウォールの設定を変更する

デフォルトのファイヤウォール設定ではWebサーバへのアクセスが許可されていません。
ブラウザからサーバへアクセスするために以下のように設定します。

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --reload

ファイヤウォールが起動していない場合

FirewallD is not running

と出た場合、ファイヤウォールのサービスが起動していません。

コマンド systemctl status firewalld で起動確認ができる。
inactive(停止中)の場合

[vagrant@localhost ~]$ systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

コマンド sudo systemctl start firewalld.service を実行し、再度httpのアクセス許可を与えます。

仮想環境のネットワーク設定を行う

exitコマンドでssh接続を切って一度仮想マシンから抜けます。

仮想環境ディレクトリ内のVagrantfileをVi(Vim)エディタで開き、ネットワークの設定を変更する。

$ vi Vagrantfile

コマンド i でINSERTモードに切り替える。
以下の行のコメントアウト(#)を外す。

# config.vm.network “private_network”, ip: “192.168.33.10”

※ INSERTモードに切り替える前に
/private_network
といった具合に、
目的の行を特定すると編集しやすいかと思います。

仮想マシンを再起動して設定を反映させる

$ vagrant reload

ブラウザからサーバへアクセスする

テストページを表示する

Vagrantfileからコメントアウトした行のIPアドレス(192.168.33.10)へ
ブラウザでアクセスするとApacheのテストページが表示される。

ApacheがWebサーバとして機能していることが確認できる

アクセスできないとき

先述しているとおりマシンの再起動を行っていない場合アクセス拒否され
以下のような画面が表示されます。

HTMLファイルを作成してアクセスする

再び仮想マシンにssh接続し、
Apacheの設定ファイル/etc/httpd/conf/httpd.conf で
DocumentRootに指定されている※パスへhtmlファイルを作成する。

※通常はApacheインストール時に作成される /var/www/html

/var/www/html ディレクトリ配下にテスト用のhtmlファイルを作成する
(管理者権限で行う)

$ sudo touch index.html
$ sudo vi index.html

テストページと同じIPアドレスへアクセスする

作成したページが表示されることを確認。

 

Follow me!

モバイルバージョンを終了