X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/66bb863bca75089fffd47acdb0c4db4001a70be8..9da2371f202d49b61dc48c36c9fc4aa5c87d25fe:/cookbooks/forum/recipes/default.rb diff --git a/cookbooks/forum/recipes/default.rb b/cookbooks/forum/recipes/default.rb index 355f1379f..06929ec3e 100644 --- a/cookbooks/forum/recipes/default.rb +++ b/cookbooks/forum/recipes/default.rb @@ -1,14 +1,14 @@ # -# Cookbook Name:: forum +# Cookbook:: forum # Recipe:: default # -# Copyright 2014, OpenStreetMap Foundation +# Copyright:: 2014, OpenStreetMap Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, @@ -16,20 +16,31 @@ # See the License for the specific language governing permissions and # limitations under the License. # -include_recipe "apache::ssl" + +include_recipe "accounts" +include_recipe "apache" include_recipe "git" include_recipe "mysql" +include_recipe "php::apache-fpm" + +cache_dir = Chef::Config[:file_cache_path] passwords = data_bag_item("forum", "passwords") -package "php5" -package "php5-cli" -package "php-apc" +package %w[ + php-cli + php-mysql + php-xml + php-apcu + unzip +] -apache_module "php5" +apache_module "env" +apache_module "rewrite" -apache_site "default" do - action [ :disable ] +ssl_certificate "forum.openstreetmap.org" do + domains ["forum.openstreetmap.org", "forum.osm.org"] + notifies :reload, "service[apache2]" end apache_site "forum.openstreetmap.org" do @@ -39,28 +50,56 @@ end directory "/srv/forum.openstreetmap.org" do owner "forum" group "forum" - mode 0755 + mode 0o755 end git "/srv/forum.openstreetmap.org/html/" do action :sync - repository "http://github.com/fluxbb/fluxbb.git" - revision "refs/tags/fluxbb-1.5.6" + repository "http://github.com/openstreetmap/openstreetmap-forum.git" + revision "openstreetmap-1.5.10" depth 1 user "forum" group "forum" + notifies :reload, "service[apache2]" +end + +remote_file "#{cache_dir}/air3_v0.8.zip" do + action :create_if_missing + source "https://grant.dev.openstreetmap.org/forum/air3_v0.8.zip" # Workaround OpenSSL chain of trust bug in chef https://fluxbb.org/resources/styles/air3/releases/0.8/air3_v0.8.zip + checksum "df547e3ac9596c1e6d9eedcb108559f84a28669763e24114ca6cdcbf118caf6c" + owner "root" + group "root" + mode 0o644 + backup false +end + +execute "#{cache_dir}/air3_v0.8.zip" do + action :nothing + command "unzip -o -qq #{cache_dir}/air3_v0.8.zip Air3.css 'Air3/*'" + cwd "/srv/forum.openstreetmap.org/html/style" + user "forum" + group "forum" + subscribes :run, "remote_file[#{cache_dir}/air3_v0.8.zip]", :immediately end directory "/srv/forum.openstreetmap.org/html/cache/" do owner "www-data" group "www-data" - mode 0755 + mode 0o755 end directory "/srv/forum.openstreetmap.org/html/img/avatars/" do owner "www-data" group "www-data" - mode 0755 + mode 0o755 +end + +template "/srv/forum.openstreetmap.org/html/config.php" do + source "config.php.erb" + owner "forum" + group "www-data" + mode 0o440 + variables :passwords => passwords end mysql_user "forum@localhost" do @@ -75,6 +114,6 @@ template "/etc/cron.daily/forum-backup" do source "backup.cron.erb" owner "root" group "root" - mode 0750 + mode 0o750 variables :passwords => passwords end