2015-07-21 19:45:23 +02:00

101 lines
2.5 KiB
Ruby
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# Cookbook Name:: mediawiki
# Recipe:: default
#
# Copyright (C) 2014 YOUR_NAME
#
# All rights reserved - Do Not Redistribute
#
include_recipe "apt"
include_recipe "apache2"
include_recipe "apache2::mod_php5"
include_recipe "apache2::mod_rewrite"
include_recipe "mysql::server"
include_recipe "database::mysql"
include_recipe "php::default"
include_recipe "php::module_apc"
include_recipe "php::module_mysql"
# Download mediawiki tarball
remote_file "#{Chef::Config[:file_cache_path]}/" + node['mediawiki']['tarball']['name'] do
source node['mediawiki']['tarball']['url']
end
# Extract mediawiki tarball
bash "extract_mediawkiki" do
user "root"
cwd node['apache']['docroot_dir']
code "tar -zxf #{Chef::Config[:file_cache_path]}/" + node['mediawiki']['tarball']['name']
action :run
end
# Database connection information
mysql_connection_info = {
:host => 'localhost',
:username => 'root',
:password => node['mysql']['server_root_password']
}
# Create new database
mysql_database node['mediawiki']['database']['name'] do
connection mysql_connection_info
action :create
end
# Create new user
mysql_database_user node['mediawiki']['database']['user'] do
connection mysql_connection_info
password node['mediawiki']['database']['password']
action :create
end
# Grant privilages to user
mysql_database_user node['mediawiki']['database']['user'] do
connection mysql_connection_info
database_name node["mediawiki"]["database"]["name"]
privileges [:all]
action :grant
end
# Add virtualhost
web_app "mediawiki" do
server_name node["mediawiki"]["server_name"]
docroot node["mediawiki"]["webdir"]
end
# Additional packages
case node["platform_family"]
when "rhel"
package "php-xml"
package "libicu-devel"
service "apache2" do
action :restart
end
when "debian"
package "libicu-dev"
end
php_pear "intl" do
action :install
end
# Configure mediawiki database
bash "configure_mediawkiki_database" do
user "root"
cwd node["mediawiki"]["webdir"]
code "php maintenance/install.php" +
" --pass '" + node["mediawiki"]["admin_password"] +
"' --dbname '" + node["mediawiki"]["database"]["name"] +
"' --dbpass '" + node["mediawiki"]["database"]["password"] +
"' --dbuser '" + node["mediawiki"]["database"]["name"] +
"' --server '" + node["mediawiki"]["server"] +
"' --scriptpath '" + node["mediawiki"]["scriptpath"] +
"' --lang '" + node["mediawiki"]["language_code"] +
"' '" + node["mediawiki"]["site_name"] + "' '" + node["mediawiki"]["admin_user"] + "'"
action :run
end