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

  • 2017-03-07 (火) 04:16 初版作成
    2018-03-03 (土) 11:24 最終更新

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

概要

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

以下、その概要と Windows での基本的な使い方をまとめる。

前提環境

Windows (64 bit)

この資料では 64 bit 版の Windows 10 を前提とする。Windows 7 や Windows 8 でも動作するはずだが、記事作成時点では未確認。

VirtualBox

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

Vagrant

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

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

vagrant plugin install vagrant-vbguest

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

実習環境 centos7dsm の内容

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

centos7dsm キットのファイル構成

以下が含まれる。

  • pj フォルダ
    ゲスト OS (Linux) の /var/www/pj ディレクトリにマッピングされる。このディレクトリは 8080 番ポートでサーバーのルートとして Web 公開される。
  • vagrant フォルダ
    ゲスト OS (Linux) の /vagrant ディレクトリにマッピングされる。/vagrant/bin ディレクトリに dbcrt などのユーティリティスクリプトが格納されている。
  • VERSION ファイル
    centos7dsm のバージョンを記載したファイル。
  • Vagrantfile ファイル
    Vagrant の環境設定ファイル。仮想環境の名前や IP アドレス、共有フォルダ、環境の初期化処理などの構成が定義されている。
  • Vagrant用プロンプト.lnk ファイル
    作業用のコマンドプロンプトを開くための Windows ショートカット。上の vcmd.bat を呼び出した後のプロンプトを提供する。
  • vcmd.bat ファイル
    このキットで作業するときの前提となる環境変数などを設定するバッチスクリプト。「Vagrant用プロンプト」のショートカット(.lnk ファイル)から起動される。

vcmd.bat には、次の簡単なバッチスクリプトが記述されている。

@echo off
set DSM_HOME=C:\Users\%USERNAME%\Desktop\centos7dsm
set VAGRANT_HOME=%DSM_HOME%\vb

このスクリプトでは、centos7dsm フォルダが Windows のデスクトップにあることを前提にしている。これとは違う条件で使用する場合は、対応するパスの値を適宜調整する必要がある。

基本的な使い方

導入キット

次のファイルを Windows のデスクトップにダウンロードし、ファイルを右クリックして、[すべて展開] で ZIP を展開する。

展開された [centos7dsm] フォルダを開き、中の「Vagrant用プロンプト」を実行して、下記コマンドを実行する。

vagrant up

Vagrant Cloud に公開している BOX ファイルがダウンロード(時間がかかる)および展開され、展開した BOX で仮想環境が起動する。
次のようなメッセージが表示される。

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'bkenro/centos7dsm' is up to date...
==> default: Clearing any previously set forwarded ports...
==> 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 => C:/Users/bkenro/Desktop/centos7dsm/vagrant
    default: /var/www/pj => C:/Users/bkenro/Desktop/centos7dsm/pj
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.
==> default: Running provisioner: shell...
    default: Running: inline script

起動後、Vagrant用プロンプトで次のコマンドを実行すると、仮想マシンの状態を確認することができる。

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
 
192.168.12.34 に ping を送信しています 32 バイトのデータ:
192.168.12.34 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.12.34 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.12.34 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.12.34 からの応答: バイト数 =32 時間 <1ms TTL=64
 
192.168.12.34 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms

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

Apache デフォルトの Welcome ページ

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

Vagrant用プロンプトから次のコマンドを実行すると、ゲスト OS の CentOS にログインできる。

vagrant ssh
[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
logout
Connection to 127.0.0.1 closed.

仮想マシンをシャットダウンするには、Vagrant用プロンプトで次のコマンドを実行する。

vagrant halt

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

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

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

まとめ

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

更新履歴

  • 2018-03-03 (土) 11:24
    前提環境に vagrant-vbguest プラグインのインストールを追加。Vagrant ファイルを含む導入キット centos7dsm のプロジェクト URL を追記。表現等のエディトリアルな修正。
  • 2018-02-21 (水) 10:32
    centos7dsm v0.1.0 に合わせて内容を更新。
  • 2017-11-12 (日) 07:29
    centos7dsm の Drupal 8 を 8.4.2 に更新。Drupal 7 のコア翻訳ファイルを従来の standard に加え minimal プロファイルにも追加。
  • 2017-10-18 (水) 12:48
    centos7dsm の改訂に合わせて内容を更新。 最新版の Vagrant には ssh が含まれるため前提環境から Git for Windows を削除。 導入キットのダウンロードを追加。
  • 2017-10-15 (日) 03:02

DISQUS コメント