Drupal 実習環境 centos7dsm の導入キットと使い方(Mac 編)

  • 2017-03-12 (日) 17:58 初版作成
    2018-03-03 (土) 11:21 最終更新

Drupal 実習環境 centos7dsm の導入キットと使い方(Mac 編)

概要

「Vagrant/VirtualBox/CentOS7 で Drupal の実習用環境を構築する」で報告した実習環境の導入キットを作成した。
https://github.com/bkenro/centos7dsm

以下、その概要と Mac での使い方をまとめる。なお動作確認は、OS X El Capitan (バージョン 10.11.6)、メモリ 4GB の環境で行った。

前提環境

VirtualBox

https://www.virtualbox.org/wiki/Downloads
オラクル社が開発・配布している仮想化ソフトウェア パッケージ。上記 URL から OS X 版のインストーラ(.dmg ファイル)をダウンロードし、インストールする。本稿ではバージョン 5.2.6 で動作を確認した。

VirtualBox のインストーラ

インストール後は、アプリケーション フォルダのアイコンから UI を起動できる。

UI の起動はアプリケーション フォルダのアイコンから

Vagrant

https://www.vagrantup.com/downloads.html
仮想化ソフトウェア(例:VirtualBox)と構成管理ソフトウェア(例:Chef、Ansible 等)を組み合わせて仮想環境を構築する処理を自動化するためのソフトウェア。HashiCorp 社が開発・配布している。上記 URL から Mac OS X 版のインストーラ(.dmg ファイル)をダウンロードし、インストールする。本稿ではバージョン 2.0.2 で動作を確認した。

Vagrant のインストーラ

インストールが完了すると、/usr/local/bin/vagrant ファイルとして vagrant コマンドが導入され、ターミナルから実行できるようになる。たとえば、-v オプションを指定して実行すると、バージョンを確認できる。

vagrant コマンドを実行してみる

また、Vagrant のインストール完了後、下記コマンドを実行して vagrant-vbguest プラグインをインストールしておく。

vagrant plugin install vagrant-vbguest

このプラグインにより、VirtualBox 上の仮想マシンとのフォルダ共有等に必要な Guest Additions というパッケージの自動更新が可能になる。

実習環境 centos7dsm の内容

勉強会での配布を念頭に、次のような実習環境の導入キットを作成した。

centos7dsm キットのファイル構成

以下が含まれる。

  • Vagrant用プロンプト.lnk ファイル
    Mac では使用しない。
  • vcmd.bat ファイル
    Mac では使用しない。
  • pj フォルダ
    ゲスト OS (Linux) の /var/www/pj ディレクトリにマッピングされる。このディレクトリは 8080 番ポートで仮想マシンの Web サーバーのルートとして公開される。
  • vagrant フォルダ
    ゲスト OS (Linux) の /vagrant ディレクトリにマッピングされる。/vagrant/bin ディレクトリに dbcrt などのユーティリティスクリプトが格納されている。
  • Vagrantfile ファイル
    Vagrant の環境設定ファイル。仮想環境の名前や IP アドレス、共有フォルダ、環境の初期化処理などの構成が定義されている。
  • VERSION ファイル
    centos7dsm のバージョンを記載したファイル。

基本的な使い方

導入キット

次のファイルをデスクトップにダウンロードし、ファイルをダブルクリックして展開する。

次に、ターミナルでデスクトップの centos7dsm フォルダに移動し(cd ~/Desktop/centos7dsm)下記コマンドを実行する。

$ vagrant up

Vagrant Cloud に公開している BOX ファイルがダウンロードおよび展開され、仮想環境が起動される。

次のようなメッセージが表示される。

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'bkenro/centos7dsm' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: 0.1.0
==> default: Loading metadata for box 'bkenro/centos7dsm'
    default: URL: https://vagrantcloud.com/bkenro/centos7dsm
==> default: Adding box 'bkenro/centos7dsm' (v0.1.0) for provider: virtualbox
    default: Downloading: https://vagrantcloud.com/bkenro/boxes/centos7dsm/versions/0.1.0/providers/virtualbox.box
 
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'bkenro/centos7dsm' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: 0.1.0
==> default: Loading metadata for box 'bkenro/centos7dsm'
    default: URL: https://vagrantcloud.com/bkenro/centos7dsm
==> default: Adding box 'bkenro/centos7dsm' (v0.1.0) for provider: virtualbox
    default: Downloading: https://vagrantcloud.com/bkenro/boxes/centos7dsm/versions/0.1.0/providers/virtualbox.box
