Установка обновлений Mediawiki

Материал из Брацка Правки
Перейти к: навигация, поиск
Каждое приложение находится в постоянном обновлении. Так как при обновлении что-то улучшается, исправляются ошибки предыдущих версий. Именно поэтому Братска школа также идет в ногу с обновлениями. На этой странице мы выработаем инструкцию по установке в приладе обновлений Mediawiki.

Перенос файлов

Первое, что необходимо сделать это перенести файлы обновлений. Для переноса файлов есть несколько методов предложенные изготовителем обновлений, нужно выбрать самый подходящий из них. Рассмотрим их ниже для примера.

  • Wget -- это компьютерная программа, которая получает контент с веб-серверов. Это часть проекта GNU. Название этого метода происходит от Всемирной паутины. Он поддерживает загрузку через HTTP, HTTPS и FTP. Его функции включают рекурсивную загрузку, преобразование ссылок для просмотра локального HTML в автономном режиме и поддержку прокси. Этот метод загрузки файлов является надежным, так как в случае проблем с сетью, загрузка продолжиться с того места, на котором остановилась.

Особенности метода wget. Wget поддерживает загрузку через прокси-серверы , которые широко используются для обеспечения доступа в Интернет внутри корпоративных брандмауэров, а также для кэширования и быстрой доставки часто используемого контента. Там, где это возможно, используются постоянные HTTP-соединения. IPv6 поддерживается в системах, которые включают соответствующие интерфейсы. SSL / TLS поддерживается для зашифрованных загрузок с использованием библиотеки OpenSSL или GnuTLS . Файлы, которые размером более 2 ГБ поддерживаются на 32-разрядных системах, которые включают в себя соответствующие интерфейсы. Скорость загрузки может быть снижена, чтобы не использовать всю доступную пропускную способность .

  • Безопасное копирование с помощью SCP или WinSCP. WinSCP — свободный графический клиент протоколов SFTP и SCP, предназначенный для Windows. Распространяется по лицензии GNU GPL. Данный метод обеспечивает защищённое копирование файлов между компьютером и серверами, поддерживающими эти протоколы. В WinSCP возможна работа с ключами и версиями протокола SSH. Также имеется возможность сохранять настройки соединений. Возможна синхронизация папок по нескольким автоматическим и полуавтоматическим алгоритмам. Вместо хранения настроек в реестре есть возможность работы с использованием файла конфигурации, что удобно при запуске с переносных носителей. Метод WinSCP поддерживает протоколы SFTP и SCP поверх SSH-1 и SSH-2, а также FTP.
  • С помощью SSH File Transfer Protocol (SFTP). SFTP — это протокол прикладного уровня, предназначенный для копирования и выполнения других операций с файлами поверх надёжного и безопасного соединения. Протокол разработан группой IETF как расширение к SSH-2, однако SFTP допускает реализацию и с использованием иных протоколов сеансового уровня. Разработчики инженерного совета интернета(IETF) заявляют, что, хотя этот протокол описан в контексте протокола SSH-2, он может использоваться в ряде различных приложений, таких как безопасная передача файлов через Transport Layer Security (TLS) и передача информации в приложениях VPN. Этот протокол предполагает, что он работает по защищенному каналу, например SSH, что сервер уже аутентифицировал клиента, и что протоколу доступна информация пользователя.
  • С использованием FTP-клиента. FTP (англ. File Transfer Protocol) — протокол передачи файлов по сети, является одним из старейших прикладных протоколов, в первое время он работал поверх протокола NCP. Протокол построен на архитектуре «клиент-сервер» и использует разные сетевые соединения для передачи команд и данных между клиентом и сервером. Пользователи FTP могут пройти аутентификацию, передавая логин и пароль открытым текстом, или же, если это разрешено на сервере, они могут подключиться анонимно. Можно использовать протокол SSH для безопасной передачи, скрывающей (шифрующей) логин и пароль, а также шифрующей содержимое.

Подготовка

Скачиваем файл для загрузки обновленной версии. https://www.mediawiki.org/wiki/Manual:Upgrading

MediaWiki 1.35.1 -- это обслуживаемая версия MediaWiki 1.35.

Хотя обычно для точечных выпусков update.php не требуется, рекомендуется запускать его для версии 1.35.1, так что sites.site_language обновлено, чтобы принять 35 символов. Срок действия списка наблюдения больше не считается экспериментальным, но по умолчанию отключен. Чтобы включить его, установите $ wgWatchlistExpiry = true; в вашем LocalSettings.php.

