Code Monkey home page Code Monkey logo

Comments (16)

youthkee avatar youthkee commented on May 24, 2024

先ほどの件で、Vagrantfileの内容を貼りました。
すみませんが、よろしくお願いします。

# encoding: utf-8
# vim: ft=ruby expandtab shiftwidth=2 tabstop=2

Vagrant.require_version ">= 1.5"


#
# Configuration for the WordPress
#

VM_BOX               = ENV["wp_box"] || "chef/centos-6.5-i386"
# VM_BOX               = "miya0001/vccw" # pre-installed box
# VM_BOX               = "chef/centos-6.5" # for 64bit

WP_VERSION           = ENV["wp_version"] || 'latest' # latest or 3.4 or later or http(s):// URL to zipfile
WP_LANG              = ENV["wp_lang"] || "ja" # WordPress locale (e.g. ja)

WP_HOSTNAME          = "littlebird.local" # e.g example.com
WP_IP                = "192.168.33.10" # host ip address

WP_TITLE             = "lottlebird blog" # title
WP_ADMIN_USER        = "admin" # default user
WP_ADMIN_PASS        = "admin" # default user's password

WP_DB_PREFIX         = 'lb_' # Database prefix
WP_DB_HOST           = 'localhost' # or WP_IP and other
WP_DB_NAME           = 'wordpress'
WP_DB_USER           = 'wordpress'
WP_DB_PASS           = 'wordpress'

WP_DB_ROOT_PASS      = 'wordpress'

WP_DEFAULT_PLUGINS   = %w(theme-check plugin-check dynamic-hostname) # default plugins
WP_DEFAULT_THEME     = ENV["wp_theme"] || '' # e.g. twentyfifteen
WP_OPTIONS           = {
    # blogname: "This is the long blog name for the theme review",
    # blogdescription: "This is a very very long tagline to reviewed in theme review proccess. Yeah!"
}
WP_REWRITE_STRUCTURE = '/archives/%post_id%'

WP_DIR               = '/blog' # e.g. /wp or wp or other
WP_IS_MULTISITE      = false # enable multisite when true
WP_FORCE_SSL_ADMIN   = false # enable force ssl admin when true
WP_DEBUG             = true # enable debug mode
WP_SAVEQUERIES       = false # save the database queries to an array
WP_THEME_UNIT_TEST   = false # automatic import theme unit test data

WP_ALWAYS_RESET      = true # always reset database

WP_CHEF_COOKBOOKS_PATH = File.dirname(__FILE__) # path to the cookbooks (e.g. ~/vccw)

if WP_LANG === 'ja' then
  WP_THEME_UNIT_TEST_DATA_URI = 'https://raw.githubusercontent.com/jawordpressorg/theme-test-data-ja/master/wordpress-theme-test-date-ja.xml'
else
  WP_THEME_UNIT_TEST_DATA_URI = 'https://wpcom-themes.svn.automattic.com/demo/theme-unit-test-data.xml'
end

# end configuration

