目次
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アドレスへアクセスする
作成したページが表示されることを確認。