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