From adbc2701b05a031cf6d34bee24326f7d4fa00f20 Mon Sep 17 00:00:00 2001 From: Christian Boltz Date: Aug 29 2018 21:09:19 +0000 Subject: change en-test.o.o mediawiki_src to /usr/share/mediawiki_1_27--git/ This allows fast and easy deployment of changes in https://github.com/openSUSE/wiki/ on en-test.o.o without updating the mediawiki_1_27-openSUSE package. The big advantage is that it allows testing of skin updates etc. without risking breakage on the production wikis. Note that (and that's the shocking part of this commit ;-) /usr/share/mediawiki_1_27--git/ needs to be `git clone`d manually, and also needs several symlinks to /usr/share/mediawiki_1_27/ --- diff --git a/pillar/role/wiki.sls b/pillar/role/wiki.sls index dc8635c..8d16206 100644 --- a/pillar/role/wiki.sls +++ b/pillar/role/wiki.sls @@ -109,6 +109,8 @@ zypper: apache2: {} apache2-mod_apparmor: {} apache2-prefork: {} + # needed for deploying en-test without going through packaging + git: {} mediawiki_1_27-openSUSE: {} mariadb-client: {} check_mk-agent-apache_status: {} diff --git a/salt/profile/wiki/docroot.sls b/salt/profile/wiki/docroot.sls index 1870c7b..d4d5e3c 100644 --- a/salt/profile/wiki/docroot.sls +++ b/salt/profile/wiki/docroot.sls @@ -27,7 +27,14 @@ /srv/www/{{ wiki }}.opensuse.org/public/mediawiki_src: file.symlink: + {% if wiki == 'en-test' %} + # /usr/share/mediawiki_1_27--git/ is `git clone https://github.com/openSUSE/wiki/` + # + symlinks to /usr/share/mediawiki_1_27/ for everything not in the git repo + # (git clone and creating these symlinks needs to be done manually!) + - target: /usr/share/mediawiki_1_27--git/ + {% else %} - target: /usr/share/mediawiki_1_27/ + {% endif %} {% set mediawiki_1_27_symlinks = [ 'api.php', 'autoload.php', 'extensions', 'img_auth.php', 'includes', 'index.php', 'languages', 'load.php', 'maintenance', 'opensearch_desc.php', 'resources', 'serialized', 'skins', 'thumb_handler.php', 'thumb.php', 'vendor', ] %} diff --git a/salt/profile/wiki/files/apache-vhost.conf b/salt/profile/wiki/files/apache-vhost.conf index 7d9b458..e4892b1 100644 --- a/salt/profile/wiki/files/apache-vhost.conf +++ b/salt/profile/wiki/files/apache-vhost.conf @@ -26,7 +26,11 @@ SetEnvIf X-Forwarded-Proto "https" HTTPS=on php_admin_flag engine on + {%- if wiki == 'en-test' %} + php_admin_value open_basedir "/srv/www/en-test.opensuse.org/:/usr/share/mediawiki_1_27/:/usr/share/mediawiki_1_27--git/:/dev/urandom:/bin/bash" + {%- else %} php_admin_value open_basedir "/srv/www/{{ wiki }}.opensuse.org/:/usr/share/mediawiki_1_27/:/dev/urandom:/bin/bash" + {%- endif %} php_admin_value upload_tmp_dir /srv/www/{{ wiki }}.opensuse.org/tmp/ php_admin_value session.save_path /srv/www/{{ wiki }}.opensuse.org/tmp/ php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f noreply+{{ wiki }}-wiki@opensuse.org" diff --git a/salt/profile/wiki/files/httpd2-prefork.apparmor b/salt/profile/wiki/files/httpd2-prefork.apparmor index 2c27c4a..8b3459e 100644 --- a/salt/profile/wiki/files/httpd2-prefork.apparmor +++ b/salt/profile/wiki/files/httpd2-prefork.apparmor @@ -161,7 +161,9 @@ profile httpd2-prefork /usr/sbin/httpd{,2}-prefork flags=(complain,attach_discon /srv/www/{{wiki}}.opensuse.org/secrets.php r, /srv/www/{{wiki}}.opensuse.org/wiki_settings.php r, /usr/share/mediawiki_1_27/** r, - + # {% if wiki == 'en-test' %} + /usr/share/mediawiki_1_27--git/** r, + # {% endif %} } # {% endfor %}