Перед переносом файлов необходимо сделать резервную копию существующих файлов и базы данных. Распакуйте новые файлы. Обновите расширения. Запустите скрипт обновления для проверки базы данных Протестируйте обновление Удалите "хвосты" от старых инсталляций Проверка требований

MediaWiki версии 1.35 требует:

PHP 7.3.19+, кроме версии 8.0 и также не поддерживается версия 7.4.0 и 7.4.2, лучше всего подойдет версия 7.4.3 MySQL 5.5.8+ (или эквивалентную версию MariaDB) Рекомендуемые минимальные требования: 256 МБ ОЗУ для веб-сайта на одном компьютере и 85 МБ хранилища, хотя этого недостаточно для загруженного общедоступного сайта или сайта с включенной загрузкой. Некоторые пользователи сообщают, что MediaWiki запускается на компьютерах с объемом оперативной памяти всего 48 МБ. Другое программное обеспечение ImageMagick или GD требуется для создания эскизов изображений . TeX требуется для встроенного отображения математических формул. В большинстве дистрибутивов на основе Debian / Ubuntu он находится в texliveпакете. Sendmail необходим для того, чтобы система могла отправлять электронные письма. Для запуска сценариев обслуживания требуется доступ к оболочке ; без него обновление MediaWiki может быть затруднено. GNU diff3 может быть предоставлен для автоматического разрешения конфликтов. VisualEditor В MediaWiki версии 1.34 и выше, VisualEditor расширение (а также StructuredDiscussions (старый Flow) расширение) потребовало Parsoid веб - службы, которая была реализована с использованием Node.js . Node.js не предоставляется большинством компаний, предоставляющих общий хостинг (HostGator, Bluehost, Dreamhost и т. Д.). По соображениям производительности и безопасности лучше использовать решение для выделенного хостинга, такое как виртуальный частный сервер («VPS»). Если вы хотите вызывать модули Lua со страниц и шаблонов вики, для этого также потребуется Scribunto .

Очистка списка задач В интересах производительности некоторые действия с базой данных откладываются и управляются очередью задач. Эти задачи сохраняются в базе данных и содержат параметры с информацией о необходимых действиях. Крайне рекомендуется выполнить отложенные задачи перед обновлением вики во избежание их потери, что может произойти если обновление затронет параметры, указанные в этих задачах. Используйте runJobs.php чтобы выполнить все отложенные задачи и очистить очередь перед выполнением обновления. Файл runJobs.php - это сценарий обслуживания, предназначенный для принудительного запуска очереди заданий вручную . В нормальных условиях задания в очереди запускаются в зависимости от взаимодействия пользователя с вики (обычные запросы apache). Рабочие скорость по умолчанию являются пробег 1 к 1 , и может быть изменена путем корректировки в «LocalSettings.php» файл. Обратите внимание, что ограничение памяти по умолчанию для задания составляет 150 МБ, так что некорректная работа не занимает всю память сервера. $wgJobRunRate

Вы можете использовать этот сценарий, потому что трафик вашей вики слишком медленный, чтобы очистить очередь, или может потребоваться очистить исключительно большое количество заданий. Однако имейте в виду, что для многих конфигураций сервера это может привести к тому, что ваша вики станет вялой или даже не будет отвечать, пока сценарий не завершится. Вам будет рекомендовано сначала попробовать 50 или 100, чтобы почувствовать скорость скрипта, прежде чем запускать его без параметров (этот скрипт по умолчанию очищает 10 000 заданий при каждом запуске) или для более чем нескольких сотен заданий.

Также обратите внимание, что если вы случайно запустили сценарий, который загрузил очередь заданий с большим количеством нежелательных или ненужных заданий, также можно полностью очистить очередь заданий, очистив таблицу заданий в вашей базе данных вики. Убедитесь, что в очереди нет заданий, так как все задания будут безвозвратно удалены. "runJobs.php" может зависнуть при определенных обстоятельствах, если у вас включено кэширование объектов. В этом случае создайте еще один файл LocalSettings.php без включенного кэширования объектов:

$ wgMainCacheType = CACHE_NONE ; Затем запустите «runJobs.php» с --confпараметром, чтобы указать местоположение нового LocalSettings.phpфайла с отключенным кешированием.

