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, используя файл, раскомментируйте в файле   путь   как здесь:

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

перейдите в папку  и создайте файл   на основе файла. Используйте, чтобы указать экземпляр(ы) MediaWiki, который(е) вы хотите использовать, как здесь:

На данный момент Parsoid поддерживает публичные wiki, а также частные wiki, используя перенаправление cookie. (См. баг 67313, чтобы узнать хитрости как заставить это работать. Также посмотрите эту тему Обсуждения для обхода проблемы)

Потом вы сможете получить доступ к страницам Вики в Parsoid с указанием относительного URL

См. для более детальной информации.

Parsoid may not be able to communicate with an API if it is behind a local virtual-host. In such cases, use a non-virtual-host URI for the mwApis config values (this will typically be a localhost URI instead).

Запуск сервера
Вам необходимо запустить веб-службу Parsoid из директории parsoid, используя:

а в Ubuntu 14.04 наберите вот это в директории :

Это запустит HTTP службу Parsoid, который по умолчанию в  будет слушать порт 8000. Чтобы его проверить, перейдите в браузере по адресу. Если вы настроили Parsoid правильно, то вы сможете просматривать страницы через. Учтите, что эта проверка может также закончиться неудачно в случае, если ваш хостинг-провайдер отключил порт 8000 для вашей учётной записи.

Две переменные окружения доступны для контроля назначенного интерфейса и/или порта:

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

Автоматический запуск службы Parsoid
Существует много способов автоматического запуска служб, обратитесь к документации операционной системы вашего сервера.

В Ubuntu и других операционках, использующих Upstart, это достигается за счёт:

где  содержит конфигурацию подобную 's :

В последних версиях Fedora и других операционках, использующих systemd, используйте файл от parsoid.service, подобный следующему шаблону (измените соответствующие пути файла):

Опциональная директива  выше может указывать путь к файлу, подобный следующему шаблону:

Вы также можете использовать PM2, чтобы запустить фоновый процесс server.js.

Установка с помощью :

Запуск server.js через PM2:

Сервер Parsoid теперь работает и управляется с помощью PM2. Сохраните список процессов:

Теперь, когда запускается PM2, сервер Parsoid будет запускаться и управляться с помощью PM2. Последний шаг - заставить PM2 автоматически запускаться при загрузке системы:

Для более старых релизов Ubuntu, которые используют, используйте это в качестве [platform] вместо 'ubuntu'.

См. баг 53723 для порядка упаковки, что позволит сделать общую установку проще.

Автоматический запуск на Mac OS X
На Mac OS X вы можете создать файл. В этом примере  называется   и сохраняется в /Library/LaunchDaemons. Скопируйте следующее содержимое в файл :

Путь к "рабочей папке"  следует заменить на путь, где расположен ваш server.js. Также убедитесь, что у вы дали права root этому файлу, например:

Gentoo Linux, Funtoo Linux
Касательно файла, считая что Node установлен в папку по умолчанию, а Parsoid установлен общесистемно (npm install -g)

Лучшей идеей будет запустить Parsoid без прав root. Создадим непривилегированную системную учетную запись:

И наш скрипт  изменится  таким образом (предполагая каталоги по умолчанию, общесистемную установку):

Установка на Windows
Шаги те же самые, что и при установке Parsoid на Linux:

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

Если ..\npm install дает сбой, говоря, что npm неизвестная команда, попробуйте добавить каталог nodesjs\ в переменную среды PATH, как описывалось ранее в секции Установки необходимого ПО, и запустите npm install (без ..\) напрямую из папки parsoid, созданной командой.

Если установка снова не удается, можно попробовать отключить брандмауэр в маршрутизаторе.

Когда установка завершится, настройте Parsoid и запустите его (server.js должен быть расположен в папке, а не в   в более новых версиях Parsoid):

node bin\server.js

Чтобы запустить parsoid в фоне, создайте командный файл в папке Parsoid с названием. Создайте задачу в "планировщике" для ее запуска при загрузке. В качестве альтернативы в интернете существуют несколько команд "запуск командного файла как службу".

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

Если используется командный файл в качестве "назначенного задания", может потребоваться использовать полный путь к файлу server.js (например, C:\www\parsoid\bin\server.js) вместо.

Git выдаст ошибку при скачивании, если вы используете корпоративный прокси, поэтому вам может потребоваться сделать сначала следующее:

git config --global -e

Это запустит редактор. Теперь нажмите i один раз, и в режиме вставки наберите:

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

И, наконец, нажмите ESC, а затем наберите :wq и нажмите Enter, чтобы сохранить изменения. Теперь прокси включен.

Windows Server 2008 R2
MediaWiki должен быть установлен, а также установлено расширение Visual Editor. Установить Git. При необходимости добавить в переменную среды PATH путь до программы, например:

C:\Git\bin

Parsoid преобразовывает wiki-текст в HTML. Для его работы потребуется Node.js. Скачиваем и устанавливаем последнюю версию пакета Node.js MSI x86. А также Python версии 2.7.x, который также скачиваем и устанавливаем. Добавляем в переменную среды PATH пути до программы, если они не прописались:

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

Запускаем Git CMD или BASH и выполняем команду:

Смотрим, чтобы не было ошибок при ее выполнении.

После этого выполняем установку Parsoid. Для этого в командной строке Git или BASH выполняем команду:

Эти команды запускают скачивание файлов Parsoid в текущий каталог, который указан в окне командной строки (из какого места запущена консоль Git); переход в каталог "parsoid"; и сама установка компонента. Если процесс выполнения последней команды висит, то надо перезагрузить машину. После перезагрузки запустите последнюю команду.

Далее, когда все прошло успешно, нужно сделать копии файлов: localsettings.js из файла localsettings.js.example, а также config.yaml из файла config.example.yaml. В них надо откорректировать строку:

Это путь до файла api.php  вашей Wiki, например:

Также можно откорректировать остальные важные для вас параметры в этих файлах. Запуск Parsoid выполняется командой:

Parsoid запустится только в текущей сессии, а когда машина перезагрузится – он не запустится снова. Чтобы автоматизировать запуск нужно, как вариант, создать командный файл следующего содержания:

где  - ваша папка с Parsoid. И добавить в планировщике задач выполнение этого командного файла при запуске компьютера, после чего проверить параметры задачи на ваше усмотрение.

Материал подготовлен на основе статьи Installing MediaWiki on Windows Server 2012 R2 Core с уточнениями.

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

См. также

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