==> default: Box download is resuming from prior download progress
==> default: Successfully added box 'bkenro/centos7dsm' (v0.1.0) for 'virtualbox'!
==> default: Importing base box 'bkenro/centos7dsm'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'bkenro/centos7dsm' is up to date...
==> default: Setting the name of the VM: vm-centos7dsm-0.1.0
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Setting hostname...
==> default: Configuring and enabling network interfaces...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
==> default: Mounting shared folders...
    default: /vagrant => /Users/bkenro/Desktop/centos7dsm/vagrant
    default: /var/www/pj => /Users/bkenro/Desktop/centos7dsm/pj
==> default: Running provisioner: shell...
    default: Running: inline script

起動後、ターミナルから次のコマンドを実行すると、仮想マシンの状態を確認することができる。

vagrant status

正常に起動していれば、次のようなメッセージが表示される。

Current machine states:
 
default                   running (virtualbox)
 
The VM is running. To stop this VM, you can run `vagrant halt` to shut it down forcefully, or you can run `vagrant suspend` to simply suspend the virtual machine. In either case, to restart it again, simply run `vagrant up`.

Vagrantfile で指定したプライベート ネットワークの IP アドレスに ping を発行してみる。正常に機能していれば応答が返される。

$ ping 192.168.12.34
PING 192.168.12.34 (192.168.12.34): 56 data bytes
64 bytes from 192.168.12.34: icmp_seq=0 ttl=64 time=0.477 ms
64 bytes from 192.168.12.34: icmp_seq=1 ttl=64 time=0.773 ms
64 bytes from 192.168.12.34: icmp_seq=2 ttl=64 time=0.680 ms
64 bytes from 192.168.12.34: icmp_seq=3 ttl=64 time=0.541 ms
^C
--- 192.168.12.34 ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.477/0.618/0.773/0.116 ms

同じ IP アドレスにブラウザからアクセスしてみる。正常に動作していれば、Apache デフォルトの Welcome ページが表示される。

Apache デフォルトの Welcome ページ

次に、Linux (CentOS) にログインしてみる。

ターミナルから次のコマンドを実行すると、ゲスト OS の CentOS にログインできる。

$ vagrant ssh
Last login: Fri Mar  1 23:45:43 2017 from 192.168.12.1
[vagrant@centos7dsm ~]$

/vagrant や /var/www/pj に移動すると、ホスト側(Windows)で用意したファイルシステムにアクセスできることがわかる。

[vagrant@centos7dsm ~]$ cd /vagrant
[vagrant@centos7dsm vagrant]$ ls -al
total 0
drwxrwxrwx   1 vagrant vagrant   0 Feb 21 04:13 .
dr-xr-xr-x. 18 root    root    259 Feb 19 17:32 ..
drwxrwxrwx   1 vagrant vagrant   0 Feb 21 04:13 bin

以上で仮想マシンの動作が確認できた。

Linux からログアウトする。

[vagrant@centos7dsm ~]$ exit
ログアウト
Connection to 127.0.0.1 closed.

仮想マシンをシャットダウンするには、ターミナルで次のコマンドを実行する。

$ vagrant halt

次のメッセージを表示した後、仮想マシンが停止する。

==> default: Attempting graceful shutdown of VM...

以後、vagrant up で起動、vagrant halt で終了、を基本に繰り返し使用できる。ファイルシステムに加えた変更は永続的に保持され、仮想マシンの再起動で消えることはない。

まとめ

「Vagrant/VirtualBox/CentOS7 で Drupal の実習用環境を構築する」で報告した実習環境の導入キットを作成し、Mac での基本的な使い方をまとめた。centos7dsm.zip ファイルをダウンロードし、デスクトップに展開して、vagarnt up を実行することで仮想マシンを起動できる。勉強会でのオフライン配布を含め、今後も活用しながら改善していきたい。

更新履歴

  • 2018-03-03 (土) 11:21
    前提環境に vagrant-vbguest プラグインのインストールを追加。Vagrant ファイルを含む導入キット centos7dsm のプロジェクト URL を追記。表現等のエディトリアルな修正。
  • 2018-02-21 (水) 13:26
    centos7dsm v0.1.0 に合わせて更新。
  • 2017-11-12 (日) 07:28
    centos7dsm の Drupal 8 を 8.4.2 に更新。Drupal 7 のコア翻訳ファイルを従来の standard に加え minimal プロファイルにも追加。
  • 2017-10-19 (木) 09:46
    centos7dsm の改訂に合わせて内容を更新。導入キットのダウンロードと Vagrant Cloud の記述を追加。
  • 2017-10-18 (水) 11:14

DISQUS コメント