Parsoid/Developer Setup/ru

Здесь описывается установка Parsoid из исходников. В первую очередь это полезно для разработчиков Parsoid, однако, если для вашей операционной системы нет скомпилированных пакетов Parsoid, вы также найдете это полезным.

Быстрое начало
Чтобы использовать  в качестве конфигурационного файла:

См. для подробностей этапы "edit config.yaml" и "edit localsettings.js". См. the Gerrit 'getting started' docs для справки по "git review", что необходимо только в случае, если вы планируете поделиться изменениями кода с нами.

Если команды выше для вас непонятны, почитайте более подробные инструкции.

Убедитесь, что у вас самая последняя версия Node
Перед установкой Parsoid вы должны убедиться, что у вас установлена самая последняя версия Node.

Для Parsoid нужно node 0.8, но мы на самом деле рекомендуем версию 0.10 или выше. А в нашем производстве мы используем версию 0.10.

Если у вас установлен node достаточно свежей версии, следуйте инструкциям на, а затем возвращайтесь сюда.

Вариант 1. Клонировать репозиторий mediawiki/services/parsoid/deploy
Возможно, это самый простой способ установить Parsoid, если вы просто хотите немного поиграться и не связываться с установкой npm.

Это установит версию Parsoid, которая развернута на данный момент в произодстве наряду со всеми зависимыми элементами node. Код parsoid будет находиться в поддиректории src/. Модули npm будут находиться в поддиректории node_modules/.

Вариант 2. Клонировать репозиторий mediawiki/services/parsoid
Вы можете установить код Parsoid куда угодно, его не обязательно устанавливать или или запускать от пользователя root.

Проверка исходников:

Или, если вы планируете хакнуть Parsoid, следуйте документации the Gerrit 'getting started' и установите   в новое место. (Это также создаст подлинную копию с названием  в вашем репозитории.)

Проверка версии Node: наберите  (или   в Debian/Ubuntu) и это должно вывести   или. (Если выше, тоже подойдет.) Смотрите, если это не так.

Установите JS-зависимости. Запустите эту команду в директории Parsoid (содержащей package.json):

Настройка
Если вы хотите указать веб-службу Parsoid для своей wiki, зайдите в директорию  и отредактируйте файл. Используйте параметр, чтобы указать экземпляр(ы) MediaWiki, который(е) вы хотите использовать, как здесь:

Если вы хотите указать веб-службу Parsoid для своей wiki, используя файл, раскомментируйте в файле   путь   как здесь:

а также закомментируйте параметры,   и   как здесь:

перейдите в папку  и создайте файл   на основе файла. Use  to point to the MediaWiki instance(s) you want to use like this:

Currently Parsoid supports public wikis, and private wikis using cookie forwarding. (See bug 67313 for some more hints on getting this working. Also see this Talk thread for a workaround)

You can then access pages of your wiki in Parsoid with the relative URL '/yoursite.com/v3/page/html/&lt;page-title&gt;/'

See for more details.

Run the server
You should be able to start the Parsoid web service from the parsoid directory using:

and on ubuntu 14.04 type this in /parsoid directory.

This will start the Parsoid HTTP service, its default in localsettings.js is to listen on port 8000. To test it, point your browser to http://localhost:8000/. If you configured Parsoid correctly, you should be able to parse pages via. Note that this test might also fail, in the case your hosting provider has disabled port 8000 for your account.

Two environment variables are available to control binding to a specific interface and/or port:

export INTERFACE=127.0.0.1 export PORT=8142 nodejs bin/server.js

Starting the Parsoid service automatically
There are many ways to start services automatically, consult your server's operating system documentation.

On Ubuntu and other operating systems using Upstart, one approach is

where /etc/init/parsoid.conf contains configuration similar to MediaWiki-Vagrant's :

On recent versions of Fedora and other operating systems using systemd, use a parsoid.service unit file similar to the following template (modify the file paths as appropriate):

The optional  directive above can specify the path to a file similar to the following template:

You can also use PM2 to daemonize the server.js application.

Install using npm:

Start server.js through PM2:

