##centos7の環境にapacheを導入する
###やりたいこと
vagrant+virtualbox+centos7の環境をmac上に構築して、仮想環境の中にLAMPの実行環境を設定します。
今回はhttpサーバーであるapacheを導入します。
インストールはyumを使ってインストールします。
[vagrant@localhost bin]$ sudo yum install httpd httpd-devel
[vagrant@localhost bin]$ httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: Apr 12 2017 21:03:28
##ドキュメントルートの確認とサンプルファイルの配置
導入したapacheの動作確認をします。ディフォルトではhttpd.confファイルは以下の場所に配置されています。
/etc/httpd/conf/httpd.conf
このファイルを見るとapacheのドキュメントルートは以下の場所になっています。
/var/www/html
このディレクトリに動作確認用のファイルを作成します。今回は合わせてPHPの動作確認も行うため下記のファイルを作成して配置しました。
ディレクトリはrootユーザーにて作られていたのでsudoコマンドを利用してroot権限でファイルを作成します。
<?php
phpinfo();
?>
##ファイアウォールの設定追加
CentOS7ではディフォルトでファイアウォールが起動しています。この定義にhttpは登録されていないのでホスト側からゲスト側に接続できません。定義を追加します。
ファイアウォール通過の設定の確認
[vagrant@localhost]$ sudo firewall-cmd --list-services --zone=public --permanent
dhcpv6-client ssh
dhcpv6-clientとsshだけが通過を許可されています。
ここにhttpを追加します。
[vagrant@localhost]$ sudo firewall-cmd --add-service=http --zone=public --permanent
success
追加できました。
確認します。
[vagrant@localhost]$ sudo firewall-cmd --list-services --zone=public --permanent
dhcpv6-client http ssh
無事追加できていました。この後、ファイアウォールを再起動すると反映されます。
sudo systemctl stop firewalld
sudo systemctl start firewalld
ホスト側のブラウザからアクセスして見ます。
http://localhost:8080/index.php
(今回の環境は仮想OS側はNATでホスト側とつながっていて、ポートフォワーディングを利用してホスト側8080ポートを仮想側80へ転送しています)
指定したページが表示できました。(ついでにPHPの動作も確認できました。)
参考
macOS Sierra バージョン10.12.4
Vagrant 1.9.4
VirtualBox 5.1.22
CentOS 7.0 64bit
Apache 2.4.6
シリーズ一覧 (vagrant centos LAMP環境構築)
1.macにvagrantでcentos7の仮想環境を構築したときの初期設定
2.mac上の仮想環境に構築したcentos7にPHPを導入する
3.mac上の仮想環境に構築したcentos7でPHPのビルトインサーバーを利用する
4.mac上の仮想環境に構築したcentos7にapahceを導入する
5.mac上の仮想環境に構築したcentos7にmysqlを導入する
6.centos7に導入したMySQL5.6の初期設定と動作確認