MediaWiki Уроки
Часть №1 системные требования и установка
Часть №2 установка своего лого, темной темы, настройка короткого адреса и robots.txt
- Установка пользовательского лого
$wgResourceBasePath/resources/assets/wiki.png
- Рассмотрение популярных служебных страниц
Special:SpecialPages
Special:Version
Special:AllPages
Special:NewFiles
Special:UncategorizedTemplates
- Удаляем старое расширение SyntaxHighlight_GeSHi и добавляем новое Highlightjs расширение для подсветки кода
Для стандартного удаления расширения нужно выключить его в файле "LocalSettings.php" и удалить из папки "extensions/".
Для стандартной установки расширения нужно установить его в папку "extensions/" и включить его в файле "LocalSettings.php".
- Установка темной темы DarkVector
Стандартная установка и удаление темы аналогичны установке расширения, только вместо папки "extensions/" устанавливается в папку "skins/", а при включении темы в файле "LocalSettings.php" ее нужно не забыть назначить темой по-умолчанию.
- Установка короткого адреса
Цель задачи, вы установили CMS MediaWiki себе на локальный или выделенный сервер, допустим на локалхост. И ожидаете увидеть следующий URL-адрес:
http://localhost/Заглавная_страница
Но по факту адрес выглядит следующим образом:
http://localhost/index.php/Заглавная_страница
Как убрать этот долбанный "index.php"? (решение исключительно для серверов под Apache)
1. Сначала создаете .htaccess файл в корневой директории сайта и помещаете туда следующее содержимое:
RewriteEngine On RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/index.php [L]
2. Потом добавляем в файл LocalSettings.php следующую строчку:
$wgArticlePath = "/$1";
3. Профит
- Создание и настройка файла Robots.txt
После манипуляций проведенных выше, сайт будет загружаться по-умолчанию без приставки /index.php/, однако если вручную это прописать, сайт откроется и с ней тоже. Это не баг, а нормальное явление. Получается дублирование страниц, что плохо для SEO, потому нужно создать файл Robots.txt и прописать в нем исключения для поисковых систем.
User-agent: * Disallow: /index.php
Часть №3 создание шаблнов
- Создаем шаблон "программа" и стили к ней
Шаблоны позволяют, к примеру, выводить информацию о субъекте статьи кратко справа в углу.
Каждый шаблон состоит из непосредственно самой страници шаблона и из CSS стилей к ней.
Список всех шаблонов в вашей вики можно посмотреть на странице Special:UncategorizedTemplates
Список всех стилей для шаблонов можно посмотреть на странице MediaWiki:Common.css
Для создания шаблона нужно в адресной строке ввести /вашСайт/Template:Program, где Program - это название вашего шаблона
Вики вам скажет, что данного шаблона не существует и предложит вам создать его, соглашайтесь.
<div class="Program"> <div class="Program-title">{{{title|{{PAGENAME}}}}}</div> {{#if:{{{logo|}}}| <div class="Program-logo">[[File:{{{logo}}}|300px]]</div>}} <table> </tr>{{#if:{{{website|}}}|<tr> <th>Official website:</th> <td>{{{website}}}</td> </tr>}}{{#if:{{{category|}}}|<tr> <th>Category:</th> <td>{{{category}}}</td> </tr>}}{{#if:{{{destination|}}}|<tr> <th>Destination:</th> <td>{{{destination}}}</td> </tr>}}{{#if:{{{license|}}}|<tr> <th>License:</th> <td>{{{license}}}</td> </tr>}} </table> </div>
Теперь идем на страницу MediaWiki:Common.css и создаем для этого шаблона, этих дивов, стили
.Program { background: #252525; border: 1px solid #aaa; float: right; margin: 0 0 1em 1em; padding: 1em; width: 400px; } .Program-title { font-size: 2em; text-align: center; } .Program-logo { text-align: center; } .Program th { text-align: right; vertical-align: top; width: 120px; } .Program td { vertical-align: top; }
После чего данный шаблон можно использовать при создании статей
{{Program |title = {{PAGENAME}} |logo = Blender-logo.png |website = www.blender.org |category = 3д-моделирование |destination = полный цикл создания 3д моделей включая анимирование, за исключением скульптинга, который лучше делать в ZBrush |license = бесплатный }}
Часть №4 создание резервной копии, удаление базы знаний и восстановление ее из резервной копии
- Так как MediaWiki размещается в файлах на диске и в таблицах базы данных, необходимо дедать бекапы как файлов, так и базы данных.
- Важно всегда проводить верификацию бэкапов, не просто их сделать, а сделать и попробовать востановиться из них дабы быть уверенными в корректном выполнении бэкапа.
Часть №5 обновление MediaWiki до новой версии и дебаггинг
- Скачиваем архив с новой версией и распаковываем его в репозиторий с нашей MediaWiki, совпадающие файлы следует заменить.
- При необходимости обновляем версию php и версии сторонних расширений установленных вами ранее, дабы они соответствовали требованиям новой версии MediaWiki.
- Дальше следует зайти по SSH на ваш сервер, в каталог \maintenance и выполнить там скрипт
php update.php
который обновит структуру MediaWiki, а так же структуру базы данных.
- Дебаггинг. В случае если на какой-то странице, обычно после обновления на новую версию, пишет "внутренняя ошибка", необходимо зайти в файл LocalSettings.php и добавить сразу после открывающегося тега php следующий код
error_reporting( -1 ); ini_set( 'display_errors', 1 );
данный код будет выводить ошибки php сверху на странице
Вполне вероятно, что проблема из-за того, что такой компонент как Composer требует обновления, ошибка будет похожа на
.../vendor/composer/ClassLoader.php on line 444
В этом случае, вам необходимо будет зайти на ваш сервер по SSH, перейти в каталог .../vendor/composer/ и выполнить там скрипт
composer update
вам возможно напишет
No composer.json in current directory, do you want to use the one at /home/.../yourSitename/vendor? [Y,n]?
вы должны выбрать Yes