The parsoid server is now running and managed by PM2. Save the process list:

Now whenever PM2 starts the parsoid server application will run and be managed by PM2. The final step is to have PM2 automatically start on system boot:

For later Ubuntu releases that use systemd use this as the [platform] rather than 'ubuntu'.

See bug 53723 for packaging plans that should make the general installation easier.

Automatically Starting on Mac OS X
On Mac OS X, you can create a plist. This example names the plist as org.mediawiki.parsoid.start.plist and saves it in /Library/LaunchDameons. Copy the following content to the org.mediawiki.parsoid.start.plist file:

Note: The "WorkingDirectory" path /Applications/Parsoid/parsoid/bin should be replaced with the path where your server.js is located. Also, make sure you make root the owner of this plist, i.e.:

Gentoo Linux, Funtoo Linux
As an init.d file, supposing that node is installed in its default location and parsoid installed system-wide (npm install -g)

A better idea would be to run Parsoid without root permissions. Let's create unprivileged system account:

And our init.d script would change accordingly (assuming default locations, system-wide installation):

Windows setup
These steps are the same as the installation of Parsoid on Linux:

git clone https://gerrit.wikimedia.org/r/p/mediawiki/services/parsoid cd parsoid ..\npm install

If ..\npm install fails due to npm being an unknown command, try to add the nodesjs\ folder to the PATH, as explained earlier in the Install prerequisite software section, and run npm install (without ..\) directly from the parsoid folder created byt the git clone command.

If the installation fails again, you may try to disable your router firewall.

When the installation is complete, configure parsoid and run (server.js might be located in the folder bin\ and not in api\ in newer versions of Parsoid):

node bin\server.js

To run parsoid in the background, create a cmd file in the parsoid directory called parsoid.bat. Setup a scheduled task to run the task on startup. Alternatively several "run batch file as a service" commands exist on the internet.

@echo off "%ProgramFiles(x86)%\nodejs\node.exe" bin\server.js

When using the cmd file as scheduled task it might be required to use the full path to the server.js file (e.g. C:\www\parsoid\bin\server.js) instead of bin\server.js.

Git will fail to download if you have a corporate proxy to go through, so you need to do the following first;

git config --global -e

This will launch an editor now press i once in insert mode type;

[http] proxy = http://proxy.company.com:8080

Now finally press ESC and then type :wq and press enter to save changes. Proxy is now enabled.

Windows Server 2008 R2
MediaWiki must be installed, and an extension Visual Editor as well. Install Git. We may be need to add into an environment variable PATH with the path to the program, e.g.:

C:\Git\bin

Parsoid converts wiki-text to HTML. It require Node.js to be installed. Download and install Node.js x86 MSI latest version. Also we need Python v.2.7.x. Download and install it. Add into an environment variable PATH with the path to the program, if the variable is not there:

C:\Python27\;C:\Python27\Scripts

Start Git CMD or BASH, and enter the code:

There must be no errors.

Now install Parsoid. Enter following lines in Git CMD or BASH:

These commands start Parsoid's files downloading in a folder path to which you can see in a CMD windows (from where you start Git console); jump to folder "parsoid"; and installing component. You may need to reboot your PC if the process of execution of last command hangs. After reboot run the last line.

Then, when everything is done well, copy the localsettings.js.example file to localsettings.js and the config.example.yaml file to config.yaml. Edit following line in those files:

It is url of you mediawiki api.php file, e.g.:

You may also to correct the other important for you lines in those files. To start Parsoid input the next command:

This will start parsoid in a local session, when the machine is restarted – it won’t run again. To run it automatically we need, for example, to create a CMD file with the following content:

here  - is your Parsoid folder. Then add to the windows Scheduler a task for starting this CMD file when computer starts, and check the task's parameters at your discretion.

It is written on the basis of Installing MediaWiki on Windows Server 2012 R2 Core with clarity.

Разрешение проблем
Если что-то всё ещё не работает, см. нашу страницу решения проблем.

См. также

 * Программа развертывания Parsoid в кластере Wikimedia
 * VisualEditor and Parsoid server installation from Git on Mac OSX (Ujjwal P)