Как правильно настроить установку расширения Visual Editor в MediaWiki (V1.38) с помощью docker-compose и Ubuntu 20.04?

поэтому я объясняю свою проблему.

У меня есть экземпляр MediaWiki версии 1.38 , который отлично работает локально. Этот экземпляр работает с помощью docker-compose. Вот мой YAML- файл:

      version: '3.7'
services:
  mediawiki:
    image: myImageMediawiki:1.38.2
    restart: always
    ports:
      - 8090:80
    links:
      - database
      - memcached
    volumes:
      - /home/path/mediawiki/volumes/extensions/PluggableAuth:/var/www/html/extensions/PluggableAuth
      - /home/path/mediawiki/volumes/extensions/LDAPAuthentication2:/var/www/html/extensions/LDAPAuthentication2
      - /home/path/mediawiki/volumes/extensions/LDAPProvider:/var/www/html/extensions/LDAPProvider
      - /home/path/mediawiki/volumes/extensions/LDAPAuthorization:/var/www/html/extensions/LDAPAuthorization
      - /home/path/mediawiki/volumes/extensions/Babel:/var/www/html/extensions/Babel
      - /home/path/mediawiki/volumes/extensions/VisualEditor:/var/www/html/extensions/VisualEditor
      - /home/path/mediawiki/volumes/images:/var/www/html/images
      - /home/path/mediawiki/volumes/LocalSettings.php:/var/www/html/LocalSettings.php
      - /home/path/mediawiki/volumes/ldapprovider.json:/var/www/html/ldapprovider.json
      - /home/path/mediawiki/volumes/php.ini:/usr/local/etc/php/php.ini
      - /home/path/mediawiki/volumes/logo/logo.png:/var/www/html/resources/assets/logo.png
  memcached:
    image: memcached:1.6-alpine
    restart: always
  database:
    image: mariadb:10.5
    restart: always
    volumes:
      - /home/path/mediawiki/volumes/db:/var/lib/mysql
      - /home/path/mediawiki/volumes/initdb:/docker-entrypoint-initdb.d
    environment:
      MYSQL_DATABASE: myDB
      MYSQL_USER: user
      MYSQL_PASSWORD: password
      MYSQL_RANDOM_ROOT_PASSWORD: 'yes'

Все мои контейнеры работают отлично, без каких-либо особых ошибок.

Я хочу установить плагин VisualEditor версии 1.38 . Для этого я скачал плагин с официального сайта и следовал инструкциям по установке на официальном сайте MediaWiki . Я добавляю свое расширение в папку расширений (как и другие расширения) и добавляю следующие строки в файл LocalSettings.php :

      wfLoadExtension( 'VisualEditor' );

$wgDefaultUserOptions['visualeditor-enable'] = 1;
$wgDefaultUserOptions['visualeditor-enable-experimental'] = 1;
$wgHiddenPrefs[] = 'visualeditor-enable';
$wgDefaultUserOptions['visualeditor-editor'] = "visualeditor";
$wgGroupPermissions['user']['writeapi'] = true;

После установки плагина у меня появляется кнопка VisualEditor. Однако, как только я нажимаю кнопку «Изменить», я получаю эту ошибку:

Я также посмотрел на сторону API. Этот хорошо доступен по ссылке http://localhost:8091/api.php.

Но когда я смотрю на вызов функции конечной точки для редактирования страницы с помощью VisualEditor, у меня есть этот вызов:

И получаю такой ответ:

      {
  "error": {
    "code": "apierror-visualeditor-docserver-http-error",
    "info": "Error contacting the Parsoid/RESTBase server: (curl error: 7) Couldn't connect to server",
    "docref": "See http://localhost:8091/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes."
  }
}

Если необходима дополнительная информация, не стесняйтесь спрашивать меня.

1 ответ

Я нашел решение своей проблемы.

Я обновил версию MediaWiki с 1.38 до 1.39 , а также версию PHP. Конечно, я обновил свою версию VisualEditor до 1.39 . Однако при переходе с Php 7.3 на Php 7.4 мне пришлось удалить пакет Mb-string, который несовместим с Php 7.4 .

Затем я последовал официальному руководству Mediawiki по обновлению базы данных (с помощью веб-браузера ). Однако некоторые файлы препятствовали обновлению базы данных.

Поэтому я закомментировал содержимое этих файлов и смонтировал их в свой контейнер. (не удалено, на всякий случай)

  • /var/www/html/maintenance/archives/patch-archive-MCR.sql _
  • /var/www/html/maintenance/archives/patch-revision-actor-comment-MCR.sql

Эти файлы создают индексы, удаляют несуществующие индексы или создают уже существующие столбцы или индексы.

Затем я добавил расширение VisualEditor в LocalSettings.php, и служба Parsoid/Restbase уже настроена: нет необходимости настраивать ее самостоятельно!

Все работает идеально.

Другие вопросы по тегам