Code Monkey home page Code Monkey logo

mediawiki-upgrader's Introduction

Система для скачивания и обновления движка MediaWiki, расширений и скинов через git

Директории

  • core — директория со скачанным движком MediaWiki.
  • extensions — директория со скачанными расширениями.
  • skins — директория со скачанными скинами (темами оформления).
  • installation-files — промежуточная директория, в неё во время обновления устанавливаются нужные версии компонентов, конфигурационный файл LocalSettings.php и т.д., структура этой директории соответствует структуре настоящей, действующей инсталляции движка.

Скрипты

mediawiki-upgrade

  1. Обновляет скачанные версии всех компонентов, прописанных в списках. Если компонент ещё вообще не скачан, скрипт попытается скачать его из соответствующего git-репозитория на gerrit.mediawiki.org.
  2. Копирует компоненты в промежуточную директорию.
  3. Туда же копирует конфигурацию (LocalSettings.php) из директории с действующей инсталляцией, запускает Composer.

mediawiki-target-install

  1. Делает бэкап директории с действующей инсталляцией.
  2. Удаляет из неё всё кроме изображений.
  3. Копирует туда содержимое промежуточной директории.
  4. Выполняет скрипты автообновлений — maintenance/update.php и т.д, обновляет кэш локализации.

Конфигурационные файлы

  • extension-list.txt — список расширений. На каждой строке может быть указано имя расширения и, опционально, через символ ;, URL git-репозитория с расширением и название git-ветки. Строки, начинающиеся на #, игнорируются.
  • skin-list.txt — список скинов, аналогично.
  • mediawikirc — файл, выполняемый перед работой скрипта, в нём рекомендуется задать переменные окружения для конфигурации.

Пример фрагмента списка расширений:

DynamicPageList;https://gitlab.com/hydrawiki/extensions/DynamicPageList.git;3.3.3
CheckUser
# Unused:
#Intersection

Конфигурационные переменные окружения

  • BRANCH — название git-ветки, из которой брать версии компонентов, например REL1_35.
  • MEDIAWIKI_DIR — путь к директории с действующей инсталляцией MediaWiki.
  • PHP_EXECUTABLE — путь к исполняемуму файлу PHP (по умолчанию — просто php).
  • COMPOSER_EXECUTABLE — путь к файлу Composer'а (по умолчанию — /usr/local/bin/composer).
  • LOCALISATION_CACHE_LANG — идентификаторы языков, для которых надо пересобирать кэш локализации.
  • NGINX_LOCATION_CURRENT — путь к символьной ссылке на текущую конфигурацию nginx.
  • NGINX_LOCATION_MAIN — имя файла основной конфигурации nginx.
  • NGINX_LOCATION_MAINTENANCE — имя файла временной конфигурации nginx для техобслуживания.
  • PRESERVED_DIRECTORIES — список имён директорий, которые нужно сохранить, скопировав из директории с действующей инсталляцией в промежуточную директорию, разделённых пробелом (по умолчанию — одна директория maintenance_custom).
  • PRESERVED_FILES — список имён файлов, которые нужно сохранить, разделённых пробелом (по умолчанию — два файла: LocalSettings.php и do_maintenance).
  • DONT_PRESERVE_DIRECTORIES — непустое значение, если директории не нужно сохранять.
  • DONT_PRESERVE_FILES — непустое значение, если файлы не нужно сохранять.
  • MYSQL_USER, MYSQL_PASSWORD, MYSQL_DATABASE — имя пользователя, пароль и имя базы данных MySQL для создания дампа.
  • MYSQL_HOST — хост MySQL (по умолчанию — localhost).
  • FILE_BACKUP_DIRECTORY — путь к директории с дампами файлов MediaWiki.
  • MYSQL_DUMP_DIRECTORY — путь к директории с дампами MySQL.
  • DONT_SET_NGINX_LOCATIONS — непустое значение, если файлы не нужно менять конфигурации nginx с помощью символьных ссылок. Если значение установлено, то переменные NGINX_LOCATION_CURRENT, NGINX_LOCATION_MAIN и NGINX_LOCATION_MAINTENANCE необязательны и игнорируются.
  • DONT_CHOWN_AND_CHMOD — непустое значение, если не нужно делать chown и chmod в директории с действующей инсталляцией.

mediawiki-upgrader's People

Contributors

artushak avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.