Update kosmos-mediawiki cookbook for Ubuntu 16.04

This commit is contained in:
Greg Karékinian 2017-03-31 19:21:00 +02:00
parent b85c4ad3d5
commit 827a7428e2
3 changed files with 28 additions and 10 deletions

View File

@ -10,3 +10,5 @@ depends "mediawiki"
depends "firewall" depends "firewall"
depends "ark" depends "ark"
depends "backup" depends "backup"
depends "kosmos-nginx"
depends "kosmos-base"

View File

@ -50,6 +50,8 @@ end
include_recipe "mediawiki" include_recipe "mediawiki"
include_recipe "kosmos-nginx" include_recipe "kosmos-nginx"
include_recipe "mediawiki::nginx" include_recipe "mediawiki::nginx"
unless node.chef_environment == "development"
include_recipe "kosmos-base::letsencrypt" include_recipe "kosmos-base::letsencrypt"
execute "letsencrypt cert for wiki.kosmos.org" do execute "letsencrypt cert for wiki.kosmos.org" do
@ -58,14 +60,20 @@ execute "letsencrypt cert for wiki.kosmos.org" do
not_if { File.exist? "/etc/letsencrypt/live/wiki.kosmos.org/fullchain.pem" } not_if { File.exist? "/etc/letsencrypt/live/wiki.kosmos.org/fullchain.pem" }
notifies :reload, "service[nginx]", :delayed notifies :reload, "service[nginx]", :delayed
end end
end
if File.exist? "/etc/letsencrypt/live/wiki.kosmos.org/fullchain.pem"
ssl_cert = "/etc/letsencrypt/live/wiki.kosmos.org/fullchain.pem"
end
if File.exist? "/etc/letsencrypt/live/wiki.kosmos.org/privkey.pem"
ssl_key = "/etc/letsencrypt/live/wiki.kosmos.org/privkey.pem"
end
template "#{node['nginx']['dir']}/sites-available/mediawiki" do template "#{node['nginx']['dir']}/sites-available/mediawiki" do
source "nginx.conf.erb" source "nginx.conf.erb"
variables( variables(
docroot: node['mediawiki']['webdir'], docroot: node['mediawiki']['webdir'],
server_name: node['mediawiki']['server_name'], server_name: node['mediawiki']['server_name'],
ssl_cert: "/etc/letsencrypt/live/wiki.kosmos.org/fullchain.pem", ssl_cert: ssl_cert,
ssl_key: "/etc/letsencrypt/live/wiki.kosmos.org/privkey.pem" ssl_key: ssl_key
) )
action :create action :create
notifies :reload, "service[nginx]", :delayed notifies :reload, "service[nginx]", :delayed
@ -90,7 +98,11 @@ end
# MediawikiHubot extension # MediawikiHubot extension
# requires curl extension # requires curl extension
if platform?('ubuntu') && node[:platform_version].to_f < 16.04
package "php5-curl" package "php5-curl"
else
package "php-curl"
end
ark "MediawikiHubot" do ark "MediawikiHubot" do
url "https://github.com/67P/mediawiki-hubot/archive/master.zip" url "https://github.com/67P/mediawiki-hubot/archive/master.zip"

View File

@ -1,6 +1,8 @@
server { server {
listen 80; listen 80;
<% if File.exist?(@ssl_cert) && File.exist?(@ssl_key) -%>
listen 443 ssl; listen 443 ssl;
<% end -%>
server_name <%= @server_name %>; server_name <%= @server_name %>;
access_log /var/log/nginx/<%= @server_name %>.access.log; access_log /var/log/nginx/<%= @server_name %>.access.log;
@ -30,6 +32,8 @@ server {
fastcgi_param HTTP_PROXY ""; fastcgi_param HTTP_PROXY "";
} }
<% if File.exist?(@ssl_cert) && File.exist?(@ssl_key) -%>
ssl_certificate <%= @ssl_cert %>; ssl_certificate <%= @ssl_cert %>;
ssl_certificate_key <%= @ssl_key %>; ssl_certificate_key <%= @ssl_key %>;
<% end -%>
} }