wordpress 向けの試験をこつこつ書いてみる

とりあえず昨晩の、ということも含め wordpress 向けの試験は以下なのかどうか。

require 'spec_helper'

describe 'apache2' do
  it { should be_installed }
  it { should be_enabled   }
  it { should be_running   }
end

describe 'port 80' do
  it { should be_listening }
end

describe '/etc/apache2/httpd.conf' do
  it { should be_file }
end

describe '/var/www/wordpress' do
  it { should be_directory }
  it { should be_owned_by 'root' }
  it { should be_grouped_into 'root' }
  it { should be_mode 755 }
end

describe '/var/www/wordpress/wp-config.php' do
  it { should be_file }
  it { should be_owned_by 'root' }
  it { should be_grouped_into 'root' }
  it { should be_mode 644 }
end

describe '/etc/apache2/sites-enabled/000-default' do
  it { should_not be_file }	 				
end

describe '/etc/apache2/sites-available/wordpress.conf' do
  it { should be_file }
  it { should contain "ServerName precise32" }
end

describe '/etc/apache2/sites-enabled/wordpress.conf' do
  it { should be_file }
  it { should contain "ServerName precise32" }
end

最初、0644 とか書いてて octal 扱いになっちゃってましたorz

これ

git で云々したいのですがどうしたものか。

追記

某所で時間ツブす間に諸々。ちなみにリポジトリは作成して github 方面に push してます。なんとなく php なナニを見ていたり。php/recipes/default.rb が以下で

include_recipe "php::#{node['php']['install_method']}"

# update the main channels
php_pear_channel 'pear.php.net' do
  action :update
end

php_pear_channel 'pecl.php.net' do
  action :update
end

install_method なナニは php/attributes/default.rb で以下な定義。

default['php']['install_method'] = 'package'

で、php/recipes/package.rb が以下になってますね。

node['php']['packages'].each do |pkg|
  package pkg do
    action :install
  end
end

template "#{node['php']['conf_dir']}/php.ini" do
  source "php.ini.erb"
  owner "root"
  group "root"
  mode "0644"
end

ちなみにでびあんでは以下がデフォな模様です (php/attributes/default.rb)。

when "debian"
  default['php']['conf_dir']      = '/etc/php5/cli'
  default['php']['ext_conf_dir']  = '/etc/php5/conf.d'
  default['php']['fpm_user']      = 'www-data'
  default['php']['fpm_group']     = 'www-data'
  default['php']['packages']      = ['php5-cgi', 'php5', 'php5-dev', 'php5-cli', 'php-pear']

ので、/etc/php5/cli/php.ini なチェックは必要のはず。あと、packages な方々も導入されてどうなるのか、というか dpkg で確認してみたら以下なカンジでした。

$ dpkg --get-selections|grep php
libapache2-mod-php5                             install
php-pear                                        install
php5                                            install
php5-cgi                                        install
php5-cli                                        install
php5-common                                     install
php5-dev                                        install
php5-mysql                                      install

これら、全てパケジの名前だったんですね。それで配布系毎、な記述になってるのか。あと気になっているのが

php_pear_channel 'pear.php.net' do
  action :update
end

な記述です。README に記述がありますがタイムアップ。別途軽く確認の方向にて。