Difference between revisions of "Visual Editor Install"

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

Revision as of 07:28, 19 August 2016

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. cd extensions git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/VisualEditor.git cd VisualEditor git submodule update --init
  2. Run This as Root from within the base wiki directory curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
  3. Next we need to install Parsiod cd /opt mkdir src cd src clone https://gerrit.wikimedia.org/r/p/mediawiki/services/parsoid cp -rv ~/parsoid /opt/ cd /opt/parsoid/ npm install nano config.example.yaml 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 -gparsoid 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

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

Create init.d service

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