Однако это не рекомендуется, поскольку некоторые задания будут очищать объекты из кеша объектов, который не будет очищен, поскольку кэширование отключено. Это приведет к тому, что некоторые обновления не будут отражены в вики. В идеале вы должны найти причину проблемы, обычно это отсутствующее расширение PHP в php.ini PHP, запускаемого из командной строки.

Распаковка файлов

Если использовать пакет tarball, то необходимо разместить новые файлы с помощью FTP или командной строки. Использование командной строки будет намного быстрее, чем загрузка каждого из тысяч файлов через FTP. Необходимо поместить распакованный архив в новую пустую папку на сервере иначе, если делать распаковку файлов поверх старой версии, то некоторые файлы могут помешать обновленному коду. Рекомендуется распаковать новые файлы в новый каталог, а затем применить настройки к новому каталогу (восстановить LocalSettings.php, папку изображений, расширения и другие настройки, такие как пользовательские скины). Если вы не можете получить доступ к командной строке на своем сервере, загрузите tarball MediaWiki на свой локальный компьютер и используйте 7zip для извлечения tarball на свой локальный компьютер. После того, как вы извлекли файлы локально, используйте ваше любимое программное обеспечение FTP-клиента для загрузки каталогов и файлов на сервер.


cPanel файловый менеджер cPanel - популярный интерфейс, предоставляемый многими веб-хостингами. Этот метод эффективен, поскольку файлы не сжимаются на самом сервере.

Перейдите в каталог, в котором находится ваша вики-папка. Загрузите файл mediawiki-1.35.1.tar.gz. Возможно, вам придется нажать «Перезагрузить», чтобы увидеть его. Распакуйте файл mediawiki-1.35.1.tar.gz. Перезагрузите снова. Убедитесь, что папка mediawiki-1.35.1 присутствует. Удалите файл tar.gz. Скопируйте все необходимые скины, расширения, папки изображений, настройки и LocalSettings.php в новую папку. (см. ниже) Когда будете готовы запустить update.php, переименуйте старую папку вики и новую папку вики. (например, «w» становится «w1.34», а затем «mediawiki1.35.0» становится «w») Этот шаг легко обратим, если вы столкнетесь с проблемами.


Командная строка Возможно, вам потребуется выполнить команду, как sudo, если у вас нет полных прав на запись в каталоги установки вики под вашим текущим пользователем. При распаковке tarball-пакета обычно создается новый каталог для новой версии вики, и вам нужно будет скопировать старые файлы конфигурации и каталог изображений из старого каталога установки:

$ cd / путь / к / вашему / новому / установке / $ wget https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.1.tar.gz $ tar -xvzf mediawiki-1.35.1.tar.gz $ rm mediawiki-1.35.1.tar.gz (Открыть) Пользователи Solaris должны использовать gtar, или:

$ gzip -dc mediawiki-1.35.1.tar.gz | tar xf -

После распаковки архива необходимо скопировать или переместить некоторые файлы и папки из старого каталога установки в новый:

LocalSettings.php, который содержит старые настройки конфигурации. images каталог, который содержит все загруженные файлы в вики, если не выбрали другой каталог загрузки, и изменить владельца и разрешение. find ./images -type d -exec chmod 755 {} \;и chgrp -R apache images(например, если ваш веб-пользователь - apache ). Некоторые расширения в extensionsкаталоге. Вы всегда должны получать обновленные расширения, старые расширения не гарантируют работу с более новой версией MediaWiki. Так как мы используем собственный логотип, этот файл также необходимо восстановить из резервной копии. До 1.24 обычно в skins/common/images/. После 1,24 дюйма resources/assets/ или images/ если это то, что вы решили использовать. Затем добавьте в LocalSettings.php, например $wgLogo = "$wgScriptPath/images/logo.png"; Пользовательские скины из skins каталога. Любые изменения, внесенные в старые установочные файлы или расширения. Любой файл .htaccess (если вы используете Apache и определили в них какие-либо правила). После этого сделайте эту новую папку опубликованной папкой на веб-сервере или переименуйте старый установочный каталог, а затем переименуйте новый, чтобы он соответствовал старому имени.


Если же распаковку производить с Git, необходимо экспортировать файлы в чистое место, а затем скопировать старые настроенные файлы в новое место, как описано выше.

Также потребуется установить некоторые внешние библиотеки PHP с помощью Composer или предоставленной коллекции, поддерживаемой для вики-фермы Викимедиа. Более подробную информацию об установке и обновлении внешних библиотек можно найти в документации по загрузке Git.