こちらのサイトではDRUPAL10に関連する記事を掲載しています。
はじめに
サーバーで公開しているブログやサーバーアプリの開発は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を使用して仮想マシンの構築を行います。
インストール作業
![](https://drupalfan.com/wp-content/uploads/cocoon-resources/blog-card-cache/b0a7ab4c79ebbcbef32a6ce64920f43a.jpg)
![](https://drupalfan.com/wp-content/uploads/cocoon-resources/blog-card-cache/b0a7ab4c79ebbcbef32a6ce64920f43a.jpg)
![](https://drupalfan.com/wp-content/uploads/cocoon-resources/blog-card-cache/b0a7ab4c79ebbcbef32a6ce64920f43a.jpg)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/vagrant_install-1024x851.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/vagrant_install-1024x851.png)
VIRTUAL BOXのインストール
Virtual boxとは
VirtualBox は、使用している PC 上に仮想的な PC を作成し、別の OS をインストール・実行できるフリーの PC 仮想化ソフトです。 WINDOWSマシンしかもっていなくても、仮想化ソフトを利用してLINUXやMAC OSを動かすことができます。
インストール作業
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/virtualbox_install-1024x788.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/virtualbox_install-1024x788.png)
仮想マシンに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のインストール
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/composer_install.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/composer_install.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/composer_ver.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/composer_ver.png)
ホストOSからWEBサーバーをアクセス
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/apache_http-1024x427.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/apache_http-1024x427.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/apache_testhtml.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/apache_testhtml.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/apache_testview-1024x428.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/apache_testview-1024x428.png)
ホストOSとファイル共有
次の一行をVagrantfileに追加することでホストOSと仮想マシン内のCENTOS7のデータを共有することができますconfig.vm.synced_folder "ホストOS側のパス", "Vagrant側のパス"
ホストOS側のフォルダ
mysql5.7のインストール
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/mysql_remove.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/mysql_remove.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/mysql_repo.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/mysql_repo.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/mysql_install.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/mysql_install.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/mysql_version.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/mysql_version.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/mysql_init_pw.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/mysql_init_pw.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/mysql_showdb_err-chgpw.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/mysql_showdb_err-chgpw.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/mysql_showdb_err-chgpw.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/mysql_showdb_err-chgpw.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/mysql_showdb_ok.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/mysql_showdb_ok.png)
php5.4のインストール
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/php_ver.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/php_ver.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/php_ver-restart.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/php_ver-restart.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/phpinfo-1024x520.png)
![](http://diy.sinceretechnology.work/wp-content/uploads/2018/01/phpinfo-1024x520.png)
DBツールのインストール
ADMINERのインストール
A5:SQL Mk-2のデータベース設定
mysql -h ホスト名 -u ユーザー名 -pパスワード データベース名 < インポートするファイル.sql
開発環境をBOX化
ここまでの作業でCENTOS7のLAMP環境が構築できました。一旦ここでいつでもこの環境に戻せるようにBOX化しておきます。![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JTVCUEMxJUUyJTg2JTkyUEMyJTVEJTIwdmFncmFudCVFMyU4MSVBNyVFNyU4QiVBQyVFOCU4NyVBQWJveCVFMyU4MiU5MiVFNCVCRCU5QyVFMyU4MSVBMyVFMyU4MSVBNiVFOSU4NSU4RCVFNSVCOCU4MyVFMyU4MSU5OSVFMyU4MiU4QiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9NTZiYmMzMTQ1MjFkM2VmMTQ0NmUzNDMzOWI2ZWQwYzg&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBZdXN1a2VIaWdha2kmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTFlNmFkYmQ1ZTg4N2E4ZGY0ZGFiZWJhNDJjMjcwM2Mz&blend-x=142&blend-y=486&blend-mode=normal&s=2c4daa482c1af8342ffed4ac3db23059)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JTVCUEMxJUUyJTg2JTkyUEMyJTVEJTIwdmFncmFudCVFMyU4MSVBNyVFNyU4QiVBQyVFOCU4NyVBQWJveCVFMyU4MiU5MiVFNCVCRCU5QyVFMyU4MSVBMyVFMyU4MSVBNiVFOSU4NSU4RCVFNSVCOCU4MyVFMyU4MSU5OSVFMyU4MiU4QiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9NTZiYmMzMTQ1MjFkM2VmMTQ0NmUzNDMzOWI2ZWQwYzg&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBZdXN1a2VIaWdha2kmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTFlNmFkYmQ1ZTg4N2E4ZGY0ZGFiZWJhNDJjMjcwM2Mz&blend-x=142&blend-y=486&blend-mode=normal&s=2c4daa482c1af8342ffed4ac3db23059)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUU2JTk3JUEyJUU1JUFEJTk4VmlydHVhbEJveCVFMyU4MyU5RSVFMyU4MiVCNyVFMyU4MyVCMyVFMyU4MiU5MlZhZ3JhbnQlRTUlOEMlOTYlRTMlODElOTklRTMlODIlOEIlRTMlODElQTglRTMlODElOEQlRTMlODElQUIlRTMlODMlOEYlRTMlODMlOUUlRTMlODElQTMlRTMlODElOUYlRTMlODIlQTglRTMlODMlQTklRTMlODMlQkMlRTUlOUIlOUUlRTklODElQkYlRTYlOTYlQjklRTYlQjMlOTUlRTMlODElQUElRTMlODElQTkmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWRlYzRlMTkzMjVlNzZmNWQyODFiYTFhOWZlOGEwOGZk&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBKX1N1Z2FyX18mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWE2YjdjN2U0NzY3NjIxMjZjODUwY2UwZGE0OTM4MmEy&blend-x=142&blend-y=436&blend-mode=normal&txt64=aW4g44OH44K444K_44Or44K144O844Kr44K55qCq5byP5Lya56S-&txt-width=770&txt-clip=end%2Cellipsis&txt-color=%23212121&txt-font=Hiragino%20Sans%20W6&txt-size=36&txt-x=156&txt-y=536&s=86ddd7072a2bc26ec4c467585c4f078b)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUU2JTk3JUEyJUU1JUFEJTk4VmlydHVhbEJveCVFMyU4MyU5RSVFMyU4MiVCNyVFMyU4MyVCMyVFMyU4MiU5MlZhZ3JhbnQlRTUlOEMlOTYlRTMlODElOTklRTMlODIlOEIlRTMlODElQTglRTMlODElOEQlRTMlODElQUIlRTMlODMlOEYlRTMlODMlOUUlRTMlODElQTMlRTMlODElOUYlRTMlODIlQTglRTMlODMlQTklRTMlODMlQkMlRTUlOUIlOUUlRTklODElQkYlRTYlOTYlQjklRTYlQjMlOTUlRTMlODElQUElRTMlODElQTkmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWRlYzRlMTkzMjVlNzZmNWQyODFiYTFhOWZlOGEwOGZk&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBKX1N1Z2FyX18mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWE2YjdjN2U0NzY3NjIxMjZjODUwY2UwZGE0OTM4MmEy&blend-x=142&blend-y=436&blend-mode=normal&txt64=aW4g44OH44K444K_44Or44K144O844Kr44K55qCq5byP5Lya56S-&txt-width=770&txt-clip=end%2Cellipsis&txt-color=%23212121&txt-font=Hiragino%20Sans%20W6&txt-size=36&txt-x=156&txt-y=536&s=86ddd7072a2bc26ec4c467585c4f078b)
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
まとめ
参考
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9VmFncmFudCUyMCUyQiUyMFZpcnR1YWxCb3glRTMlODElQTdXaW5kb3dzJUU0JUI4JThBJUUzJTgxJUFCJUU5JTk2JThCJUU3JTk5JUJBJUU3JTkyJUIwJUU1JUEyJTgzJUUzJTgyJTkyJUUzJTgyJUI1JUUzJTgyJUFGJUUzJTgzJTgzJUUzJTgxJUE4JUU2JUE3JThCJUU3JUFGJTg5JUUzJTgxJTk5JUUzJTgyJThCJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz01Zjk1YmQ2MmY2ZmExZjhjNjE3NmY0NWI0YzJlMzQ5MA&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBvemF3YW4mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTg3MGY3OTkzZWVlNzkwZjM0MDg0OGJkYTZiNDQwZjFl&blend-x=142&blend-y=486&blend-mode=normal&s=e0916de5ff94976e7075befde4a22a36)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9VmFncmFudCUyMCUyQiUyMFZpcnR1YWxCb3glRTMlODElQTdXaW5kb3dzJUU0JUI4JThBJUUzJTgxJUFCJUU5JTk2JThCJUU3JTk5JUJBJUU3JTkyJUIwJUU1JUEyJTgzJUUzJTgyJTkyJUUzJTgyJUI1JUUzJTgyJUFGJUUzJTgzJTgzJUUzJTgxJUE4JUU2JUE3JThCJUU3JUFGJTg5JUUzJTgxJTk5JUUzJTgyJThCJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz01Zjk1YmQ2MmY2ZmExZjhjNjE3NmY0NWI0YzJlMzQ5MA&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBvemF3YW4mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTg3MGY3OTkzZWVlNzkwZjM0MDg0OGJkYTZiNDQwZjFl&blend-x=142&blend-y=486&blend-mode=normal&s=e0916de5ff94976e7075befde4a22a36)