仮想マシンVirtualBoxにCentOSを入れてサーバー構築 【備忘録】

##はじめに
- プログラミングで何かを作るまえに、どんな言語であれ、乗り越えなければならないのが**「ローカル開発環境構築」**という初心者にとって大きな壁があります。
- 大げさにいえば、駆け出しの人たちを幾度となく絶望の淵に落とした**序盤の最強のボス**。
- この様な捉え方をする自分が少しでも克服するために、**サーバ構築手順**を載せます。

##概要
　`VirualBox`を使った**仮想マシン**を立ち上げて、
　`Linuxコマンド`の**学習環境の構築**していきます。

##仮想マシンとは？
　既存のOS(Windows,MacOSなど)の上に、仮想のPC環境のことを**仮想マシン**と呼びます。
分かりやすく言えば、

>仮想マシンは**「コンピュータの中に作られた、なんちゃってコンピュータ」**です。

　ものすごく分かりやすい表現で説明するサイトが [>>こちら](https://wa3.i-3-i.info/word11941.html)
　そして、その仮想化を実行してくれるソフトの一つが、今回で使用する**VirtualBox**です。

##サーバ構築手順
#####前準備
- [0. 作業環境](#0-作業環境)
- [1. VirtualBoxのインストール【仮想化ソフト】](#1-virtualboxのインストール仮想化ソフト)
- [2. CentOSのダウンロード](#2-centosのダウンロード)


#####構築作業
- [3. Virtualboxで仮想マシン作成](#3-virtualboxで仮想マシン作成)
- [4. 作成した仮想マシンの設定変更](#4-作成した仮想マシンの設定変更)
- [5. CentOSをインストール](#5-centosをインストール)

## 0. 作業環境
- ホストOS = Windows 10 Home 64bit
- Webブラウザ = Google Chrome
- 仮想化ソフト = VirtualBox 6.1.18
- ゲストOS = CentOS 7 

##1-VirtualBoxのインストール【仮想化ソフト】
　WindowsからGoogleChrome上で**VirutualBox**をダウンロードします。
[>>VirutalBoxダウンロード](https://www.virtualbox.org/wiki/Downloads)

![win006.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/6ae6beed-fd4e-479e-2346-678762868ca8.jpeg)


- [ ] 　自分が使っている既存のOSは、Windowsなので**Windows hostsにクリック**します。
- [ ] 　ダウンロードしたexe.ファイルを開いて**インストール手続きを進めて完了**。
- 仮想環境の上で**「ホストOS=使っているPCのOS」**と**「ゲストOS=仮想マシンのOS」**という用語が出てきます。
[>>詳しくはこちら](https://wa3.i-3-i.info/word1201.html)

##2-CentOSのダウンロード
　ここでは、一般に普及している**「CentOSバージョン7」**をダウンロードします。
[>>CentOS公式サイト](https://www.centos.org/)

![win004.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/e8505066-ce71-1370-0a16-6aeb5ca44228.jpeg)

- [ ] 「Home」→「Download」→「Older Version」の中の**「then click here」**をクリック。

![win005.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/04a2b898-3509-50a2-dc71-b14dfca9b7d4.jpeg)

- [ ] 　すると、CentOSバージョンの一覧が表示されます。
その中でCD and DVD ISO Imagensの欄にある**「mirrors」**をクリックしてミラーサイト一覧を表示させます。
- 　**ミラーサイトとは**、ホームページのコピーという意味でここでは過去バージョンの一覧になります。[>>詳しくはこちら](https://wa3.i-3-i.info/word1379.html)

![win007.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/a17c70d2-c074-2bc9-5932-c1bcb2597130.jpeg)

- [ ] 　どのサイトからISOイメージファイルを取得しても同じです。ただ、ネットワーク的に近いサイトで選択すればダウンロードの時間がかからない程度です。こだわりが無ければ**「一番上のリンク」**をクリック。


![winn008.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/341262a8-e472-fac4-6dfa-c8d6100085d6.jpeg)

- [ ] 　**「DVD」＆「iso」が付いているリンク**をクリックすると、ダウンロードが開始されます。
- 　.isoが付いている拡張子は、**ISOイメージファイル**によく使われ、CDやDVDの中身を1つにまとめたファイルのことを指します。[>>詳しくはこちら](https://wa3.i-3-i.info/word15853.html)


## 3-VirtualBoxで仮想マシン作成
　でわ、VirtualBoxアイコンを開いて**「新規の仮想マシンを作成」**します。

![winn009.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/f5414100-b385-813b-5136-020ce2d4fe92.jpeg)


- [ ] 　**0.「仮想マシン名」**をCentOSと記入すると**「タイプ」/「バージョン」**が自動的に割り当ててくれます。>>次へ
- [ ] 　**1.「メモリーサイズ(デフォルト)」**
- [ ] 　**2.「仮想ハードディスクを作成」**
- [ ] 　**3.「VDI(VirtualBox Disc Image)」**
- [ ] 　**4.「可変サイズ」**
- [ ] 　**5.「ファイルと場所のサイズ(デフォルト)」**と順に進めて作成完了です。

　`4.で可変サイズにしておくと仮想ハードディスクの容量を使った分だけ、ホストのPCの物理ハードディスク/SSDを消費するので容量の節約になります。`

## 4-作成した仮想マシンの設定変更
　新規で作成した**仮想マシンの設定**を行います。
![wa010.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/23d8bfe4-bdd1-f8ed-00d2-556bd16ca884.jpeg)

- [ ] 　 作成した仮想マシンを選択して**「設定」**にクリックします。
- [ ]  　すると、設定画面が表示されて、**「ストレージ」**をクリック。
![win11.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/bc601593-19a4-643c-240c-fabed38a6f27.jpeg)

- [ ] 　ストレージでは、CentOSのISOイメージファイルを入れます。
**「空」**のコントローラーIDEを選択。
- [ ] ディスクマークにクリックして、**「仮想光学ディスクの選択/作成」**にクリック。
- [ ] 前準備でダウンロードしたISOイメージファイルを選択したらセットされます。

![WS000012.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/534b6711-7b80-db78-3f96-76cade154420.png)

- [ ] 　次に**「ネットワーク」**を選択して割り当てを**「ブリッジアダプター」**にします。
- 　各項目の説明は、省略します。自分も気になるのでいずれに解説したいと思います。参考記事を貼っておきます。[>>YouTube解説](https://www.youtube.com/watch?v=EPCSFhvYZus) [>>Qiita記事](https://qiita.com/hirooka0527/items/10821f5490738328b442)

- [ ] 　ここまでの工程を終えれば**「ok]**で設定完了です。

## 5-CentOSをインストール

　設定した仮想マシンに**「CentOS 7」**をインストールします。
![WS000014.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/f6dd50da-e24a-1851-f79f-9063a40761e5.png)

- `注意事項：`仮想マシンの作業中は、ホストOSのマウスカーソルの操作が出来ません。
- `右側のCtrlキー`で元のホストOS画面に切り替わります。
- [ ] 　そしたら、設定変更を確認して、**「起動」**をクリックします。

---
　ここからは、**「仮想マシン内の作業」**となります。
![qon01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/9d25b514-b2e6-3ec0-74af-34c9b0dce025.jpeg)

- [ ] 　キーボードの上下キーで**「Install CentOS 7」**にEnterでインストール開始。

![WS000016.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/9f2f9bb6-edf0-df1f-de49-8492d8cc716e.png)

- [ ] 　「japan」と打って「日本語」を選択した状態で**「続行」**をクリックします。

![asas.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/5502c2e8-7889-f1f4-5110-fe91ace3f0d7.jpeg)
　画面が`この様な↑↑`不具合でズレていなければ [>>こちらに進む](#画面が正常であるかを確認)

- 　一度**「終了」**にクリックします。

![nini001.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/0733c465-c5d1-c9c9-7d3e-ba7dd0effa5f.jpeg)

- **「FATAL: No bootable medium found! System halted.」**というメッセージが出てきます。これは、**「ストレージにあった仮想光学ディスクが空になっている」**状態です。
- [4. 作成した仮想マシンの設定変更](#4-作成した仮想マシンの設定変更) に戻って**「ISOイメージファイル」**を入れ直して下さい。

![WS000017.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/7cb70333-5541-cf8f-f4ed-fffe17dd839e.png)

- 　再び起動して「CentOSインストール画面」に**「Tabキー」**を押します。
- 　すると、入力コマンドを設定していきます、以下のように修正↓↓。
- 　`修正前：`**rd.live.check quiet**
- 　`修正後：`**resolution=1280x800 quiet**
- 　**「Enter」**を押して**アスペクト比が修正**されます。

####画面が正常であるかを確認
![WS000018.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/ed02bc20-69d2-ef35-0c67-08d9118fdab5.png)

- [ ] 　システムの**「インストール先」**に警告があるのでクリックします。

![won002.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/aa7287b7-05e2-641b-6568-20c57ea715ca.jpeg)

- [ ] 　ハードディスクにチェックが入っていることを確認してから**「完了」**ボタンを選択。

![won003.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/0413e1c7-53e6-9249-9997-0d9efcfe166c.jpeg)

- [ ] 　**「ネットワークとホスト名」**が接続されていないのでクリック。

![won004.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/8da35ef5-07f5-7c9b-d228-bb15c9d751a2.jpeg)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/e3685bfa-f2d0-8338-fda1-45c3bcda8cea.png)


- [ ] イーサネットを**「ON]**にして完了し、元の画面から**「インストール」**開始します。
![WS000019.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/9d8bdf25-8340-8f66-a556-afbdfc6270cb.png)

![WS000029.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/d1019f75-f5ca-9754-c897-55f27790a864.jpeg)

- [ ] インストールされている間に**「rootパスワード」**を設定。二回入力します。

![WS000020.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/d3231f5c-9919-d3d9-9301-3ec4f47e0aa0.jpeg)

![WS000021.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/e8fa5be1-2cbd-7f9d-2202-e93287b2f7d0.jpeg)

- [ ] 　パスワードが決まったところで元の画面で**「再起動」**させて**「CentOSログイン画面」**が表示されたら**「CentOSサーバ構築」**完了です。

![WS000023.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1203650/c1a6dfd2-5d72-cdb6-ead9-04a65ce71a79.png)

- [ ] 　1.`localhost login`に**root**と打って**Enter**
- [ ] 　2.`Password`先ほど決めた**パスワード**を入れます。**英数字が出ない**のが通常です。
- [ ] 　3.`[root@localhost ~]#`と出ればログイン成功。
 - `shutdown -h now`でEnterを押すとゲストOSから出て**電源がOFF**になります。

##あとがき
　お疲れ雅でした！
　この記事を書き終えて思ったことは、**すごく自分のためになった事と専門用語を追求している内にドンドン視野が広がって馴染み始めた**点です。本文に使うMarkdownも立派な言語なので、エンジニアはこんな感じなのかなと、体感しました。