Difference between revisions of "Visual Editor Install"
m (Addec correction to parsoid step; missing git in clone command) (Tag: Visual edit) |
m (Tag: Visual edit) |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 10: | Line 10: | ||
# Next we need to install Parsiod <ref>https://www.centos.org/forums/viewtopic.php?f=47&t=53223&p=225372#p225372</ref> | # Next we need to install Parsiod <ref>https://www.centos.org/forums/viewtopic.php?f=47&t=53223&p=225372#p225372</ref> | ||
## <code>cd /opt</code> | ## <code>cd /opt</code> | ||
| + | ## <code>yum install -y policycoreutils-python</code> | ||
## <code>mkdir src</code> | ## <code>mkdir src</code> | ||
## <code>cd src</code> | ## <code>cd src</code> | ||
## <code>git clone https://gerrit.wikimedia.org/r/p/mediawiki/services/parsoid</code> | ## <code>git clone https://gerrit.wikimedia.org/r/p/mediawiki/services/parsoid</code> | ||
| − | ## <code>cp -rv | + | ## <code>cp -rv parsoid /opt/</code> |
## <code>cd /opt/parsoid/</code> | ## <code>cd /opt/parsoid/</code> | ||
## <code>npm install</code> | ## <code>npm install</code> | ||
| Line 41: | Line 42: | ||
<code>groupadd parsoid</code> | <code>groupadd parsoid</code> | ||
| − | <code>useradd - | + | <code>useradd -g parsoid parsoid</code> |
<code>cd /opt/</code> | <code>cd /opt/</code> | ||
| Line 49: | 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. | ||
| Line 60: | Line 61: | ||
paste the following: | 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 | CTRL+X, Y, Enter | ||
| Line 120: | Line 122: | ||
Navigate to http://wiki.ssdcougars.tv:8000 and you should see a webpage loaded with links about Parsoid. | Navigate to http://wiki.ssdcougars.tv:8000 and you should see a webpage loaded with links about Parsoid. | ||
| − | 4. Edit MediaWiki <code>LocalSettings. | + | 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 <code>nmap -sT -O localhost</code> | ||
| + | |||
| + | Verify you see: <code>8000/tcp open http-alt</code> | ||
| + | |||
| + | 4. Edit MediaWiki <code>LocalSettings.php</code> | ||
<nowiki>#</nowiki> Add more configuration options below. | <nowiki>#</nowiki> Add more configuration options below. | ||
Latest revision as of 17:13, 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
- Get the Package [1]
-
cd extensions -
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/VisualEditor.git -
cd VisualEditor -
git submodule update --init
-
- Run This as Root from within the base wiki directory [2]
curl --silent --location https://rpm.nodesource.com/setup_4.x | bash - - Next we need to install Parsiod [3]
-
cd /opt -
yum install -y policycoreutils-python -
mkdir src -
cd src -
git 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 -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.