Difference between revisions of "Visual Editor Install"
m (Tag: Visual edit) |
|||
(11 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
After you have MediaWiki installed (to a users' account NOT <code>/var/www/mediawiki</code> and working, do the following | After you have MediaWiki installed (to a users' account NOT <code>/var/www/mediawiki</code> and working, do the following | ||
− | # <code>cd extensions</code> <code>git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/VisualEditor.git</code> <code>cd VisualEditor</code> | + | # Get the Package <ref>https://www.mediawiki.org/wiki/Extension:VisualEditor#Download</ref> |
− | # Run This as Root from within the base wiki directory <code>curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -</code> | + | ## <code>cd extensions</code> |
− | # Next we need to install Parsiod <code>cd /opt</code> <code>mkdir src</code> | + | ## <code>git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/VisualEditor.git</code> |
+ | ## <code>cd VisualEditor</code> | ||
+ | ## <code>git submodule update --init</code> | ||
+ | # Run This as Root from within the base wiki directory <ref>https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora</ref> <code>curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -</code> | ||
+ | # 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>yum install -y policycoreutils-python</code> | ||
+ | ## <code>mkdir src</code> | ||
+ | ## <code>cd src</code> | ||
+ | ## <code>git clone https://gerrit.wikimedia.org/r/p/mediawiki/services/parsoid</code> | ||
+ | ## <code>cp -rv parsoid /opt/</code> | ||
+ | ## <code>cd /opt/parsoid/</code> | ||
+ | ## <code>npm install</code> | ||
+ | ## <code>nano config.example.yaml</code> | ||
+ | ## FIND and EDIT below: | ||
mwApis: | mwApis: | ||
<nowiki>#</nowiki> This is the only required parameter, | <nowiki>#</nowiki> This is the only required parameter, | ||
Line 28: | 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 36: | 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. | ||
− | Create init.d service | + | ===== Create init.d service<ref>https://www.mediawiki.org/wiki/Topic:Sqzq4kxj3o5q8b1k</ref> ===== |
+ | <code>cd /etc/init.d/</code> | ||
− | + | <code>nano parsoid</code> | |
− | + | 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 | ||
+ | |||
+ | <code>chown parsoid parsoid</code> | ||
+ | |||
+ | <code>chmod 0755 parsoid</code> | ||
+ | |||
+ | <code>/etc/init.d/parsoid start</code> | ||
+ | |||
+ | 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 <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>VisualEditor | ||
+ | require_once "$IP/extensions/VisualEditor/VisualEditor.php"; | ||
+ | // Enable by default for everybody | ||
+ | |||
+ | $wgDefaultUserOptions['visualeditor-enable'] = 1; | ||
+ | |||
+ | // Don't allow users to disable it | ||
+ | |||
+ | <nowiki>#</nowiki>$wgHiddenPrefs[] = 'visualeditor-enable'; | ||
+ | |||
+ | $wgVirtualRestConfig['modules']['parsoid'] = array( | ||
+ | |||
+ | // URL to the Parsoid instance | ||
+ | |||
+ | // Use port 8142 if you use the Debian package | ||
+ | |||
+ | 'url' => '<nowiki>http://wiki.ssdcougars.tv:8000'</nowiki>, | ||
+ | |||
+ | // 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 ====== | |
− | + | <references /> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
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.
Sources
- Jump up ↑ https://www.mediawiki.org/wiki/Extension:VisualEditor#Download
- Jump up ↑ https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora
- Jump up ↑ https://www.centos.org/forums/viewtopic.php?f=47&t=53223&p=225372#p225372
- Jump up ↑ https://www.mediawiki.org/wiki/Topic:Sqzq4kxj3o5q8b1k