Virtualbox windows10 centos7 nginx php7

検索しても過去の記事が多くて色々設定方法が変わってしまってるかもしれないので、
自分のためにもメモ書き。


virtualbox5.14(2016/9/13)
guest additions5.14
centos7

それぞれ下記からDL
<a href="https://www.virtualbox.org/" target="_blank">VirtualBox</a>
<a href="http://download.virtualbox.org/virtualbox/" target="_blank">Guest Additions</a>
<a href="https://www.centos.org/download/" target="_blank">CentOS</a>
それぞれバージョン合わせる

VirtualBox(以下VB)で新規作成
適当に名前付けて「次へ」
![1.gif](https://qiita-image-store.s3.amazonaws.com/0/22654/b134338f-8e2f-fc3b-ccba-ed345a1a1a6e.gif)
メモリーサイズを任意で入力
仮想ハードディスクを作成するにチェック、「作成」ボタン
VDIにチェックで「次へ」ボタン
可変サイズをチェック、「次へ」ボタン
ファイルの場所とサイズを指定

起動してisoファイルcentos7をインストール
日本語を選択して「続行」ボタン
![2.gif](https://qiita-image-store.s3.amazonaws.com/0/22654/7c349ba1-de3c-cfc4-f7c5-81881ae71824.gif)
インストール先はそのままデフォルトで「完了」ボタン
ネットワークとホスト名をクリック

イーサネット設定で「オン」に、「完了」ボタン
![3.gif](https://qiita-image-store.s3.amazonaws.com/0/22654/c7100450-0ec5-9da0-c82e-989ba30bcfa2.gif)


インストール開始
ルートパスワードとユーザーの作成をそれぞれ設定
![4.gif](https://qiita-image-store.s3.amazonaws.com/0/22654/8b7bf7f4-4d47-edeb-2862-fbb22a979346.gif)

再起動

・ネットワーク設定
VBの設定から「ネットワーク」、「高度」と進み、「ポートフォワーディング」をクリック
下記設定を行う
![5.gif](https://qiita-image-store.s3.amazonaws.com/0/22654/5c03c3d2-3bb4-a00e-0483-b44352a9ab12.gif)
【httpの行のホストポートの番号は何番でも構わないがここではわかりやすく8080】

yum で幾つかインストールしていく
sudo yum update -y
sudo yum install epel-release -y
sudo yum groupinstall "Development Tools" 
sudo yum install vim kernel-devel kernel-headers kernel* dkms gcc gcc-c++ epel-release -y
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
sudo yum install --enablerepo=remi,remi-php70 php php-devel php-mbstring php-pdo php-gd php-curl php-opcache php-mysql php-fpm php-redis -y
ここまでで一度再起動
![6.gif](https://qiita-image-store.s3.amazonaws.com/0/22654/cb186fa3-28d2-2ff2-a4c1-ddf1e98e50ba.gif)
「仮想マシンの状態を保存」で「OK」

サーバーを再び起動
![7.gif](https://qiita-image-store.s3.amazonaws.com/0/22654/e92a2e2f-48c7-ce46-8982-c91123c0aef2.gif)
「デバイス」「光学ドライブ」から「Guest Additions」のisoファイルを読み込む
共有フォルダを設定【ここでは「test」とした】
![9.gif](https://qiita-image-store.s3.amazonaws.com/0/22654/6cdb0c4e-37de-e442-54ed-34d404c272f2.gif)

ssh接続を使う
nginx及びphp-fpmのインストールと設定
sudo vim  /etc/yum.repos.d/nginx.repo
下記をコピペして保存
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

nginxをインストール
sudo yum install nginx -y

開始して再起動したら同時に起動するように設定しておく
sudo systemctl start php-fpm
sudo systemctl start nginx
sudo systemctl enable php-fpm
sudo systemctl enable nginx

「Guest Additions」をマウント
ディレクトリを適当に付けて作っておく【ここでは「test」】
sudo mkdir -p /media/cdrom
sudo mount -r /dev/cdrom /media/cdrom
cd /media/cdrom
ディレクトリ「cdrom」の中身
![11.gif](https://qiita-image-store.s3.amazonaws.com/0/22654/f4e46b28-13e3-daab-9e55-f14eed59aebf.gif)
下記を実行
sudo sh ./VBoxLinuxAdditions.run
成功したら下記画像になる
![10.gif](https://qiita-image-store.s3.amazonaws.com/0/22654/67c14087-0566-8c31-1dd0-49d2b2a50b37.gif)

sudo reboot
で再起動

cd /media
ls 
ディレクトリが自動的に生成されている
![11.gif](https://qiita-image-store.s3.amazonaws.com/0/22654/9ab88890-ddba-3d95-8ae6-a7dd04f102c5.gif)

サーバー上のディレクトリ「sf_test」とウィンドウズ上のフォルダ「test」を同期させるコマンド
sudo mount -t vboxsf test /media/sf_test
sudo mount -t vboxsf [windows上のフォルダ名] [ディレクトリパス]

id
idコマンドでユーザーの番号を調べておいて(自分の環境では1000だった)
再起動した後でもウィンドウズ上のフォルダとディレクトリの同期が行われるよう
設定ファイルを編集する。と同時に、このままだとディレクトリの所有者が
rootまたはvboxsfのままで編集とブラウザからのアクセスが出来ないので、
それも設定ファイルを編集する。

sudo chmod u+x /etc/rc.d/rc.local
sudo vim /etc/rc.d/rc.local
sudo mount -t vboxsf -o uid=1000,gid=1000,dmode=0777,fmode=0777 test /media/sf_test
sudo mount --bind /media/sf_test　/home/test/test
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
sudo setenforce 0
![13.gif](https://qiita-image-store.s3.amazonaws.com/0/22654/eb821eb3-b62c-b06c-f365-1c25e2b09e8a.gif)
保存して終了

vboxsfユーザーに追加もしておく
sudo gpasswd -a ユーザ名 vboxsf

sudo reboot
で再起動

取り敢えず後はpublic_htmlディレクトリをユーザーのルートディレクトリに指定するよう、
nginxのconfファイルやphp-fpmのconfファイルを編集して終了。