]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/mediawiki/recipes/default.rb
Use PHP 7.2 for mediawiki on Ubuntu 18.04
[chef.git] / cookbooks / mediawiki / recipes / default.rb
index 267c4f4b152b73382918f439ae065b5ca6a685cb..b7654f3e8c383a150f5f03b571f337ee4096ec7a 100644 (file)
@@ -8,7 +8,7 @@
 # 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,
 #
 
 include_recipe "memcached"
-include_recipe "apache::ssl"
+include_recipe "apache"
 include_recipe "mysql"
 include_recipe "git"
 
 # Mediawiki Base Requirements
-package "php5"
-package "php5-cli"
-package "php5-curl"
-package "php5-mysql"
-package "php5-gd"
-package "php-apc"
-package "php5-intl"
-package "libapache2-mod-php5"
+package %w[
+  php
+  php-cli
+  php-curl
+  php-gd
+  php-intl
+  php-mbstring
+  php-mysql
+  php-xml
+]
 
+# Mediawiki enhanced difference engine
 package "php-wikidiff2"
 
 # Mediawiki Image + SVG support
-package "imagemagick"
-package "librsvg2-bin"
+package %w[
+  imagemagick
+  librsvg2-bin
+]
 
 # Mediawiki PDF support via Extension:PdfHandler
-package "ghostscript"
-package "poppler-utils"
+package %w[
+  ghostscript
+  poppler-utils
+]
 
 # Mediawiki backup
-package "xz-utils"
+package %w[
+  xz-utils
+  liblz4-tool
+]
 
-link "/etc/php5/apache2/conf.d/20-wikidiff2.ini" do
+# Mediawiki packages for VisualEditor support
+package %w[
+  curl
+  parsoid
+]
+
+# Mediawiki packages for SyntaxHighight support
+package "python-pygments"
+
+file "/etc/mediawiki/parsoid/settings.js" do
+  action :delete
+end
+
+template "/etc/mediawiki/parsoid/config.yaml" do
+  source "parsoid-config.yaml.erb"
+  owner "root"
+  group "root"
+  mode 0o644
+end
+
+service "parsoid" do
+  action [:enable]
+  supports :status => false, :restart => true, :reload => false
+  subscribes :restart, "file[/etc/mediawiki/parsoid/settings.js]"
+  subscribes :restart, "template[/etc/mediawiki/parsoid/config.yaml]"
+end
+
+php_version = if node[:lsb][:release].to_f >= 18.04
+                "7.2"
+              else
+                "7.0"
+              end
+
+apache_module "php#{php_version}"
+
+link "/etc/php/#{php_version}/apache2/conf.d/20-wikidiff2.ini" do
   to "../../mods-available/wikidiff2.ini"
 end
 
-apache_module "php5"
 apache_module "rewrite"