Настройка личного викидвижка MediaWiki
Материал из Викиреальностя
Из-за удобной викиразметки и контроля за версиями (есть история правок) движок MediaWiki оказывается удобен не только для открытых всем викисайтов, но и в качестве личного «блокнота» для одного автора или небольшой группы редакторов. Такой викисайт недоступен посторонним.
Ниже описывается возможная настройка подобного сайта.
[править] Этап установки
- Выбираем базу данных SQLite, а не обычную MySQL. Нагрузка на ваш проект будет очень мала, поэтому в быстрой серверной БД нет необходимости.
- Тип кэширования — memcached (адрес localhost:11211). Обязательно закройте файрволом этот порт (в memcached нет никакой защиты; злоумышленник может просто открыть кэш с «секретными» данными и читать).
- Отключаем все опции, связанные с почтой. Вашему викисайту это действительно не нужно.
[править] Настройка прав пользователей
Создадим три группы — reader (чтобы кому-то дать почитать содержимое), author (все права, кроме присвоения флагов читателя и редактора), founder (вообще все права, включая временное запирание базы данных проекта).
В файл LocalSettings.php добавьте строки:
# Очистить все права по умолчанию. Там много нам ненужного (включая регистрацию новых участников). $wgGroupPermissions = array(); # # Группа reader — читатели. Только читать они и могут. # $wgGroupPermissions['reader']['read'] = true; $wgGroupPermissions['reader']['purge'] = true; # # Группа author — уполномоченные редакторы. Могут практически всё. # $wgAddGroups['author'] = array(); $wgRemoveGroups['author'] = array('reader'); # Право снять флаг читателя. $wgGroupPermissions['author'] = $wgGroupPermissions['reader']; $wgGroupPermissions['author']['edit'] = true; $wgGroupPermissions['author']['createpage'] = true; $wgGroupPermissions['author']['createtalk'] = true; $wgGroupPermissions['author']['writeapi'] = true; $wgGroupPermissions['author']['minoredit'] = true; $wgGroupPermissions['author']['autoconfirmed'] = true; $wgGroupPermissions['author']['block'] = true; $wgGroupPermissions['author']['createaccount'] = true; $wgGroupPermissions['author']['delete'] = true; $wgGroupPermissions['author']['bigdelete'] = true; $wgGroupPermissions['author']['deletedhistory'] = true; $wgGroupPermissions['author']['deletedtext'] = true; $wgGroupPermissions['author']['undelete'] = true; $wgGroupPermissions['author']['editinterface'] = true; $wgGroupPermissions['author']['editusercss'] = true; $wgGroupPermissions['author']['edituserjs'] = true; $wgGroupPermissions['author']['import'] = true; $wgGroupPermissions['author']['importupload'] = true; $wgGroupPermissions['author']['move'] = true; $wgGroupPermissions['author']['move-subpages'] = true; $wgGroupPermissions['author']['move-rootuserpages'] = true; $wgGroupPermissions['author']['patrol'] = true; $wgGroupPermissions['author']['autopatrol'] = true; $wgGroupPermissions['author']['protect'] = true; $wgGroupPermissions['author']['proxyunbannable'] = true; $wgGroupPermissions['author']['rollback'] = true; $wgGroupPermissions['author']['upload'] = true; $wgGroupPermissions['author']['reupload'] = true; $wgGroupPermissions['author']['reupload-shared'] = true; $wgGroupPermissions['author']['unwatchedpages'] = true; $wgGroupPermissions['author']['ipblock-exempt'] = true; $wgGroupPermissions['author']['blockemail'] = true; $wgGroupPermissions['author']['markbotedits'] = true; $wgGroupPermissions['author']['apihighlimits'] = true; $wgGroupPermissions['author']['browsearchive'] = true; $wgGroupPermissions['author']['noratelimit'] = true; $wgGroupPermissions['author']['movefile'] = true; $wgGroupPermissions['author']['mergehistory'] = true; $wgGroupPermissions['author']['unblockself'] = true; $wgGroupPermissions['author']['suppressredirect'] = true; #$wgGroupPermissions['author']['upload_by_url'] = true; #$wgGroupPermissions['author']['mergehistory'] = true; # # Группа founder — аккаунт для выдачи доступа к правам читателя и редактора. # $wgAddGroups['founder'] = array('reader', 'author'); # ---- Защита: чтобы founder случайно не снял с себя флаг $wgRemoveGroups['founder'] = array('reader', 'author'); # ---/ $wgGroupPermissions['founder'] = $wgGroupPermissions['author']; # Может временно блокировать базу данных от изменений (на случай какой-то перенастройки). $wgGroupPermissions['founder']['siteadmin'] = true; # Запрет использования API для невозможности чтения свежих правок, списка участников etc. $wgEnableAPI = false;
Примечание: список прав указан состоянием на версию 1.19.
[править] См. также
Настройка личного викидвижка MediaWiki относится к теме «MediaWiki» |