Vagrant.configure(2) do |config|

  config.vm.box = VM_BOX
  #config.ssh.forward_agent = true

  config.vm.hostname = WP_HOSTNAME
  config.vm.network :private_network, ip: WP_IP

  config.vm.synced_folder "www/wordpress/", "/var/www/wordpress", :create => "true"

  if Vagrant.has_plugin?("vagrant-hostsupdater")
    config.hostsupdater.remove_on_suspend = true
  end

  if "miya0001/vccw" != VM_BOX && 'provision' != ARGV[0]
    config.vm.provision "shell",
        inline: "curl -L https://www.opscode.com/chef/install.sh | bash"
  end

  config.vm.provider :virtualbox do |vb|
    vb.customize [
      "modifyvm", :id,
      "--natdnsproxy1", "on",
      "--natdnshostresolver1", "on"
    ]
  end

  config.vm.provision :chef_solo do |chef|

    chef.cookbooks_path = [
      File.join(WP_CHEF_COOKBOOKS_PATH, "cookbooks"),
      File.join(WP_CHEF_COOKBOOKS_PATH, "site-cookbooks")
    ]

    chef.json = {
      :apache => {
        :docroot_dir  => '/var/www/wordpress',
        :user         => 'vagrant',
        :group        => 'vagrant',
        :listen_ports => ["80", "443"]
      },
      :php => {
        :packages => %w(php php-cli php-devel php-mbstring php-gd php-xml php-mysql),
        :directives => {
            "default_charset"            => "UTF-8",
            "mbstring.language"          => "neutral",
            "mbstring.internal_encoding" => "UTF-8",
            "date.timezone"              => "UTC",
            "short_open_tag"             => "Off",
            "session.save_path"          => "/tmp"
        }
      },
      :mysql => {
        :bind_address           => "0.0.0.0",
        :server_debian_password => WP_DB_ROOT_PASS,
        :server_root_password   => WP_DB_ROOT_PASS,
        :server_repl_password   => WP_DB_ROOT_PASS
      },
      "wpcli" => {
        :wp_version        => WP_VERSION,
        :url               => "http://" << File.join(WP_HOSTNAME, WP_DIR),
        :wpdir             => File.join('/var/www/wordpress', WP_DIR),
        :locale            => WP_LANG,
        :admin_user        => WP_ADMIN_USER,
        :admin_password    => WP_ADMIN_PASS,
        :default_plugins   => WP_DEFAULT_PLUGINS,
        :default_theme     => WP_DEFAULT_THEME,
        :title             => WP_TITLE,
        :is_multisite      => WP_IS_MULTISITE,
        :force_ssl_admin   => WP_FORCE_SSL_ADMIN,
        :debug_mode        => WP_DEBUG,
        :savequeries       => WP_SAVEQUERIES,
        :theme_unit_test   => WP_THEME_UNIT_TEST,
        :theme_unit_test_data_url => WP_THEME_UNIT_TEST_DATA_URI,
        :always_reset      => WP_ALWAYS_RESET,
        :dbhost            => WP_DB_HOST,
        :dbname            => WP_DB_NAME,
        :dbuser            => WP_DB_USER,
        :dbpassword        => WP_DB_PASS,
        :dbprefix          => WP_DB_PREFIX,
        :options           => WP_OPTIONS,
        :rewrite_structure => WP_REWRITE_STRUCTURE
      },
      :vccw => {
        :wordmove => {
          :movefile        => File.join('/vagrant', "Movefile"),
          :url             => "http://" << File.join(WP_HOSTNAME, WP_DIR),
          :wpdir           => File.join('/var/www/wordpress', WP_DIR),
          :dbhost          => WP_DB_HOST,
          :dbname          => WP_DB_NAME,
          :dbuser          => WP_DB_USER,
          :dbpassword      => WP_DB_PASS
        }
      },
      :rbenv => {
        "rubies"  => ['2.1.2'],
        "global"  => '2.1.2',
        "gems"    => {
          "2.1.2" => [
            {
              name: "bundler",
              options: "--no-ri --no-rdoc"
            },
            {
              name: "sass",
              options: "--no-ri --no-rdoc"
            },
            {
              name: "wordmove",
              options: "--no-ri --no-rdoc"
            }
          ]
        }
      }
    }

    chef.add_recipe "yum::remi"
    chef.add_recipe "iptables"
    chef.add_recipe "apache2"
    chef.add_recipe "apache2::mod_php5"
    chef.add_recipe "apache2::mod_ssl"
    chef.add_recipe "mysql::server"
    chef.add_recipe "mysql::ruby"
    chef.add_recipe "php::package"
    chef.add_recipe "wpcli"
    chef.add_recipe "wpcli::install"
    chef.add_recipe "vccw"

  end

  if ENV["VAGRANT_VAGRANTFILE"] === 'Vagrantfile.sample' then
    if Vagrant.has_plugin?("vagrant-serverspec")
      config.vm.provision :serverspec do |spec|
        spec.pattern = 'spec/default/*_spec.rb'
      end
    end
  end

