Visual Editor Install

From SETV Springfield Technical Wiki
Jump to: navigation, search

Mediawiki's Visual Editor is not included with Mediawiki. It is an external add-on that requires a LOT of work to get working.

After you have MediaWiki installed (to a users' account NOT /var/www/mediawiki and working, do the following

  1. Get the Package [1]
    1. cd extensions
    2. git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/VisualEditor.git
    3. cd VisualEditor
    4. git submodule update --init
  2. Run This as Root from within the base wiki directory [2] curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
  3. Next we need to install Parsiod [3]
    1. cd /opt
    2. yum install -y policycoreutils-python
    3. mkdir src
    4. cd src
    5. git clone https://gerrit.wikimedia.org/r/p/mediawiki/services/parsoid
    6. cp -rv parsoid /opt/
    7. cd /opt/parsoid/
    8. npm install
    9. nano config.example.yaml
    10. FIND and EDIT below:
mwApis:
# This is the only required parameter,
# the URL of you MediaWiki API endpoint.
uri: 'http://wiki.ssdcougars.tv/api.php'
# The "domain" is used for communication with Visual Editor
# and RESTBase.  It defaults to the hostname portion of
# the `uri` property below, but you can manually set it
# to an arbitrary string.
domain: 'wiki.ssdcougars.tv'  # optional
# To specify a proxy (or proxy headers) specific to this prefix
# (which overrides defaultAPIProxyURI). Alternatively, set `proxy`
# to `null` to override and force no proxying when a default proxy
# has been set.
#proxy:
#    uri: 'http://my.proxy:1234/'
#    headers:  # optional
#        'X-Forwarded-Proto': 'https'

CTL+X, Y, and rename the file to config.yaml

Next we need to add a parsoid user and group.

groupadd parsoid

useradd -g parsoid parsoid

cd /opt/

chown -Rv parsoid:parsoid parsoid

chmod -Rv u+rw,g+r,o+r parsoid

chcon -Rv --type=system_u:object_r:usr_t:s0 parsoid **ForSELinux Only - We can ignore

Port 8000 should already be open on the hosted server, so we'll continue.

Create init.d service[4]

cd /etc/init.d/

nano parsoid

paste the following:

   #!/bin/sh
   #
   # chkconfig: 35 99 99
   # description: Node.js /opt/services/parsoid/api/server.js
   #
   . /etc/rc.d/init.d/functions
   USER="parsoid"
   DAEMON="/usr/bin/node"
   ROOT_DIR="/opt/services/parsoid/api"
   SERVER="$ROOT_DIR/server.js"
   LOG_FILE="$ROOT_DIR/server.js.log"
   LOCK_FILE="/var/lock/subsys/node-server"
   do_start()
   {
   if [ ! -f "$LOCK_FILE" ] ; then
   echo -n $"Starting $SERVER: "
   runuser -l "$USER" -c "$DAEMON $SERVER >> $LOG_FILE &" && echo_success || echo_failure
   RETVAL=$?
   echo
   [ $RETVAL -eq 0 ] && touch $LOCK_FILE
   else
   echo "$SERVER is locked."
   RETVAL=1
   fi
      }
       do_stop()
      {
   echo -n $"Stopping $SERVER: "
   pid=`ps -aefw | grep "$DAEMON $SERVER" | grep -v " grep " | awk '{print $2}'`
   kill -9 $pid > /dev/null 2>&1 && echo_success || echo_failure
       RETVAL=$?
       echo
       [ $RETVAL -eq 0 ] && rm -f $LOCK_FILE
   }
   case "$1" in
   start)
     do_start
   ;;
   stop)
     do_stop
   ;;
   restart)
     do_stop
     do_start
   ;;
   *)
   echo "Usage: $0 {start|stop|restart}"
   RETVAL=1
       esac
   exit $RETVAL

CTRL+X, Y, Enter

chown parsoid parsoid

chmod 0755 parsoid

/etc/init.d/parsoid start

Navigate to http://wiki.ssdcougars.tv:8000 and you should see a webpage loaded with links about Parsoid.

NOTE: At the time of this writing, there was a page displayed about parsoid. Some browsers will show "SERVER TOOK TOO LONG TO RESPOND"

Use SSH and run nmap -sT -O localhost

Verify you see: 8000/tcp open http-alt

4. Edit MediaWiki LocalSettings.php

# Add more configuration options below.
#VisualEditor
require_once "$IP/extensions/VisualEditor/VisualEditor.php";
// Enable by default for everybody

$wgDefaultUserOptions['visualeditor-enable'] = 1;

// Don't allow users to disable it

#$wgHiddenPrefs[] = 'visualeditor-enable';

$wgVirtualRestConfig['modules']['parsoid'] = array(

// URL to the Parsoid instance

// Use port 8142 if you use the Debian package

'url' => 'http://wiki.ssdcougars.tv:8000',

// Parsoid "domain", see below (optional)

'domain' => 'wiki.ssdcougars.tv',

// Parsoid "prefix", see below (optional)

'prefix' => 'localhost'

);

Now, if you did everything correctly, when you go to a Wikipage, you should see 'EDIT' AND 'EDIT SOURCE' on the page. 'EDIT' will take you to the visual editor.

If it didn't work, go through the steps again.

Sources
  1. https://www.mediawiki.org/wiki/Extension:VisualEditor#Download
  2. https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora
  3. https://www.centos.org/forums/viewtopic.php?f=47&t=53223&p=225372#p225372
  4. https://www.mediawiki.org/wiki/Topic:Sqzq4kxj3o5q8b1k