この記事は現役ウェブディベロッパーがわかりやすさにこだわって作成しました
はじめに
サーバーで公開しているブログやサーバーアプリの開発はWINDOWS上にXAMPPでLAMP環境を構築してPHPSTORMというIDE(統合デバッグ環境)を使って開発をしています。しかし、いくらLAMP環境がWindows上で動くとはいえ実際の環境とは違いがありすぎるので、仮想マシンに環境をインストールすることにしました。最近は、VAGRANTというツールがあって簡単に環境を構築できるようになりました。 今回はVAGRANTを使ってローカル上に仮想マシンを作成します。環境
- WINDOWS10 HOME
- VAGRANT
- VIRTUAL BOX
- APACHE2.4
- MYSQL5.7.21
- PHP5.4
準備
VAGRANTのインストール
Vagrantとは
Vagrantは、違う環境に移行可能な開発環境を簡単に構築・管理し、配布することができるすばらしい開発環境作成ツールです。今回は、Vagrantを使用して仮想マシンの構築を行います。
インストール作業
VIRTUAL BOXのインストール
Virtual boxとは
VirtualBox は、使用している PC 上に仮想的な PC を作成し、別の OS をインストール・実行できるフリーの PC 仮想化ソフトです。 WINDOWSマシンしかもっていなくても、仮想化ソフトを利用してLINUXやMAC OSを動かすことができます。
インストール作業
仮想マシンにLAMP環境を設定
CENTOS7インストール作業
BOXイメージを準備する
下記サイトよりインストールしたいBOXイメージを取り込みます。
vagrant init bento/centos-7
※VAGRANT1.5までは「vagrant box add box名 URL」としてBoxを追加していましたが、現在ではinitコマンドで「Boxの追加」と「初期化」が同時にできるようになったようです。(vagrant init ベンダー名/Box名)
仮想マシン内にCENTOS7を構築する
vagrant up
Vagrantで端末からssh接続する
vagrant ssh
ssh接続から抜ける
exit
仮想マシン内のCENTOS7をシャットダウンする
vagrant halt
config.vm.network "private_network", ip: "192.168.33.10"
ipconfigでipアドレスを確認する
ifconfig
TERA TERMで仮想マシン上のCENTOS7に接続する
apache2.4のインストール
apache2をインストールします。インストールはyumコマンドで行いますapacheをインストールする
yum -y install httpd
apacheのバージョンを確認する
httpd -version
apacheが起動していることを確認する
systemctl enable httpd.service
composerのインストール
ホストOSからWEBサーバーをアクセス
ホストOSとファイル共有
次の一行をVagrantfileに追加することでホストOSと仮想マシン内のCENTOS7のデータを共有することができますconfig.vm.synced_folder "ホストOS側のパス", "Vagrant側のパス"
ホストOS側のフォルダ
mysql5.7のインストール
php5.4のインストール
DBツールのインストール
ADMINERのインストール
A5:SQL Mk-2のデータベース設定
mysql -h ホスト名 -u ユーザー名 -pパスワード データベース名 < インポートするファイル.sql
開発環境をBOX化
ここまでの作業でCENTOS7のLAMP環境が構築できました。一旦ここでいつでもこの環境に戻せるようにBOX化しておきます。MACアドレスの解除
MACアドレスが固定されて起動時にネットワークエラーが発生するため、udevルールを無効化しておきます。
sudo ln -s -f /dev/null /etc/udev/rules.d/70-persistent-net.rules
最適化
可能な限り最適化してBOX化した時のサイズを縮小します。
sudo yum clean all sudo dd if=/dev/zero of=/EMPTY bs=1M sudo rm -f /EMPTY
パッケージ作成
Vagrantでパッケージにします。配布する場合はこのパッケージファイル(.boxファイル)と必要であればVagrantfileを渡します。
vagrant package --output パッケージファイル名.box
ボックスに登録
Vagrantでボックスに登録にします
vagrant box add 登録BOX名 パッケージファイル名.box
登録されたボックスの確認
Vagrantで登録されたボックスを確認します
vagrant box list
まとめ
参考
この記事についてのご質問またはお困りのことがございましたら、お気軽にお問い合わせください。