CUI環境で勉強したいのでVagrantを活用した。
環境
Mac el Capitan(v10.11.3)
HomeBrew導入済み
VirtualBox(v5.0.16)
Vagrant(v1.8.1)
今回はすでにbrewで上の環境を構築しております。
仮想マシン構成編
作業用ディレクトリを作成、設定
$ cd
$ mkdir MyVagrant
$ cd MyVagrant
$ mkdir mycentos
$ cd mycentos
vagrant file作成
$ vagrant init bento/centos-6.7
$ vim vagrantfile
vagrantfile設定
下記の内容がコメントアウトされているので外します。
# config.vm.network "private_network", ip: "192.168.33.10"↲
↓
config.vm.network "private_network", ip: "192.168.33.10"↲
仮想マシン起動
$ vagrant up
しばらくする起動する。
起動の確認
$ vagrant status
running(virtual box)
~~~~
```
となっていれば起動しています。
仮想マシンにSSH接続
$ vagrant ssh
[vagrant@localhost ~]$
となり、接続されました。
注意
- ユーザー名:vagrant
- password:vagrant
となっています。
関連ソフトのインストール
Git
$ sudo yum install -y git
スクリプトのダウンロード(GitHubで公開されているもの)
$ git clone https://github.com/dotinstallres/centos65.git
ダウンロードされているファイルに移動し、シェルスクリプトを実行
$ cd centos65
$ ./run.sh
スクルプトで入れたもの一部
- PHP(v5.6.19)
- mysql(v14.14)
- python(v2.6.6)
- ruby(v2.2.2)
- apache(実行中)
時間がかかりまた500MB程通信します。
./run.shで初回failedが出るのは、コマンド存在チェックをしているからです。
再ログイン時にrubyが有効になりますが今すぐ実行さえたい場合
$ exec $SHELL -l
仮想マシンから抜け出す。
$ exit
仮想マシンを一時停止
$ vagrant suspend
==> default: Saving VM state and suspending execution...
CentOSを再度立ち上げる。
$ vagrant up
$ vagrant ssh
ファイル転送ツール(Cyberduck)を使う
Macにインストール
brew install Caskroom/cask/cyberduck
CentOS上のIPアドレスを確認する。SSH接続した状態で
$ ip a
または
$ ifconfig
で確認します。
eth1 Link uncap:Ethernet
inet addr:192.168.33.10
次にCyberduckを起動し、新規作成をクリック、以下のように設定してください
- サーバ:確認したIPアドレス
- ユーザー名:vagrant
- password:vagrant
- 詳細設定 パス: /var/www/html
接続し、ホスト鍵が不整合と出るので許可を押すと接続が完了します。
Cyberduck設定
環境設定を開きブラウザを選択、ダブルクリックしたファイルを外部エディタで開くをチェック
外部エディタを選択しお好みのエディタに設定
すれば完了です。
次にPHPファイルを作成します。
ファイル名の下の罫線が表示されている場所を副クリックし新規ファイルを押す。
ファイル名はindex.php
中身を編集します、index.phpをダブルクリックし、中身を
<?php
echo "Hello from Vagrant!";
で保存します。
MacのブラウザからPHPファイルを確認
ブラウザのアドレスバーに先ほど確認したIPアドレス/index.php
を入力しエンター
確認することができました。
ブラウザーでアクセスするときのIPアドレスを分かりやすくする。
数字だとわかりにくいのでCentOS内のHostsファイルを変更します。
今回使うツールはprefpane
です
$ brew install Caskroom/cask/cyberduck
Cyberduckを開き、鍵が開いていない場合は解除し、プラスをクリック
確認したIPアドレスとホスト名(任意)を入力します。
ホスト名にアクセスした場合、左のIPアドレスにアクセスする設定です。
先ほどブラウザにIPアドレスを入力しましたが、ホスト名/index.php
でアクセスしてみます。表示されていることが確認できました。