Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/artushak/mediawiki-upgrader
Script to upgrade MediaWiki, skins and extensions
https://github.com/artushak/mediawiki-upgrader
mediawiki upgrade-tool upgrader
Last synced: 5 days ago
JSON representation
Script to upgrade MediaWiki, skins and extensions
- Host: GitHub
- URL: https://github.com/artushak/mediawiki-upgrader
- Owner: ArtUshak
- Created: 2021-01-16T06:47:20.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-08-26T06:34:40.000Z (4 months ago)
- Last Synced: 2024-10-30T05:59:25.508Z (about 2 months ago)
- Topics: mediawiki, upgrade-tool, upgrader
- Language: Shell
- Homepage:
- Size: 47.9 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Система для скачивания и обновления движка MediaWiki, расширений и скинов через git
## Директории
* `core` — директория со скачанным движком MediaWiki.
* `extensions` — директория со скачанными расширениями.
* `skins` — директория со скачанными скинами (темами оформления).
* `installation-files` — промежуточная директория, в неё во время обновления устанавливаются нужные версии компонентов, конфигурационный файл `LocalSettings.php` и т.д., структура этой директории соответствует структуре настоящей, действующей инсталляции движка.## Скрипты
### `mediawiki-upgrade`
1. Обновляет *скачанные* версии всех компонентов, прописанных в списках. Если компонент ещё вообще не скачан, скрипт попытается скачать его из соответствующего git-репозитория на [gerrit.mediawiki.org](https://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` в директории с действующей инсталляцией.