end

from vccw.

miya0001 avatar miya0001 commented on May 24, 2024

1. Where is the path of vccw clone?

example:

~/vagrants/vccw
  • You should place in your home directory, so you need write access for vccw directory.
  • You should run vagrant up rather than sudo vagrant up.

2. you should edit Vagrant file like following, because chef client was updated few days ago.

Before:

inline: "curl -L https://www.opscode.com/chef/install.sh | bash"

After:

inline: "curl -L https://www.opscode.com/chef/install.sh | sudo bash -s -- -v 11"

3. If you can't provision yet, please tell me vagrant plugins.

$ vagrant plugin list

from vccw.

youthkee avatar youthkee commented on May 24, 2024

以下、インラインにて失礼いたします。

1. Where is the path of vccw clone?

下記ディレクトリ以下にvccwをコピーし、 vagrant up コマンドを実行しています。

~/prj/littlebird/

2. you should edit Vagrant file like following, because chef client was updated few days ago.

ご指摘ありがとうございます。
Vagrantfileを以下の記述に修正の上、もう一度最初からプロビジョニングをやり直してみましたが、現象は変わらないようでした。

inline: "curl -L https://www.opscode.com/chef/install.sh | sudo bash -s -- -v 11"

3. If you can't provision yet, please tell me vagrant plugins.

プラグインのリストを確認したところ、以下のプラグインがインストールされていました。

vagrant-hostsupdater (0.0.11)
vagrant-login (1.0.1, system)
vagrant-share (1.1.2, system)

from vccw.

miya0001 avatar miya0001 commented on May 24, 2024

もしかして不必要なマシンが立ち上がったまんまになってないですか?

以下のようにVirtualBoxを開いて不要なマシンが立ち上がってないかを確認して下さい。
たとえばvagrant upした後で、そのディレクトリを削除すると、そのマシンがたちあがったまま居残ることがあります。

不要なマシンがある場合は停止してファイルも”除去”してください。

たとえば1台もマシンがない場合は以下のディレクトリは空になっているはずです。

~/VirtualBox\ VMs/

仮想とはいえ、仮想マシンは物理コンピューターを再現したものなので、たとえばディスク容量も消費しますし、IPアドレスやホスト名が他のマシンと重複すればいろいろ不具合が生じます。

from vccw.

youthkee avatar youthkee commented on May 24, 2024

現状はもう一台vccwで構築した仮想マシンがローカルにありますが、停止した状態です。

-2014-12-08-8 02 19

この2台のIPアドレスは、それぞれ

192.168.33.11
192.168.33.10

という形で設定しています。

-2014-12-08-8 02 33

~/VirtualBox\ VMs/

のディレクトリ内にも、それ以外のファイルは入っていないようでした。

同時に起動はしていないのですが、念のため後ほど2台目のマシンもいったん破棄して、再度構築テストをやってみます。

from vccw.

miya0001 avatar miya0001 commented on May 24, 2024

お手数ですが試しに以下のコマンドを順番に試してもらってちゃんと期待通りに動くかをテストしてもらえませんか?

$ mkdir ~/Desktop/test
$ cd ~/Desktop/test
$ wp_box=miya0001/vccw VAGRANT_VAGRANTFILE=~/prj/littlebird/Vagrantfile.sample vagrant up

プロビジョニングが完了したら以下を確認していただけますか?

  • ~/Desktop/test内にwww/wordpressというディレクトリができているか?
  • ファイルのアップロードができるかどうか?

destroyするときは以下のコマンドでお願いします。

$ VAGRANT_VAGRANTFILE=~/prj/littlebird/Vagrantfile.sample vagrant destroy

from vccw.

youthkee avatar youthkee commented on May 24, 2024

ご返信が遅くなり申し訳ありません。

教えていただいた通り、以下のコマンド実行したところ、無事wordpressディレクトリが作成され、インストールが成功しました。

