Vagrant + Chef でWordpressの開発環境となる仮想サーバを作ります。
- CentOS 6.5
- Apache + PHP
- MySQL 5.6
- rootパスワード:mysqlpswd
- Wordpress 4.1.1
- DB: wordpress
- DB user: wp_user
- DB pssword: wp_pswd
次のものをインストールしてください。
- Vagrant 1.7以上
- Oracle VM VirtualBox 4.3以上
- Berkshelf 3.0以上
コミュニティクックブックを利用するのでBerkshelfのインストールが必要です。
Gemfileを用意しているので Rubyをインストールしている環境では bundler でインストールできます。
> cd virt_wp # Gemfile と Berksfileのあるディレクトリ
> bundle install
Rubyをインストールして、gem でBerkshelf をインストールするのはハマります。
いろいろ試して、1日くらい試行錯誤してやっとインストールできても、
どの手順が有効なのかわからない再現性のない作業です。(あくまで私の経験です)
最近は次をインストールするとBerkshelfを含むchefがさくっとインストールできます。
Rubyをインストールしておく必要もありません。
ChefDK | Chef Development Kit
操作は Vagrantfile と同じディレクトリで行います。
重要 Windowsの場合は次のコマンドで cmd の文字コードをUTF-8に変更してからコマンドを実行してください。
> chcp 65001
最初の起動の前にBerksfileと同じディレクトリで次のコマンドを実行してください。
cookbooksディレクトリ以下にコミュニティクックブックをダウンロードします。
(cookbooksディレクトリの中を削除した場合も実行してください)
> berks vendor ./cookbooks
仮想サーバーを起動するには次のコマンドを実行します。
vagrant up
最初の起動はOSイメージのダウンロードと環境構築が走るので少し時間がかかります。
起動後は次のURLでWordpressにアクセスできます。
http://192.168.33.111/wordpress/
管理画面には次のURLでアクセスできます。
http://192.168.33.111/wordpress/wp-admin/
最初にアクセスするとサイトのインストールページが表示されます。 必要な情報を入力してインストールしてください。
仮想サーバを再起動するには次のコマンドを実行します。
> vagrant reload
仮想サーバを停止するには次のコマンドを実行します。
> vagrant halt
環境を作りなおすときには一度破棄(destroy)して、再度 vagarnt up を実行します。
> vagrant destroy
> vagrant up
仮想サーバにSSHで接続する場合には次のコマンドを実行します。
> vagrant ssh
上記コマンドは次のアカウント/パスワードでログインするのと同じです。
- アカウント: vagrant
- パスワード: vagrant
ちなみにサーバのアドレスは 192.168.33.111 です。
ローカルにある var_www_html ディレクトリは 仮想サーバの /var/www/html にマウントされます。 vagrant のプロビジョニングを行うと、このディレクトリに Wordpress がデプロイされます。 つまり、ローカルのファイルシステムからも 仮想サーバ内の Wordpress のファイルを編集することができます。
注意 すでにSyncフォルダーのない状態でプロビジョニングしている状態では、var_www_html がマウントされることにより /var/www/html の内容が仮想サーバで見えなくなります。