MediaWiki Уроки

From ИМЛ Вики
Jump to: navigation, search

Часть №1 системные требования и установка

  • Скачиваем необходимую версию MediaWiki, GitHub
  • Устанавливаем MediaWiki

Часть №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&nbsp;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