Difference between revisions of "Visual Editor Install"

From SETV Springfield Technical Wiki
Jump to: navigation, search
m
m
Line 50: Line 50:
 
<code>chmod -Rv u+rw,g+r,o+r parsoid</code>
 
<code>chmod -Rv u+rw,g+r,o+r parsoid</code>
  
<code>chcon -Rv --type=system_u:object_r:usr_t:s0 parsoid</code>
+
<code>chcon -Rv --type=system_u:object_r:usr_t:s0 parsoid</code> **ForSELinux Only - We can ignore
  
 
Port 8000 should already be open on the hosted server, so we'll continue.
 
Port 8000 should already be open on the hosted server, so we'll continue.

Revision as of 16:54, 2 March 2017

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/bash
#
# parsoid start
#
# chkconfig: 345 86 14
# description: parsoid
#
### BEGIN INIT INFO
# Provides: $parsoid
### END INIT INFO
# Source function library.
. /etc/init.d/functions
rc=0
# See how we were called.
case "$1" in
start)
echo    starting parsoid
cd /opt/parsoid
/sbin/runuser parsoid -s /bin/bash -c "nohup node /opt/parsoid/bin/server.js > /dev/null 2>&1 &"
$0 status
;;
stop)
process=`ps -ef | grep 'node /opt/parsoid/bin/server.js'| grep -v grep | awk '{print $2}'`
if [ "${process}" != '' ]
then
echo    stopping parsoid
killall -9 node
fi
$0 status
;;
status)
proc_find=`ps -ef | grep 'node /opt/parsoid/bin/server.js'| grep -v grep`
if [ "${proc_find}" = '' ]
then
echo    parsoid is not running
else
echo parsoid is running: ${proc_find}
fi
;;
restart|reload)
cd "$CWD"
$0 status
$0 stop
$0 start
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|status}"
exit 1
esac
exit $rc

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.

4. Edit MediaWiki LocalSettings.js

# 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