VirtualBoxを使って、LAMP環境の構築


#環境
CentOS7.*
apache2.*
MySQL5.7.*
PHP7.1.*

vagrantを使わず実装します。

##仮想マシン作成

1,VirtualBox起動、右上の新規ボタンをクリック、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/425289/ce25d05a-d4d9-09eb-a1cc-09f0f4c1ba7e.png)
ダイアログが開いたら、名前、タイプ、バージョンを決めて「次へ」。
（今回はcentosを使用するので、RedHatを選択）
https://eng-entrance.com/what-is-centos

2,メモリーサイズ、デフォルトで1024MB必要みたいですが、今回は2048MB。

3,ハードディスク、「仮想ハードディスクを作成する」を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/425289/4c365b13-4457-92f9-5b2a-ce290b20f3f7.png)

4,ハードディスクのファイルタイプ、説明書き通りに他のソフトウェアで使用する予定がないので、VDI(VirtualBox Disk Image)を選択。

5,物理ハードディスクにあるストレージ、「可変サイズ」を選択。

6,ファイルの場所とサイズ、場所はそのまま、サイズは16GB。「作成」をクリック。


##CentOSのイメージファイルをダウンロード
https://www.centos.org/download/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/425289/bc5ee7c6-fc5d-a2d9-09db-984b0f9b0ce0.png)

ISOのx84_64をクリック。次にミラーサイトの一覧が表示されるので、適当なサイトクリック。
色々なイメージファイルが出てきますが、今回はDVD ISOをダウンロード

以下、ファイルISOイメージの種類。

**DVD ISO**
GUIインストーラーでインストールできる全パッケージが最初から含まれているイメージファイル。

**Everything ISO**
CentOSで利用できる全パッケージが最初から含まれているイメージファイル。

**LiveGNOME ISO**
PCにインストールする前にCentOS 7のGNOMEデスクトップ環境を試すことができるイメージファイル。

**LiveKDE ISO**
PCにインストールする前にCentOS 7のKDEデスクトップ環境を試すことができるイメージファイル。

**Minimal ISO**
必要最小限のパッケージだけが含まれているイメージファイル。 

**NetInstall ISO**
インストール時、必要に応じてネットワーク経由でパッケージを取得するイメージファイル。
##ゲストos画面設定
1,作成した仮想マシンを選択して、画面右上の設定ボタンをクリック。

2,ディスプレイ、スクリーンからグラフィックスコントローラーをVBoxVGAに変更。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/425289/d4850272-1e00-601e-c14a-2eaf25ce29bb.png)

参考: [ディスプレイ設定](https://vboxmania.net/%E3%83%87%E3%82%A3%E3%82%B9%E3%83%97%E3%83%AC%E3%82%A4%E8%A8%AD%E5%AE%9A/)

3,「一般」、「高度」から、クリップボードの共有と、ドラッグ＆ドロップを「双方向」に設定。

## CentOSのインストール
1,作成した仮想マシンを選択して、画面右上の起動ボタンをクリック。

2,CentOSのインストーラーが起動するので、Enter。

3,osのインストール時の設定がはじまる。インストール時に使用する言語は日本語で選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/425289/4962a9be-7ce5-c16d-5836-bbafdb8946e3.png)

4,「ソフトウェアの選択」をクリック、「ベース環境」から「サーバー (GUI使用)」を選択して「完了」をクリック。

5,「インストール先」をクリック、何もせずに「完了」をクリック。

6,「ネットワークとホスト名」をクリック、右上にあるスイッチをオンにして「完了」をクリック。

###ユーザーの設定

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/425289/12e6b991-fb9d-615f-c525-5519636da023.png)

7,「ROOTパスワード」をクリック、パスワード設定。

8,「ユーザーの作成」をクリック、フルネーム・ユーザー名 と パスワード を入力、このユーザーを管理者にする にチェックを入れて「完了」をクリック。

9,インストールが完了したら、再起動ボタンが表示されるので、クリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/425289/deff5dea-af45-6950-225f-69a2ab40e85f.png)

###セットアップ・ログイン

10,再起動したらそのままセットアップ画面に遷移するので「ライセンス情報」を選択、ライセンス契約に同意します。 にチェックを入れて「完了」し、「設定の完了」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/425289/6572a954-7115-9a22-ee22-2f88b9b7d7b4.png)

