MediaWikiGids: Parsoid: verschil tussen versies

Uit MediaWikiGids
Ga naar: navigatie, zoeken
k
k
Regel 15: Regel 15:
  
 
Tijdens de installatie meldt npm welke 'fouten' (niet altijd fataal) zij tijdens het installeren is tegengekomen en hoeveel bestanden er zijn geïnstalleerd.
 
Tijdens de installatie meldt npm welke 'fouten' (niet altijd fataal) zij tijdens het installeren is tegengekomen en hoeveel bestanden er zijn geïnstalleerd.
 +
 +
=== Configuratie Parsoid - yaml ===
 +
De configuratie van Parsoid is eenvoudig, maar moet wel matchen met de configuratie van MediaWiki in LocalSetting.php.
 +
 +
Voorbeeld van configuratie van Parsoid:
 +
<pre>        # Configure Parsoid to point to your MediaWiki instances.
 +
        mwApis:
 +
        - # This is the only required parameter,
 +
          # the URL of you MediaWiki API endpoint.
 +
          uri: 'http://gids.wikiwerkers.nl/w/api.php'
 +
          # The "domain" is used for communication with Visual Editor
 +
          # and RESTBase.  It defaults to the hostname portion of
 +
          # the `uri` property above, but you can manually set it
 +
          # to an arbitrary string. It must match the "domain" set
 +
          # in $wgVirtualRestConfig.
 +
          domain: 'localhost'  # optional</pre>
 +
 +
=== Configuratie Parsoid in LocalSettings.php ===
 +
 +
Eerste MediaWiki-website die Parsoid gaat gebruiken:
 +
<pre>$wgVirtualRestConfig['modules']['parsoid'] = array(
 +
// URL to the Parsoid instance
 +
// Use port 8142 if you use the Debian package
 +
'url' => 'http://localhost:8000',
 +
// Parsoid "domain", see below (optional)
 +
'domain' => 'localhost',
 +
// Parsoid "prefix", see below (optional)
 +
'prefix' => 'localhost'
 +
);</pre>
 +
 +
Tweede MediaWiki-website die Parsoid gaat gebruiken:
 +
<pre>$wgVirtualRestConfig['modules']['parsoid'] = array(
 +
// URL to the Parsoid instance
 +
// Use port 8142 if you use the Debian package
 +
'url' => 'http://test-te.wikiwerkers.nl:8000',
 +
// Parsoid "domain", see below (optional)
 +
'domain' => 'localhost2',
 +
// Parsoid "prefix", see below (optional)
 +
'prefix' => 'localhost2'
 +
);</pre>
  
 
=== Debugging Parsoid ===
 
=== Debugging Parsoid ===

Versie van 28 nov 2017 om 18:06

Installeren Parsoid

Een (werkende) Parsoid service kan als develloper-installatie of op de normale manier geïnstalleerd worden.

bron: https://www.mediawiki.org/wiki/Parsoid/Developer_Setup zie ook: https://www.mediawiki.org/wiki/Parsoid/Setup

Ga naar de directory waar je Parsoid wilt installeren.
cd /path/to/directory/parsoid
Parsoid kan in principe overall geïnstalleerd worden. De “standaard” locatie voor installatie van parsoid is
/opt/parsoid
Download Parsoid met behulp van git:
git clone https://gerrit.wikimedia.org/r/p/mediawiki/services/parsoid
Installeer Parsoid met behulp van nam:
npm install

Tijdens de installatie meldt npm welke 'fouten' (niet altijd fataal) zij tijdens het installeren is tegengekomen en hoeveel bestanden er zijn geïnstalleerd.

Configuratie Parsoid - yaml

De configuratie van Parsoid is eenvoudig, maar moet wel matchen met de configuratie van MediaWiki in LocalSetting.php.

Voorbeeld van configuratie van Parsoid:

        # Configure Parsoid to point to your MediaWiki instances.
        mwApis:
        - # This is the only required parameter,
          # the URL of you MediaWiki API endpoint.
          uri: 'http://gids.wikiwerkers.nl/w/api.php'
          # The "domain" is used for communication with Visual Editor
          # and RESTBase.  It defaults to the hostname portion of
          # the `uri` property above, but you can manually set it
          # to an arbitrary string. It must match the "domain" set
          # in $wgVirtualRestConfig.
          domain: 'localhost'  # optional

Configuratie Parsoid in LocalSettings.php

Eerste MediaWiki-website die Parsoid gaat gebruiken:

$wgVirtualRestConfig['modules']['parsoid'] = array(
	// URL to the Parsoid instance
	// Use port 8142 if you use the Debian package
	'url' => 'http://localhost:8000',
	// Parsoid "domain", see below (optional)
	'domain' => 'localhost',
	// Parsoid "prefix", see below (optional)
	'prefix' => 'localhost'
);

Tweede MediaWiki-website die Parsoid gaat gebruiken:

$wgVirtualRestConfig['modules']['parsoid'] = array(
	// URL to the Parsoid instance
	// Use port 8142 if you use the Debian package
	'url' => 'http://test-te.wikiwerkers.nl:8000',
	// Parsoid "domain", see below (optional)
	'domain' => 'localhost2',
	// Parsoid "prefix", see below (optional)
	'prefix' => 'localhost2'
);

Debugging Parsoid

VisualEditor blijft 'hangen' op een foutmelding (“Unknown error”) na het opslaan van een pagina (terwijl die pagina feitelijk wel wordt opgeslagen!). Je kunt dit voorkomen door de volgende regel in LocalSettings.php op te nemen (paardenmiddel...):

ini_set( 'display_errors', 0 );

Handmatige start en stop Parsoid

Tijdens het installeren en testen van de configuratie kan het nodig zijn de Parsoid-service handmatig de starten, stoppen en herstarten. Gebruik de volgende commando's (in de terminal).

Starten van Parsoid:
cd /path/to/directory/parsoid
node bin/server.js

of (indien geen develloper setup):

node server.js
Stoppen van Parsoid (na handmatige start):
^c
en dus niet: ^z
Controleren Parsoid of killen van proces:
pgrep node 
pkill node

Autostart van Parsoid op CentOS 6 server

Omdat Centos 6 (nog) geen gebruik maakt van systemd om scripts te starten bij de opstart van de server, is een eigen startup script nodig. CentOS 7 maakt wel gebruik van systemd.

Plaats van startup script:
/etc/init.d
Na plaatsen van script eenmalig uitvoeren:
chkconfig parsoid on
Naam van het script:
parsoid
Inhoud parsoid - startup script
# 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 /path/to/directory/parsoid
        nohup node /path/to/directory/parsoid/bin/server.js > /dev/null 2>&1 &
        $0 status
       ;;
  stop)
        process=`ps -ef | grep 'node /path/to/directory/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 /path/to/directory/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