エンジニア初学生が仮想環境導入でやったこと

#目次
1.Vagrant + virtualboxでcentos7の環境構築
2.Vmware player + centos7の環境構築
3.Virtualbox + centos7の環境構築
4.SSH接続とcentos7のひとまずの初期準備
おまけ①
5.proxyのあれこれ
6.環境構築で使うコマンド一覧
7.言語毎の構築のLINK
おまけ②
参照したサイト一覧　
　
補足：近々画像も載せますのでお待ちください。
　
　
#前提条件
-少しのコマンド操作
-少しのググる能力
-少しの負けん気
-少しの気合い


#1.Vagrant + virtualboxでcentos7の環境構築
　
1.ひとまず使うものを揃える
自分の環境に合わせたものをダウンロードしてください
[Vagrantダウンロード](https://www.vagrantup.com/downloads.html)
[VirtualBoxダウンロード](http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp)
ダウンロードが終わったらインストールしてください
　
2.バージョン確認とか
windows >> コマンドプロントで
``C:￥> vagrant -v``
Mac >> ターミナル
``~]$ vagrant -v``
確認ができましたら適当な箇所にディレクトリを作成してください
コマンドプロント、ターミナル
``mkdir vagrant``

3.ひとまずbox作ってしまう
コマンドプロント、ターミナル
``vagrant box add box名 URL``
box用のURLが一覧になっているサイトでコピってください
[box一覧サイト](http://www.vagrantbox.es/)
結構時間かかるのでコーヒータイムです
一服しましょう
　
4.box addが終わったら！！！
作成したディレクトリで以下コマンドを実行
``vagrant init box名``
　
以下のように表示されたら問題ないです

```
A `Vagrantfile` has been place in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant.
```
　　
　
#1-1.起動するよー構築してくよー

1.``vagrant up``
これいっこでVirtualBox立ち上がっちゃいます
ちょこっと時間かかります
　
　
※補足：defaultのfolder mountエラーなんちゃらって起きた時
Vagrant自体は起動(run)してくれますがエラーが気持ち悪いので
対応方法を記載します

対策1
Vagrantfileがあるディレクトリで以下コマンドを実行する
``vagrant plugin install vagrant-vbguest``
エラーの理由：ゲストOS側のkernelバージョンが上がった際に起きるみたいです
上記は``vagrant up``の際に自動で必要なものをinstallしてくれます
　
　
対策2
一旦エラーを無視してSSHで接続、またはVMの側の画面にて``yum update``を行う
※こちらは、未検証ですがupdateすることでkernelのバージョンも上がって板ましたのでおそらく大丈夫かなと
　
　
　
2.起動の確認
macご利用の方
``vagrant ssh``
でssh接続できます

windowsの方ゴメンなさい
ターミナルエミュレーターをご利用ください
ホスト 127.0.0.1
ポート 2222
ユーザー vagrant
password vagrant
で入れます。
※teratermで検証済みです
　
3.起動したまま
Vagrantfileの編集をします

```
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "private_network", ip: "192.168.137.10"
```

の箇所のコメントを外します

3-1.ファイルを共有したいぞ
以下は最初コメントアウトされているので
それを外し、自分の環境に合わせて変更してください
``config.vm.synced_folder "ローカルのディレクトリ", "VM側のディレクトリ"``
　
4.よし再起動
``vagrant reload``

無事立ち上がったでしょうか？
これで問題なく環境導入が終わりました。　
　
　

#2.VMware + centos7での環境構築
1.ひとまず使うものを揃える
[VMware ダウンロード](https://my.vmware.com/jp/web/vmware/free#desktop_end_user_computing/vmware_player/5_0)
[isoファイルがあるミラーサイト(riken ftp)](http://ftp.riken.jp/Linux/centos/7/isos/x86_64/)
※isoファイルのminimalをダウンロード
　
　
2.centosを起動させ、YESマンになる
VMwareを立ち上げたら
新規作成を選択、後でinstallにチェックを入れた後は、ひたすらOK
　
　
3.作成された仮想マシンを選択
仮想マシンの設定を行います
CD/DVDの箇所を選択
ダウンロードしたisoファイルを指定し完了
仮想マシンの再生を行います
　
　
4.VMwareが頑張ってくれる
install画面までVMwareががんばって働いてくれます
インターネットの接続を選択しONに変更
フォルダの箇所を一回選択し、そのままの状態で完了ボタンを押す
右下にある青いボタンを押してください
　
　
5.root権限
root権限のuserとpasswordを作成する
完了ボタンを二回押して完了となります
　
　
6.コーヒータイム、一服休憩
installが長いです
終わったら再起動ボタンを押して再起動してください
※centOSのinstallが始まります
　
　
7.最初の画面
root権限者を作成した際のuser名とpasswordを入れてください
これでcentosにログインし操作できるようになりました
　
※VMwareの画面から出るにはCtl + Altで抜けれます
　
　
#3.Virtualbox + centos7の環境構築
1.VMwareとほとんど変わらないのですがひとまず使うものを揃える
[VirtualBoxダウンロード](http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp)
[isoファイルがあるミラーサイト(riken ftp)](http://ftp.riken.jp/Linux/centos/7/isos/x86_64/)
※isoファイルのminimalをダウンロード
　
　
2.virtualboxを起動し新規作成、YESマンになる
名前ー仮想マシンの名前になります
タイプー今回はlinux
バージョンー今回はcentos64bit(→ないのでredhat 64bit)
選択終わったらひたすらそのまま進めてください
　
　
3.さて仮想マシンができましたので設定を行います
作成した仮想マシンの箇所で右クリック
→ 設定を開く
→ ストレージを選択
→ コントローラー:IDE
の下のCDのロゴの箇所をクリック
→ 光学ドライブと書かれた箇所の右のアイコンをクリック
あらかじめ落としておいたisoファイルを読み込むことを確認し
OKボタンを押す
　
　
4.仮想マシンを起動
起動後はVMwareと同じ手順でcentosの立ち上げまで行います
初期画面のログインも同様となります

以上となります。
　
※virtualboxの画面からの抜け方は、↓ + Ctlです　
　
　
　
#3.9その前に
　
0.windowsの方へ
自分はRLoginというターミナルエミュレーターを使用してSSH接続を行っています。

　
1.Vagrantでの接続方法は先にご説明した通りとなっております
ただprivate_networkを設定した際は、windowsに関しましては、振ったIPを入力後
user名 -vagrant
password -vagrant
で接続が可能です　
　
#4.SSh接続とcentos7のひとまずの初期準備　
　
1.まずVirtualbox自体の設定を行います
ファイル > ネットワーク > ホストオンリーネットワーク
Virtualbox Host-Only Ethernet Adapter
(環境で名前が違うかも?)
の詳細を開き
DHCPサーバーのタブを開きます
①サーバーを有効化(E)にチェックをする
②サーバーアドレス、サーバマスク、下限、上限を入力
→サーバマスクにはIPvネットマスクと同じものを入れてください
最後にOKボタンを押し設定を保存します

例)
アダプター
IPv4：192.168.56.1
IPvネットマスク：255.255.255.0

DHCPサーバ
サーバー有効化
サーバーアドレス：192.168.56.100
サーバマスク：255.255.255.0
下限：192.168.56.101
上限：192.168.56.254

　
　
2.仮想マシンの設定
ネットワーク > アダプター2
ネットワークアダプターを有効化
にチェック入れます
割り当て -ホストオンリーアダプター
名前　- Virtualbox Host-Only Ethernet Adapter
(環境で名前が違うかも？)
OKボタンを押します
設定が保存されたかと思います。
ひとまずこの時点で状態が見たいので
Virtualboxからcentosの画面に入ります
centosを再起動してください
``reboot``
　
3.centos6系とは違う接続名
起動後画面に入りログインしましたら
``ip a``
コマンドを実行します
lo：~
enp0s3：~
enp0s8：~
の一覧が表示されたら問題ないです。
　
4.接続
Rloginの場合
プロトコル：ssh
オプション
server address
作成したuser名：作成したpassword
デフォルト文字セット：UTF-8
OKボタンを押す
Serverselectウィンドウが開くのでOKを押す
無事繋がったらSSH接続完了です
　

　
5.何かと使うGitをいれる　
``~]$ sudo yum install -y git``
ひとまずこれでgit cloneができるようになります

　
　
#5.Proxyのあれこれ
proxy環境下ってめんどくさいですよね
ってことでひとまず書きます。

1.windows
一時的にproxyを通過する
コマンドプロントにて
``set http_proxy=http://proxy:port``
を入力すればひとまずは問題ないです
コントロールパネルから
環境変数設定で新規で追加します
proxy
http://proxy:port
で問題ないです

2.Linux(仮想環境のゲストOS)
.bash_profileに
``export "http_proxy=http://proxy:port"``
を記述してください
しかしこれではgitでcloneできません
``git config --global http.proxy http://proxy:port``
Enterで問題なくcloneできます
　
　
3.Mac
未検証
ターミナルから.bash_profileに記載すれば問題ないかと思います
　
　
　
#6.環境構築で使うコマンド一覧(頻出度高め)
　
1.vagrant

```
vagrant -v　バージョン確認
vagrant init box名　初期化
vagrant up　起動
vagrant reload　再起動
vagrant halt　停止
vagrant destroy　VMから削除※boxは消えません
vagrant box add 名前 URL　box作成
vagrant box remove box名　boxの削除
```

　
2.Centos7(仮想環境のゲストOS)

```shell
cd　　階層移動 
cd /　　最上階層移動
cat (ディレクトリ)ファイル名　ファイル閲覧
ip a　　ネットワークの一覧　
ここから下のコマンドは、root権限時のコマンドになります
なので一般ユーザーの場合は、``sudo コマンド``の様に先頭に``sudo``つけましょー
``vi (ディレクトリ)ファイル名``　ファイルの編集
INSERTモード※編集可能状態
編集開始 → i
カーソルの次の行から編集 → o
INSESRTモードを抜ける → Escキー
保存 → :w
保存&終了 → :wq
破棄 → :q!
rm ファイルorディレクトリ　　削除
mv ファイル1 ファイル2　　ファイル名を1から2へ変更
touch ファイル名　　ファイルの作成
mkdir フォルダ名　　フォルダの作成
sysytemctl start システム名　　システムの始動
sysytemctl restart システム名　　システムの再始動
sysytemctl stop システム名　　システムの停止
sysytemctl status システム名　　システムの稼働状況確認
yum install パッケージ名　　パッケージのinstall
※複数指定、バージョン指定が可能
→install中に[y/n]を聞かれるのがメンドーだわって人↓
yum install -y パッケージ名
yum remove パッケージ名　　パッケージのアンインストール
yum info パッケージ名　　パッケージ情報
yum downgrade パッケージ名　　バージョンのダウングレード
reboot　OSの再起動
usersdd ユーザー名　ユーザーの作成
passwd 作成したユーザー名　passwordの設定
→SSHでの接続は基本こっちから接続することを勧めます
```
　

まだまだあるのですが
検索方法等と合わせて随時追記します
　
　
　
#7.言語毎の構築のLINK
作成中
-言語
[centos7 + rbenv ＋ ruby環境構築](http://qiita.com/hironeko/items/d69162122dba6b47fe06)
ruby on rails　
php(各FW、wordpressの導入等)
-Webサーバ
nginx、apache
-RDBMS
mysql、maria、posgre
を予定してます。