$ mkdir ~/Desktop/test
$ cd ~/Desktop/test
$ wp_box=miya0001/vccw VAGRANT_VAGRANTFILE=~/prj/littlebird/Vagrantfile.sample vagrant up

また、こちらの環境でWordPressの管理画面にログインしたところ、メディアのアップロードおよびXMLデータのインポートも、正常に行うことができました。

そうなると、Vagrantfileの設定にも特に大きな違いはなさそうですし、やはり指定先のディレクトリに問題があるということなのでしょうか・・?

from vccw.

miya0001 avatar miya0001 commented on May 24, 2024

なるほど。ちょっと興味深いですね。
~/prj/littlebird/のパーミッションが関係あるのかもですね。

最後にもう一つだけご協力いただきたいのですが、今度は以下のコマンドで試していただけませんか?

$ mkdir ~/Desktop/test2
$ cd ~/Desktop/test2
$ wp_box=miya0001/vccw VAGRANT_VAGRANTFILE=~/prj/littlebird/Vagrantfile.sample vagrant up

ディレクトリ名がtest2というふうになっていますが、これは新しいディレクトリで立ち上げていただきたいためです。(ディレクトリ内が空の状態)

お手数ですがよろしくお願いいたします。

from vccw.

youthkee avatar youthkee commented on May 24, 2024

了解しました。

すみません、1点質問ですが、この場合~/Desktop/test2のプロビジョニングを行うのは、
以下のコマンドで~/Desktop/testの仮想マシンを停止してから行う形でよろしいでしょうか?

wp_box=miya0001/vccw VAGRANT_VAGRANTFILE=~/prj/littlebird/Vagrantfile.sample vagrant halt

それとも、~/Desktop/testの仮想マシンを立ちあげたまま行なった方がよいでしょうか?

ちなみに、~/prj/littlebird/のパーミッションを確認したところ、~/Desktop/testのパーミッションと特に変わらないようでした。

drwxr-xr-x

from vccw.

miya0001 avatar miya0001 commented on May 24, 2024

あっ、すいません、~/Desktop/testはhaltかdestroyしてください。

from vccw.

youthkee avatar youthkee commented on May 24, 2024

ご回答ありがとうございます。

~/Desktop/test をhaltした後、~/Desktop/test2を以下のコマンドでプロビジョニングしたところ、
こちらも前回と同様にWordPressの構築、メディアのアップロードともに問題ありませんでした。

$ mkdir ~/Desktop/test2
$ cd ~/Desktop/test2
$ wp_box=miya0001/vccw VAGRANT_VAGRANTFILE=~/prj/littlebird/Vagrantfile.sample vagrant up

from vccw.

miya0001 avatar miya0001 commented on May 24, 2024

うーん、やはりディレクトリが関係有るのかもですね。
ちょっと原因がわからないのですが、とても参考になりました。ありがとうございます。

from vccw.

youthkee avatar youthkee commented on May 24, 2024

こちらこそ、色々とご指摘いただきありがとうございます。
とりあえず成功するパターンは見えたので、
条件を変えつつ、もう少し検証を続けてみたいと思います。

from vccw.

youthkee avatar youthkee commented on May 24, 2024

その後、何度か試したのですが、
zipファイル版でのインストールではなく、
git cloneでインストールする方法を選んだところ、
~/prj/littlebird/というディレクトリでも問題なく構築できました。
(前回試した際は、全てzip版で行なっておりました)

今のところ、メディアアップロード等の動作も問題なさそうです。

もしかすると、zip版と最新リポジトリとの差異に、
今回のエラーの原因があったのかもしれません。

以上取り急ぎご報告まで、失礼いたします。

from vccw.

miya0001 avatar miya0001 commented on May 24, 2024

なるほど!ありがとうございます!

from vccw.

miya0001 avatar miya0001 commented on May 24, 2024

試したんですが確かにgit cloneの時とは違う拡張ファイル属性がつきますが、プロビジョニングはできましたね。
また何かあれば教えて下さい。

from vccw.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.