今回はVagrant上にあるC…
Vagrantで簡単に共有できる仮想環境を構築する
Vagrantって言葉をよく聞くようになってきたので試したくなった。 プロジェクト毎に独立した環境が用意できるって結構素敵なことだなあ。 その開発環境の構築と共有を簡単に行うためのツールということで興味が湧いたので早速使ってみることに。
https://www.vagrantup.com/ https://www.vagrantup.com/downloads.html ここからダウンロードできるようなので早速ダウンロード。
使用しているOSによってインストールの方法は違うけどここではMac OS X ElCapitan (10.11.6)を前提にします。
Vagrantのインストール
VirtualBoxのインストール
ここらへんでBOXを探します。BOXってのはVagrantで使える中身のOSイメージね。
https://atlas.hashicorp.com/boxes/search
CentOS7.0が欲しいのでhttp://www.vagrantbox.es/よりコピー。
BOXを追加する。
vagrant box add CentOS70 https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box
BOXが追加出来たかチェック。
$ vagrant box list
使用するディレクトリの準備
$ mkdir -p ~/Vagrant/CentOS70/ $ cd ~/Vagrant/CentOS70/
初期化。
$ vagrant init CentOS70
Vagrantfileという設定ファイルが作成されます。
VM起動。
$ vagrant up --provider virtualbox
vagrant up コマンドで自分の環境ではエラーになった。An error occurred while downloading the remote file. The error message, if any, is reproduced below. Please fix this error and try again.
エラー解決法:
$ vagrant plugin install vagrant-vbguest
再度VM起動。
$ vagrant up
起動しました。
SSH接続(VMにログイン)
vagrant ssh
デフォルトでは ユーザー名: vagrant rootのパスワード: vagrant になってました。
VM終了
vagrant halt
VM上で保存したデータは、
vagrant destroy
で環境を破棄するまでは保存されています。
ネットワーク設定
vim Vagrantfile
config.vm.network "private_network", ip: "192.168.33.10"
この部分のコメントアウトを外す。
PHPの環境を構築したい
PHPのインストール
$ sudo yum install php
apacheのインストールと起動。
$ sudo yum install httpd $ sudo service httpd start
再起動してもApacheが起動するように。
sudo chkconfig httpd on
ファイアーウォールを切る(ローカル開発環境だから問題ないと思う)
sudo service iptables stop sudo chkconfig iptables off
さらにMySQLを使いたい。ついでにwgetも欲しい。
$ sudo yum install mysql-server php-mysql wget
MySQLを自分好みに設定
$ sudo vi /etc/my.cnf
[mysqld] default-character-set = utf8 [mysql] default-character-set = utf8
上記設定にしてみた。
MySQLを起動
sudo /etc/rc.d/init.d/mysqld start
起動時にMySQLも一緒に起動する設定をしておく。
chkconfig mysqld on
rootでログインできるかな?
mysql -u root
できますね。
Apache再起動しておく
$ sudo service httpd restart
Mac側に戻ってリロードしておく。
vagrant reload
プロビジョニング(Provisioningとはvagrant upした後に実行される一連の処理のこと。ここまで手動でやったhttpdの設定などを自動化する。)別にやらなくてもいいけど環境を誰かと共有するなら。
vagrant provision
index.htmlファイルなんかを作ってみるといいかも。
$ cd /var/www/html $ sudo vi index.html
この設定で192.168.33.10にアクセスできるのでブラウザで http://192.168.33.10にアクセスし、index.htmlページが表示されれば成功です。
手軽に環境構築できる、という触れ込みだったけどはたして手軽なのか何なのか。 まあ慣れれば手軽に思えますね。
ディスカッション
コメント一覧
まだ、コメントがありません