Difference between revisions of "Parsoid"
From SME Server
Jump to navigationJump to searchUnnilennium (talk | contribs) |
Unnilennium (talk | contribs) |
||
Line 2: | Line 2: | ||
this how to is to install wikimedia parsoid server on a SME9 | this how to is to install wikimedia parsoid server on a SME9 | ||
+ | === install === | ||
install epel repo | install epel repo | ||
Line 32: | Line 33: | ||
uri: 'http://wiki.medi.com/api.php' | uri: 'http://wiki.medi.com/api.php' | ||
and optionals as per example | and optionals as per example | ||
− | domain: 'wiki.medi.com' # | + | domain: 'wiki.medi.com' # optional |
+ | |||
+ | ===configure startup using deamontools=== | ||
+ | mkdir -p /var/services/parsoid/supervise | ||
+ | mkdir -p /var/services/parsoid/log/supervise | ||
+ | mkdir /var/log/parsoid | ||
+ | chown www:www /var/log/parsoid | ||
+ | echo >/var/services/parsoid/run <<- EOM | ||
+ | #!/bin/sh | ||
+ | exec 2>&1 | ||
+ | exec \ | ||
+ | /usr/local/bin/setuidgid www \ | ||
+ | /usr/bin/node /opt/parsoid/parsoid.js \ | ||
+ | -c /opt/parsoid/etc/config.yaml \ | ||
+ | -n 1 | ||
+ | # /usr/bin/node /opt/parsoid/parsoid.js --help | ||
+ | #Usage: /opt/parsoid/parsoid.js [command] [options] | ||
+ | # | ||
+ | #Commandes: | ||
+ | # docker-start starts the service in a Docker container | ||
+ | # docker-test starts the test process in a Docker container | ||
+ | # build builds the service's package and deploy repo | ||
+ | # | ||
+ | #Options: | ||
+ | # -n, --num-workers number of workers to start [default: -1] | ||
+ | # -c, --config YAML-formatted configuration file | ||
+ | # [string] [default: "./config.yaml"] | ||
+ | # -f, --force force the operation to execute [boolean] [default: false] | ||
+ | # -d, --deploy-repo build only the deploy repo [boolean] [default: false] | ||
+ | # -r, --review send the patch to Gerrit after building the repo | ||
+ | # [boolean] [default: false] | ||
+ | # --verbose be verbose [boolean] [default: false] | ||
+ | # -v, --version print the service's version and exit | ||
+ | # [boolean] [default: false] | ||
+ | # -h, --help Display help [boolean] | ||
+ | EOM | ||
+ | chmod +x /var/services/parsoid/run | ||
+ | echo >/var/services/parsoid/log/run <<- EOM | ||
+ | #!/bin/sh | ||
+ | exec \ | ||
+ | /usr/local/bin/setuidgid www \ | ||
+ | /usr/local/bin/multilog t s5000000 \ | ||
+ | /var/log/parsoid | ||
+ | EOM | ||
+ | chmod +x /var/services/parsoid/log/run | ||
+ | |||
+ | then add link | ||
+ | pushd /services | ||
+ | ln -s /var/services/parsoid | ||
+ | popd | ||
+ | pushd /etc/init.d/supervise/ | ||
+ | ln -s ../daemontools parsoid | ||
+ | popd | ||
+ | pushd /etc/rc.d/rc7.d/ | ||
+ | ln -s S99/etc/rc.d/init.d/e-smith-service parsoid | ||
+ | popd | ||
+ | |||
===Sources=== | ===Sources=== |
Revision as of 14:29, 27 June 2017
this how to is to install wikimedia parsoid server on a SME9
install
install epel repo
yum install nodejs npm vim-enhanced git policycoreutils-python --enablerepo=epel cd ~
Download the latest Parsoid form the Git:
git clone https://gerrit.wikimedia.org/r/p/mediawiki/services/parsoid
Copy the Paroid to /opt:
cp -rv ~/parsoid /opt/
Go to /opt/parsoid/
cd /opt/parsoid/
Install Parsoid in node.js:
npm install
Create the file local settings :
mkdir /opt/parsoid/etc cp /opt/parsoid/config.example.yaml /opt/parsoid/etc/config.yaml vim /opt/parsoid/etc/config.yaml
set the required parameters
uri: 'http://wiki.medi.com/api.php'
and optionals as per example
domain: 'wiki.medi.com' # optional
configure startup using deamontools
mkdir -p /var/services/parsoid/supervise mkdir -p /var/services/parsoid/log/supervise mkdir /var/log/parsoid chown www:www /var/log/parsoid echo >/var/services/parsoid/run <<- EOM #!/bin/sh exec 2>&1 exec \ /usr/local/bin/setuidgid www \ /usr/bin/node /opt/parsoid/parsoid.js \ -c /opt/parsoid/etc/config.yaml \ -n 1 # /usr/bin/node /opt/parsoid/parsoid.js --help #Usage: /opt/parsoid/parsoid.js [command] [options] # #Commandes: # docker-start starts the service in a Docker container # docker-test starts the test process in a Docker container # build builds the service's package and deploy repo # #Options: # -n, --num-workers number of workers to start [default: -1] # -c, --config YAML-formatted configuration file # [string] [default: "./config.yaml"] # -f, --force force the operation to execute [boolean] [default: false] # -d, --deploy-repo build only the deploy repo [boolean] [default: false] # -r, --review send the patch to Gerrit after building the repo # [boolean] [default: false] # --verbose be verbose [boolean] [default: false] # -v, --version print the service's version and exit # [boolean] [default: false] # -h, --help Display help [boolean] EOM chmod +x /var/services/parsoid/run echo >/var/services/parsoid/log/run <<- EOM #!/bin/sh exec \ /usr/local/bin/setuidgid www \ /usr/local/bin/multilog t s5000000 \ /var/log/parsoid EOM chmod +x /var/services/parsoid/log/run
then add link
pushd /services ln -s /var/services/parsoid popd pushd /etc/init.d/supervise/ ln -s ../daemontools parsoid popd pushd /etc/rc.d/rc7.d/ ln -s S99/etc/rc.d/init.d/e-smith-service parsoid popd
Sources
- https://www.mediawiki.org/wiki/Parsoid/Setup
- https://www.centos.org/forums/viewtopic.php?f=47&t=53223&p=225372#p225372