##centosログイン
1,先ほど設定したパスワードを入力。
初期ログイン直後は言語設定を求められるので、「日本語」で設定。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/425289/7558c9c4-46a9-dddc-3381-471d94237f25.png)

2,「プライバシー」画面は位置情報サービスのオンオフを選択して「次へ」。

3,「オンラインアカウントへの接続」「スキップ」をクリック。

##仮想マシンを操作しやすくするための設定。

VitualBoxゲストOS用ドライバVirtualBox Guest Additionsをインストール

1,準備：export KERN_DIR=/usr/src/kernels/$(uname -r) をインストール (kernelとバージョンを合わせる)。
VBoxAdditionsをインストールするにあたって必要なので忘れずに。

```
yum -y install epel-release
yum -y update kernel
reboot
yum -y install kernel-headers kernel-devel bzip2 make perl dkms gcc
export KERN_DIR=/usr/src/kernels/$(uname -r)
```

2,仮想マシンを一度再起動。

3,メニューの｢デバイス｣から｢Guest Addition CD イメージの挿入...｣をクリック｡
(インストールの最後はエンターを押してください)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/425289/16480b01-c2e7-f728-c212-44a629313355.png)

4,仮想マシンのデスクトップ上に保存されているディスクイメージをクリック。
VBoxWindowsAdditions.exeを実行。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/425289/b2b94db0-459c-9543-0d30-e380a2e03d0d.png)

実行後は画面のリサイズとマウスカーソルのキャプチャーが自動になっていると思います。

参考サイト：
https://qiita.com/100/items/80a899fbaeb1e82b3f67
[6.4. VirtualBox Guest Additions のインストール](https://docs.oracle.com/cd/E26217_01/E35194/html/qs-guest-additions.html)
https://qiita.com/wz7777/items/2e62932f2ad5baf2e6a3

##apacheのインストール
[rpmとyumの違い](https://eng-entrance.com/linux-package-rpm-yum-def)

```
#提供されている Apache httpd 2.4 を確認
yum info httpd

#Apache httpd 2.4 をインストール
yum -y install httpd

#確認
httpd -v

#自動起動の設定
systemctl enable httpd.service

#起動
systemctl start httpd.service
```
参考サイト：
https://weblabo.oscasierra.net/apache-installing-apache24-yum-centos7-1/

##MySQLのインストール
```
#mariaDBがインストールしてある場合を考えて、mariaDB ライブラリとデータフォルダを削除
yum remove mariadb-libs
rm -rf /var/lib/mysql/

#MySQL の yum リポジトリを追加
yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

#パッケージの詳細情報を確認
yum info mysql-community-server

#mysql-community-serverのインストール
yum -y install mysql-community-server

#MySQL Serverインストール＆バージョン確認
mysqld --version

#自動起動の設定
systemctl enable mysqld.service

#起動
systemctl start mysqld.service

```

参考サイト：
https://weblabo.oscasierra.net/installing-mysql57-centos7-yum/

##PHPのインストール
CentOS7の標準リポジトリではPHP7.1が提供されておらず直接PHP7.1をyumインストールできないので、追加で外部リポジトリのRemiとEPELを使います。
####Remi
様々なバージョンのphpのパッケージを配布しているリポジトリ
####EPEL(Extra Packages for Enterprise Linux)
Red Hat Enterprise LinuxやCentOSで使えるパッケージリポジトリ。
RemiのソフトウェアをインストールするためにはEPELのリポジトリが必要。

```

#Remiリポジトリを追加する前に、EPELリポジトリを追加する。
yum -y install epel-release

#Remiリポジトリをインストール。
yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

#リポジトリで提供されていることを確認
yum search php71

#PHP 7.1 のインストール
yum install -y php71 php71-php

#今回は必要ないですが必要に応じて他パッケージもインストール
yum install -y --enablerepo=remi,remi-php71 php php-devel php-cli php-common php-fpm php-mbstring php-pdo php-gd php-mysqlnd php-intl php-fpm php-xml php-pear php-igbinary php-pecl-apcu php-soap php-xmlrpc php-zip

#確認
php -v

```

参考サイト：
https://weblabo.oscasierra.net/centos7-php71-install/