Greg Karékinian fc265014de Switch back to the upstream nginx cookbook
chef_nginx is deprecated
2019-03-14 10:35:11 +01:00

82 lines
2.3 KiB
Ruby

#
# Cookbook Name:: mediawiki
# Recipe:: default
#
# Copyright (C) 2014 YOUR_NAME
#
# All rights reserved - Do Not Redistribute
#
include_recipe "apt"
include_recipe "php::default"
if node['platform'] == 'ubuntu' and node['platform_version'] >= '16.04'
# APC is now apcu in PHP 7
include_recipe "php::module_apcu"
# Dependency
package "php7.0-mbstring"
else
if node['platform_version'] == '15.04'
node.override['php']['apc']['package'] = 'php-apc'
node.override['php']['apcu']['package'] = 'php5-apcu'
end
include_recipe "php::module_apc"
end
include_recipe "php::module_mysql"
include_recipe "mediawiki::database"
# Download mediawiki tarball
remote_file "#{Chef::Config[:file_cache_path]}/#{node['mediawiki']['tarball']['name']}" do
source node['mediawiki']['tarball']['url']
notifies :run, "bash[extract_mediawiki]", :immediately
end
# Extract mediawiki tarball
bash "extract_mediawiki" do
user "root"
cwd node["mediawiki"]["docroot_dir"]
code "tar -zxf #{Chef::Config[:file_cache_path]}/#{node['mediawiki']['tarball']['name']}; chown -R #{node['nginx']['user']}:#{node['nginx']['group']} #{node['mediawiki']['docroot_dir']}"
action :nothing
end
# Additional packages
case node["platform_family"]
when "rhel"
package "php-xml"
package "libicu-devel"
when "debian"
package "libicu-dev"
end
if platform?('ubuntu') && node[:platform_version].to_f < 16.04
# bundled with PHP since version 5.3
php_pear "intl" do
action :install
end
end
# Configure mediawiki database
bash "configure_mediawiki_database" do
user node["nginx"]["user"]
cwd node["mediawiki"]["webdir"]
code "php maintenance/install.php" +
" --pass '" + node["mediawiki"]["admin_password"] +
"' --dbname '" + node["mediawiki"]["db"]["name"] +
"' --dbuser '" + node["mediawiki"]["db"]["user"] +
"' --dbpass '" + node["mediawiki"]["db"]["pass"] +
"' --server '" + node["mediawiki"]["server"] +
"' --scriptpath '" + node["mediawiki"]["scriptpath"] +
"' --lang '" + node["mediawiki"]["language_code"] +
"' '" + node["mediawiki"]["site_name"] + "' '" + node["mediawiki"]["admin_user"] + "'"
not_if { File.exist? "#{node["mediawiki"]["webdir"]}/LocalSettings.php" }
action :run
end
file "#{node["mediawiki"]["webdir"]}/LocalSettings.php" do
mode "0640"
owner node["nginx"]["user"]
group node["nginx"]["group"]
end