get 1.28 changes, small doc addition
[mediawiki-setup] / Mediawiki_Setup_Guide
index d17fa35edaa7b0d74bb3fcae8eae9906f3b4d6c6..74ca3a8100106eef68d0cfc3abfe0cb7614ad7eb 100644 (file)
 '''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
 </source>
 
 == 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.
 <source lang="bash">
 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
 </source>
 
 
@@ -930,14 +934,9 @@ EOFOUTER
 sudo chmod +x $backup_script
 </source>
 
-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'''
-<source lang="bash" type="example">
-sed -i --follow-symlinks "/^root:/d" /etc/aliases
-echo "root: EXAMPLE_ONLY_REPLACE_ME@gmail.com" >> /etc/aliases
-newaliases
-</source>
+
+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
 
 </source>
@@ -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