use_inline_resources
action :create do
- node.set_unless[:mediawiki][:sites][new_resource.name] = {}
+ node.normal_unless[:mediawiki][:sites][new_resource.name] = {}
- node.set[:mediawiki][:sites][new_resource.name][:directory] = site_directory
- node.set[:mediawiki][:sites][new_resource.name][:version] = new_resource.version
+ node.normal[:mediawiki][:sites][new_resource.name][:directory] = site_directory
+ node.normal[:mediawiki][:sites][new_resource.name][:version] = new_resource.version
- node.set_unless[:mediawiki][:sites][new_resource.name][:wgSecretKey] = SecureRandom.base64(48)
+ node.normal_unless[:mediawiki][:sites][new_resource.name][:wgSecretKey] = SecureRandom.base64(48)
mysql_user "#{new_resource.database_user}@localhost" do
password new_resource.database_password
not_if do
::File.exist?("#{mediawiki_directory}/LocalSettings-install.php")
end
- notifies :create, "ruby_block[rename-installer-localsettings]", :immediately
+ notifies :run, "ruby_block[rename-installer-localsettings]", :immediately
end
execute "#{mediawiki_directory}/maintenance/update.php" do
directory site_directory do
owner node[:mediawiki][:user]
group node[:mediawiki][:group]
- mode 0775
+ mode 0o775
end
directory mediawiki_directory do
owner node[:mediawiki][:user]
group node[:mediawiki][:group]
- mode 0775
+ mode 0o775
end
mediawiki_reference = "REL#{new_resource.version}".tr(".", "_")
+ git "#{mediawiki_directory}/vendor" do
+ action :nothing
+ repository "https://gerrit.wikimedia.org/r/p/mediawiki/vendor.git"
+ revision mediawiki_reference
+ user node[:mediawiki][:user]
+ group node[:mediawiki][:group]
+ end
+
git mediawiki_directory do
action :sync
- repository "git://github.com/wikimedia/mediawiki"
+ repository "https://gerrit.wikimedia.org/r/p/mediawiki/core.git"
revision mediawiki_reference
user node[:mediawiki][:user]
group node[:mediawiki][:group]
+ notifies :sync, "git[#{mediawiki_directory}/vendor]", :immediately
notifies :run, "execute[#{mediawiki_directory}/maintenance/install.php]", :immediately
notifies :run, "execute[#{mediawiki_directory}/maintenance/update.php]"
end
# Safety catch if git doesn't update but install.php hasn't run
ruby_block "catch-installer-localsettings-run" do
- action :create
+ action :run
block do
#
end
directory "#{mediawiki_directory}/images" do
owner "www-data"
group node[:mediawiki][:group]
- mode 0775
+ mode 0o775
end
directory "#{mediawiki_directory}/cache" do
owner "www-data"
group node[:mediawiki][:group]
- mode 0775
+ mode 0o775
end
directory "#{mediawiki_directory}/LocalSettings.d" do
user node[:mediawiki][:user]
group node[:mediawiki][:group]
- mode 0775
+ mode 0o775
end
template "#{mediawiki_directory}/LocalSettings.php" do
source "LocalSettings.php.erb"
owner node[:mediawiki][:user]
group node[:mediawiki][:group]
- mode 0664
+ mode 0o664
variables :name => new_resource.name,
:directory => mediawiki_directory,
:database_params => new_resource.database_params,
source "mediawiki.cron.erb"
owner "root"
group "root"
- mode 0644
+ mode 0o644
variables :name => new_resource.name, :directory => site_directory,
:user => node[:mediawiki][:user]
end
source "mediawiki-backup.cron.erb"
owner "root"
group "root"
- mode 0700
+ mode 0o700
variables :name => new_resource.name, :directory => site_directory,
:database_params => new_resource.database_params
end
+ mediawiki_skin "CologneBlue" do # ~FC005
+ site new_resource.name
+ update_site false
+ end
+
+ mediawiki_skin "Modern" do
+ site new_resource.name
+ update_site false
+ end
+
+ mediawiki_skin "MonoBook" do
+ site new_resource.name
+ update_site false
+ end
+
+ mediawiki_skin "Vector" do
+ site new_resource.name
+ update_site false
+ end
+
mediawiki_extension "Cite" do
site new_resource.name
- template "mw-ext-Cite.inc.php.erb"
update_site false
end
- mediawiki_extension "ConfirmEdit" do
+ mediawiki_extension "CiteThisPage" do
site new_resource.name
- template "mw-ext-ConfirmEdit.inc.php.erb"
- variables :public_key => new_resource.recaptcha_public_key,
- :private_key => new_resource.recaptcha_private_key
update_site false
end
+ if new_resource.private_accounts || new_resource.private
+ mediawiki_extension "ConfirmEdit" do
+ site new_resource.name
+ update_site false
+ action :delete
+ end
+ else
+ mediawiki_extension "ConfirmEdit" do
+ site new_resource.name
+ template "mw-ext-ConfirmEdit.inc.php.erb"
+ variables :public_key => new_resource.recaptcha_public_key,
+ :private_key => new_resource.recaptcha_private_key
+ update_site false
+ end
+ end
+
mediawiki_extension "Gadgets" do
site new_resource.name
update_site false
mediawiki_extension "SimpleAntiSpam" do
site new_resource.name
update_site false
+ action :delete
end
mediawiki_extension "SpamBlacklist" do
mediawiki_extension "SyntaxHighlight_GeSHi" do
site new_resource.name
+ template "mw-ext-SyntaxHighlight.inc.php.erb"
update_site false
end
# MediaWiki Language Extension Bundle
# FIXME: should automatically resolve tag
- mw_lang_ext_bundle_tag = "2015.03"
+ mw_lang_ext_bundle_tag = "2017.01"
mediawiki_extension "Babel" do
site new_resource.name
template "mw-ext-Babel.inc.php.erb"
+ # tag mw_lang_ext_bundle_tag
tag mw_lang_ext_bundle_tag
update_site false
end
mediawiki_extension "cldr" do
site new_resource.name
+ template "mw-ext-cldr.inc.php.erb"
tag mw_lang_ext_bundle_tag
update_site false
end
mediawiki_extension "AntiSpoof" do
site new_resource.name
+ template "mw-ext-AntiSpoof.inc.php.erb"
update_site false
end
mediawiki_extension "osmtaginfo" do
site new_resource.name
+ template "mw-ext-osmtaginfo.inc.php.erb"
repository "git://github.com/Firefishy/osmtaginfo.git"
tag "live"
update_site false
mediawiki_extension "SimpleMap" do
site new_resource.name
+ template "mw-ext-SimpleMap.inc.php.erb"
repository "git://github.com/Firefishy/SimpleMap.git"
tag "live"
update_site false
mediawiki_extension "SlippyMap" do
site new_resource.name
+ template "mw-ext-SlippyMap.inc.php.erb"
repository "git://github.com/Firefishy/SlippyMap.git"
tag "live"
update_site false
end
+ mediawiki_extension "Mantle" do
+ site new_resource.name
+ update_site false
+ action :delete
+ end
+
+ mediawiki_extension "MobileFrontend" do
+ site new_resource.name
+ template "mw-ext-MobileFrontend.inc.php.erb"
+ update_site false
+ end
+
+ mediawiki_extension "DisableAccount" do
+ site new_resource.name
+ template "mw-ext-DisableAccount.inc.php.erb"
+ update_site false
+ end
+
+ mediawiki_extension "VisualEditor" do
+ site new_resource.name
+ template "mw-ext-VisualEditor.inc.php.erb"
+ update_site false
+ end
+
cookbook_file "#{site_directory}/cc-wiki.png" do
cookbook "mediawiki"
owner node[:mediawiki][:user]
group node[:mediawiki][:group]
- mode 0644
+ mode 0o644
backup false
end
cookbook "mediawiki"
owner node[:mediawiki][:user]
group node[:mediawiki][:group]
- mode 0644
+ mode 0o644
backup false
end
cookbook "mediawiki"
owner node[:mediawiki][:user]
group node[:mediawiki][:group]
- mode 0644
+ mode 0o644
backup false
end
+ ports = new_resource.ssl_enabled ? [80, 443] : [80]
+
+ ssl_certificate new_resource.name do
+ domains [new_resource.name] + Array(new_resource.aliases)
+ only_if { new_resource.ssl_enabled }
+ end
+
apache_site new_resource.name do
cookbook "mediawiki"
template "apache.erb"
variables :aliases => Array(new_resource.aliases),
:private => new_resource.private,
:ssl_enabled => new_resource.ssl_enabled,
- :ssl_certificate => new_resource.ssl_certificate,
- :ssl_certificate_chain => new_resource.ssl_certificate_chain
+ :ports => ports
reload_apache false
end
end
end
+action :update do
+ mediawiki_directory = "#{site_directory}/w"
+
+ template "#{mediawiki_directory}/LocalSettings.php" do
+ cookbook "mediawiki"
+ source "LocalSettings.php.erb"
+ owner node[:mediawiki][:user]
+ group node[:mediawiki][:group]
+ mode 0o664
+ variables :name => new_resource.name,
+ :directory => mediawiki_directory,
+ :database_params => new_resource.database_params,
+ :mediawiki => new_resource.mediawiki_params
+ notifies :run, "execute[#{mediawiki_directory}/maintenance/update.php]"
+ end
+
+ execute "#{mediawiki_directory}/maintenance/update.php" do
+ action :run
+ command "php maintenance/update.php --quick"
+ cwd mediawiki_directory
+ user node[:mediawiki][:user]
+ group node[:mediawiki][:group]
+ end
+end
+
action :delete do
apache_site new_resource.name do
action :delete