From: Ian Kelling Date: Mon, 16 Jan 2017 16:39:00 +0000 (-0800) Subject: get 1.28 changes, small doc addition X-Git-Url: https://iankelling.org/git/?p=mediawiki-setup;a=commitdiff_plain;h=26831bf52ab8a90dc2a3556ec91aa010dd93c530 get 1.28 changes, small doc addition --- diff --git a/Mediawiki_Setup_Guide b/Mediawiki_Setup_Guide index d17fa35..74ca3a8 100644 --- a/Mediawiki_Setup_Guide +++ b/Mediawiki_Setup_Guide @@ -23,9 +23,10 @@ '''Version Support''' Very minor adjustments needed for other distros. Help expand this list. -* Mediawiki 1.27 -* Debian 8 (tested) -* Debian testing (tested Aug 7, 2016) +* Mediawiki 1.27 & 1.28 +* Debian 8 + backports +* Debian 8 +* Debian testing (last tested Aug 7, 2016) Pre 5/2016 revisions ran Mediawiki 1.23, tested on Fedora 20 and Ubuntu 14.04. @@ -78,9 +79,9 @@ EOF # The rest of this section will work fine with no changes. # git branch for mediawiki + extensions. -# This guide has only been tested with 1_27. +# This guide has only been tested with 1_28. # branch names: https://git.wikimedia.org/branches/mediawiki%2Fcore.git -export mw_branch=REL1_27 +export mw_branch=REL1_28 # As set by gui installer when choosing cc by sa. export mw_RightsUrl='https://creativecommons.org/licenses/by-sa/4.0/' @@ -222,10 +223,10 @@ if isdeb; then # main reference: # https://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_Ubuntu apt-get update - apt-get install -y imagemagick + DEBIAN_FRONTEND=noninteractive apt-get install -y imagemagick if apt-get install -s mediawiki &>/dev/null; then - # in debian wheezy time-frame distros, mediawiki was packaged. - apt-get -y install php-apc mediawiki php-mbstring + # mediawiki is packaged in jessie backports. + DEBIAN_FRONTEND=noninteractive apt-get -y install php5-apcu mediawiki else # https://www.mediawiki.org/wiki/Manual:Installation_requirements if apt-get install -s php7.0 &>/dev/null; then @@ -233,13 +234,15 @@ if isdeb; then # available in debian 8. it's listed as supported # in the mediawiki page. # noninteractive to avoid mysql password prompt. - DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 mysql-server \ + DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 \ + default-mysql-server \ php7.0 php7.0-mysql libapache2-mod-php7.0 php7.0-xml \ php7.0-apcu php7.0-mbstring else # note: mbstring is recommended, but it's not available for php5 in # debian jessie. - DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 mysql-server \ + DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 \ + default-mysql-server \ php5 php5-mysql libapache2-mod-php5 php5-apcu fi fi @@ -459,7 +462,6 @@ $wgArticlePath = "/wiki/$1"; # not using nofollow is good practice, as long as we avoid spam. $wgNoFollowLinks = false; # Allow user customization. -$wgAllowUserJs = true; $wgAllowUserCss = true; # use imagemagick over GD @@ -498,7 +500,7 @@ if ! git remote show ian-kelling &>/dev/null; then git remote add ian-kelling https://iankelling.org/git/forks/Vector fi git fetch ian-kelling -git checkout ian-kelling/REL1_27-toolbox-in-dropdown +git checkout ian-kelling/${mw_branch}-toolbox-in-dropdown == Install and Configure Mediawiki Extensions == @@ -568,10 +570,12 @@ sudo -u $apache_user php $mw/extensions/AntiSpoof/maintenance/batchAntiSpoof.php ''' [[mediawikiwiki:CheckUser|Extension:CheckUser]]: Get ip addresses from inside mediawiki so you can ban users''' -Requires special install steps or we can get into a bad state. Add a sleep like the default of update.php to avoid errors. +On <= 1.27, requires special install steps or we can get into a bad state. Add a sleep like the default of update.php to avoid errors. mw-ext CheckUser -sudo -u $apache_user php $mw/extensions/CheckUser/install.php; sleep 1 +if [[ -e $mw/extensions/CheckUser/install.php ]]; then + sudo -u $apache_user php $mw/extensions/CheckUser/install.php; sleep 1 +fi @@ -930,14 +934,9 @@ EOFOUTER sudo chmod +x $backup_script -If you are like most people and don't use the old-school mail spool, setup the backup system to send mail externally. Some ways to do that are on this [http://unix.stackexchange.com/questions/36982/can-i-set-up-system-mail-to-use-an-external-smtp-server stackoverflow answer]. Then make local mail to your user get forwarded to an address you will read: - '''Optional & requires additional steps''' - -sed -i --follow-symlinks "/^root:/d" /etc/aliases -echo "root: EXAMPLE_ONLY_REPLACE_ME@gmail.com" >> /etc/aliases -newaliases - + +If you are like most people and don't use the old-school mail spool, setup the backup system to send mail externally so you are notified if it fails. For examples of how to do this, [http://unix.stackexchange.com/questions/36982/can-i-set-up-system-mail-to-use-an-external-smtp-server stackoverflow], [https://iankelling.org/git/?p=ian-specific/distro-setup;a=blob;f=mail-setup;hb=HEAD script I use]. == Restoring Backups == @@ -1003,7 +1002,7 @@ for dir in extensions/* skins/* $mw; do git checkout -q $new_head cd $mw done -php $mw/maintenance/update.php -q +php $mw/maintenance/update.php -q --quick EOF @@ -1103,7 +1102,7 @@ This means the code is compatible with gplv3. == todo list for this page == -* Check if there are any new default extensions 1.27 which I haven't evaluated. -* Test for any new config values set by the 1.27 gui install method. +* Check if there are any new default extensions 1.28 which I haven't evaluated. +* Test for any new config values set by the 1.28 gui install method. * Get Visual editor extension. * Don't require registration for edits diff --git a/get-wiki-snapshot b/get-wiki-snapshot index 578732b..b89bafa 100755 --- a/get-wiki-snapshot +++ b/get-wiki-snapshot @@ -4,6 +4,9 @@ set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR +# usage: get-wiki-snapshot [-l] +# -l means generate script from local guide, don't download new one. + cd "${BASH_SOURCE%/*}" @@ -13,7 +16,7 @@ start=' * *' end=' *<\/source> *' if [[ $1 != -l ]]; then # use local file - ruby <<'EOF' > $page_file + ruby <<'EOF' > $page_file require 'json' puts JSON.parse(`curl -k 'https://ofswiki.org/w/api.php?\ action=query&titles=Mediawiki_Setup_Guide&prop=revisions&rvprop=content&\ @@ -25,6 +28,7 @@ fi #!/bin/bash # Copyright (C) 2016 Ian Kelling # This program is under GPL v. 3 or later, see +set -x EOF sed -rn "/^$start$/,/^$end$/{s/^($start|$end)$/# \0/;p}" $page_file } > $script_file diff --git a/mw-setup-script b/mw-setup-script index 62701d5..754c536 100755 --- a/mw-setup-script +++ b/mw-setup-script @@ -1,6 +1,7 @@ #!/bin/bash # Copyright (C) 2016 Ian Kelling # This program is under GPL v. 3 or later, see +set -x # # identify if this is a debian based distro isdeb() { command -v apt &>/dev/null; } @@ -87,10 +88,10 @@ if isdeb; then # main reference: # https://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_Ubuntu apt-get update - apt-get install -y imagemagick + DEBIAN_FRONTEND=noninteractive apt-get install -y imagemagick if apt-get install -s mediawiki &>/dev/null; then - # in debian wheezy time-frame distros, mediawiki was packaged. - apt-get -y install php-apc mediawiki php-mbstring + # mediawiki is packaged in jessie backports. + DEBIAN_FRONTEND=noninteractive apt-get -y install php5-apcu mediawiki else # https://www.mediawiki.org/wiki/Manual:Installation_requirements if apt-get install -s php7.0 &>/dev/null; then @@ -98,13 +99,15 @@ if isdeb; then # available in debian 8. it's listed as supported # in the mediawiki page. # noninteractive to avoid mysql password prompt. - DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 mysql-server \ + DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 \ + default-mysql-server \ php7.0 php7.0-mysql libapache2-mod-php7.0 php7.0-xml \ php7.0-apcu php7.0-mbstring else # note: mbstring is recommended, but it's not available for php5 in # debian jessie. - DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 mysql-server \ + DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 \ + default-mysql-server \ php5 php5-mysql libapache2-mod-php5 php5-apcu fi fi @@ -238,7 +241,6 @@ $wgArticlePath = "/wiki/$1"; # not using nofollow is good practice, as long as we avoid spam. $wgNoFollowLinks = false; # Allow user customization. -$wgAllowUserJs = true; $wgAllowUserCss = true; # use imagemagick over GD @@ -275,7 +277,7 @@ if ! git remote show ian-kelling &>/dev/null; then git remote add ian-kelling https://iankelling.org/git/forks/Vector fi git fetch ian-kelling -git checkout ian-kelling/REL1_27-toolbox-in-dropdown +git checkout ian-kelling/${mw_branch}-toolbox-in-dropdown # # mw-ext Cite CiteThisPage CSS Echo Gadgets ImageMap Interwiki News \ @@ -288,7 +290,9 @@ sudo -u $apache_user php $mw/extensions/AntiSpoof/maintenance/batchAntiSpoof.php # # mw-ext CheckUser -sudo -u $apache_user php $mw/extensions/CheckUser/install.php; sleep 1 +if [[ -e $mw/extensions/CheckUser/install.php ]]; then + sudo -u $apache_user php $mw/extensions/CheckUser/install.php; sleep 1 +fi # # if isdeb; then @@ -556,7 +560,7 @@ for dir in extensions/* skins/* $mw; do git checkout -q $new_head cd $mw done -php $mw/maintenance/update.php -q +php $mw/maintenance/update.php -q --quick EOF #