КакНастраиватьКонфигурирование викиДанная страница должна помочь в процессе конфигурирования уже установленной вики на базе МойнМойн. КодировкаМойнМойн использует Юникод для внутреннего представления строк и кодировку UTF-8 для ввода/вывода, в который входят хранение страниц, генерация HTML-страниц и файлы с переводами. Кодировка, используемая для чтения и записи внешних ресурсов, задана в параметре config.charset как utf-8. Данное значение подходит для любого языка, так как любой символ может быть закодирован в UTF-8. Не рекомендуется менять значение данного параметра, не смотря на то, что технически это возможно. <!>Для использования в значениях параметров строк с символами, не входящими в набор символов ASCII (коды символов 32—127), необходимо указать корректную кодировку у файла конфигурации. Также рекомендуется проверить, что параметры консоли и редактора относительно используемых корректны.Ряд параметров обязан использовать в значениях строки Юникод. Например, имя сайта может содержать немецкие умляуты, или французские диакритические символы, или быть на русском или иврите. В связи с этим необходимо использовать строки Юникод для задания подобных значений. Строки Юникод задаются путём предварения их символом «u». Примеры использования: Рекомендуется читать комментарии в конфигурационном файле, так как в ни обычно указано, какие параметры обязаны использовать Юникод. Примечания: В рамках одного файла невозможно смешивать строковые литералы в различных кодировках. Если в строке кодировки файла указано, что используется кодировка koi8-r, то всё содержимое файла должно использовать её. При использовании кодировки UTF-8 (или только ASCII) нет необходимости использовать строки Юникод, МойнМойн самостоятельно корректно декодировать строки в этом случае. ==== Использование различных кодировок в файле конфигурации == Конфигурационный файл по умолчанию в составе дистрибутива МойнМойн использует кодировку ISO 8859-1. Это не вызывает проблем в случае использования западноевропейских языков, таких как английский или немецкий, но непригодно для использования способов письма, не использующих латиницу. Необходимо использовать кодировку UTF-8 при использовании в файле конфигурации символов, отличных от латиницы. Для этого достаточно указать следующую строку первой во всех конфигурационных файлах: /!\ Для редактирования конфигурационных файлов в кодировке UTF-8 необходим текстовый редактор, который корректно обрабатывает данную кодировку и действительно её использует. Параметры, значения которых являются строками Юникод, могут быть распознаны по значениям по умолчанию с префиксом «u"..."» или «ur"..."» (префиксный символ «u» означает «unicode» — Юникод) или в случае ,когда в описании явно указано сие. Для готовых конфигураций для различных языков см. ConfigMarket. Также см. Раздел, касающийся переменных Юникод. Конфигурирование возможностей настройки учётной записиАдминистратор может жёстко задать, отключить или запретить отдеьные параметры настройки учётной записи, см. КакНастраивать/НастройкиУчётнойЗаписи. Конфигурирование единичного экземпляра викиВ случае, если на сервере запускается единичный экземпляр вики, нет необходимости копировать файл farmconfig.py в каталог с конфигурационными файлами (удалите этот файл и одноимённый файл с расширением .pyc в случае, если они там есть). Если файл конфигурации фермы отсутствует, МойнМойн использует файл wikiconfig.py. Файл wikiconfig.py может находиться где угодно, необходима лишь возможность импортирования его МойнМойн — для этого рекомендуется добавить каталог, в котором он находится, первым элементом в sys.path (это список путей, в которых Python ищет импортируемые файлы). Задание sys.path происходит на раннем этапе запуска сервера, обычно в скрипте-адаптере (например, moin.cgi или moin.wsgi) — см. комментарии к соответствующему скрипту для подробностей. Основные замечания по структуре файла конфигурации вики или фермы: В начале идёт указание кодировки конфигурационного файла. По умолчанию указана кодировка ISO 8859-1, соответствующая символам в западноевропейских языках. При использовании других языков рекомендуется указать кодировку UTF-8, подробнее см. соответствующий раздел. Если не определить кодировку, то использование в конфигурационном файле символов, не входящих в набор символов ASCII, невозможно. Далее импортируется модуль с конфигурацией МойнМойн по умолчанию. Конфигурация по умолчанию включает в себя значения для всех необходимых параметров, посему нет необходимости задавать все параметры в конфигурационном файле, только необходимые для подстроки под имеющиеся нужды. После этого определяется новый класс конфигурации с именем «Config» и наследующий все параметры конфигурации из конфигурации по умолчанию, которая была импортирована ранее. Важно отметить, что класс обязан иметь имя «Config». Далее в классе задаются значения параметров. Необходимо отметить, что каждая строка при этом предваряется отступом в четыре пробела, табуляция не разрешается (в крайнем случае, весь файл должен использовать табуляцию для отступов, но это крайне не рекомендуется). МойнМойн не сможет работать, если в файле конфигурации будут неправильные отступы. Один из настраиваемых в первую очередь параметров это имя сайта, sitename — в большинстве случаев значение «u"Untitled Wiki"», укащанное по умолчанию, не используется. Имя вики может быть задано на произвольном языке, но перед этим желательно ознакомится с разделом о кодировках Вики запустится без дополнительных действий в случае, если установка была выполнена согласно инструкции, но, возможно, появится необходимость изменить некоторые параметры, такие как data_dir, data_underlay_dir, acl_rights_before и другие. Для большинства случаев достаточно настройки параметров, уже имеющихся в wikiconfig.py. Всё, что не задано в файле конфигурации, будет иметь значения по умолчанию, которые были унаследованы из класса DefaultConfig. Конфигурация вики-фермыВики-сервер МойнМойн позволяет иметь несколько экземпляров вики, использующие одну установку сервера, один набор конфигурационных файлов и один серверный процесс. Это особенно важно для таких запускаемых на постоянной основе (а не на время обработки одного запроса, как в случае с CGI) серверных окружений, как Twisted, так как сервер на базе Twisted постоянно занимает TCP-порт на определённом IP-адресе. Поэтому для виртуального хостинга нескольких вики на одном и том же IP и порту необходим сервер, могущий иметь загруженными несколько конфигураций одновременно и использовать нужную при обработке запроса по определённому URL. Для выбора нужной конфигурации среди имеющихся МойнМойн переменную конфигурации wikis, находящуюся в файле farmconfig.py — она содержит список пар вида (имя вики, префикс URL). Для имени вики необходимо использовать только строковые литералы, являющиеся идентификаторами Python (то есть, идентификатор ::= (буква | "_") (буква | цифра | "_")*, буква ::= ("A".."Z" | "a".."z"), цифра ::= "0".."9"; если данный набор правил непонятен, рекомендуется использовать слово, набранное латиницей). При обработке запроса по некоему URL МойнМойн выполняет поиск по данному списку и пытается последовательно применить шаблон префикс URL к имеющемуся URL. Если шаблон применяется успешно, то МойнМойн использует конфигурацию из файла имя_вики.py (находящегося обычно в том же каталоге; реально используется первое совпадение из sys.path). Файл farmconfig.py в составе дистрибутива содержит ряд примеров задания параметров для вики-фермы, содержащей несколько вики. Достаточно адаптировать его соответственно нуждам в случае необходимости использования нескольких вики. /!\ Для простоты изложения далее конфигурация вики в составе вики-фермы будет называться wikiconfig.py. Естественно, на практике нужно использовать имя файла, соответствующее имени вики (имя_вики.py). После настройки параметра wikis в файле farmconfig.py, как описано выше, необходимо настроить собственно экземпляры вики. Далее даны несколько советов для упрощения процесса администрирования вики-фермы. Рекомендуется предварительно прочитать раздел, относящийся к конфигурированию отдельного экземпляра вики, так как там поясняется механизм наследования. В МойнМойн используется механизм конфигурирования, основанный на классах Python для возможности задавать общие настройки вики в одном месте — в базовом файле конфигурации (пример конфигурации см. В файле farmconfig.py): farmconfig.py: Пояснения: В начале импортируется конфигурация по умолчанию, по аналогии с конфигурацией отдельного экземпляра вики. Далее определяется класс конфигурации вики-фермы и наследуется от конфигурации по умолчанию. Далее задаются параметры, общие для всех вики в ферме ,не затрагивая специфичных для отдельных экземпляров настроек. Данный класс (FarmConfig) будет использован как базовый в конфигурационных файла экземпляров вики вместо класса (DefaultConfig), подробнее см. ниже. Конфигурации экземпляров вики в этом случае будут содержать только те настройки, которые должны быть различными (например, логотип, директория с данными, настройки списков доступа). Всё прочее они унаследуют от базового файла конфигурации, см. moinmaster.py для примера: moinmaster.py: Пояснения: Данная конфигурация аналогична конфигурации отдельного экземпляра вики, единственным отличием является то, что наследование происходит от класса FarmConfig (который, в свою очередь, унаследован от DefaulConfig) вместо наследования от DefaultConfig напрямую. После этого значение параметра show_hosts переопределяется в False — в данном примере значение по умолчанию предполагается использовать на большинстве вики фермы, но не на этой. Также переопределяются индивидуальные параметры, такие как sitename, interwikiname и data_dir. Обзор параметров конфигурацииПредставленная далее таблица содержит значения по умолчанию и краткие описания для большинства параметров конфигурации. Для большинства из них нет необходимости переопределять значения по умолчанию, параметры, которые необходимо указывать для каждого экземпляра вики, перечислены в примере файла wikiconfig.py в составе дистрибутива МойнМойн. (!) Также можно изучить файл MoinMoin/config/multiconfig.py, класс DefaultConfig для дополнительной информации (данный файл содержит конфигурацию по умолчанию). Access control listsACLs control who may do what, see HelpOnAccessControlLists.Variable nameDefaultDescriptionFalseacl_hierarchicu''acl_rights_afteru''acl_rights_before...acl_rights_default...acl_rights_validMapping of attachment extensions to actionsVariable nameDefaultDescription...extensions_mappingAuthentication / Authorization / Security settingsVariable nameDefaultDescriptionFalseDesktopEditionNoneSecurityPolicy...actions_excluded['newaccount']actions_superuserFalseallow_xsltauth...auth_methods_trusted{'schemes': ['sha512_crypt']}passlib_crypt_contextTruepasslib_supportpassword_checker'{PASSLIB}'password_scheme12recovery_token_lifetimeNonesecrets[]superuserBackup settingsThese settings control how the backup action works and who is allowed to use it.Variable nameDefaultDescription'gz'backup_compression...backup_exclude[]backup_include[]backup_usersDatastruct settingsVariable nameDefaultDescription...dicts...groupsEditor relatedVariable nameDefaultDescriptionFalsecomment_required'warn 10'edit_locking20edit_rowsTrueedit_ticketing'text'editor_defaultTrueeditor_force'theonepreferred'editor_uiFalsepage_license_enabledu'WikiLicense'page_license_pageMail settingsThese settings control outgoing and incoming email from and to the wiki.Variable nameDefaultDescriptionNonemail_fromu'%s'mail_import_pagename_envelope'\\[\\[([^\\]]*)\\]\\]'mail_import_pagename_regex['subject', 'to']mail_import_pagename_searchu'$from-$date-$subject'mail_import_subpage_template[]mail_import_wiki_addrsNonemail_login...mail_notify_att_added_intro...mail_notify_att_added_subject...mail_notify_att_removed_intro...mail_notify_att_removed_subject...mail_notify_page_changed_intro...mail_notify_page_changed_subject...mail_notify_page_deleted_intro...mail_notify_page_deleted_subject...mail_notify_page_renamed_intro...mail_notify_page_renamed_subject...mail_notify_page_text...mail_notify_user_created_intro...mail_notify_user_created_subjectNonemail_sendmailNonemail_smarthostOpenID ServerThese settings control the built-in OpenID Identity Provider (server).Variable nameDefaultDescriptionFalseopenid_server_enable_userFalseopenid_server_enabledNoneopenid_server_restricted_users_groupOpenID Relying PartyThese settings control the built-in OpenID Relying Party (client).Variable nameDefaultDescription[]openidrp_allowed_opSpecial page namesVariable nameDefaultDescription...page_category_regexu'(?P<all>(?P<key>\\S+)Dict)'page_dict_regexu'LanguageSetup'page_front_pageu'(?P<all>(?P<key>\\S+)Group)'page_group_regexu'LocalSpellingWords'page_local_spelling_words...page_template_regexPathsVariable nameDefaultDescriptionNonecache_dir'./data/'data_dir'./underlay/'data_underlay_dir...docbook_html_dirNoneplugin_dir[]plugin_dirsNonesession_dirNoneshared_intermapNoneuser_dirRSS settingsThese settings control RSS behaviour.Variable nameDefaultDescription0rss_ddiffs0rss_diffs15rss_items_default100rss_items_limit20rss_lines_default100rss_lines_limit''rss_page_filter_pattern0rss_show_attachment_entriesTruerss_show_page_history_link0rss_uniqueSearch macro settingsSettings related to behaviour of search macros (such as FullSearch, FullSearchCached, PageList)Variable nameDefaultDescription1search_macro_highlight_pages1search_macro_highlight_titlesFalsesearch_macro_parse_argsSession settingsSession-related settings, see HelpOnSessions.Variable nameDefaultDescriptionNonecookie_domainFalsecookie_httponly(0, 12)cookie_lifetimeNonecookie_nameNonecookie_pathNonecookie_securesession_serviceAnti-Spam/Leech/DOSThese settings help limiting ressource usage and avoiding abuse.Variable nameDefaultDescription...antispam_master_url[]hosts_deny...surge_action_limits3600surge_lockout_timeNonetextchasNonetextchas_disabled_group600textchas_expiry_time...ua_spiders101unzip_attachments_count200000000.0unzip_attachments_space2000000.0unzip_single_file_sizeStyle / Theme / UI relatedThese settings control how the wiki user interface will look like.Variable nameDefaultDescriptionbacklink_method'%H:%M'changed_time_fmtNonechart_options'%Y-%m-%d'date_fmt'%Y-%m-%d %H:%M:%S'datetime_fmt...edit_bar(100, 200, 5, 10, 25, 50)history_countTruehistory_pagingNonehtml_pagetitle[]interwiki_preferredNoneinterwikinameNonelogo_string...navi_bar...packagepages_actions_excluded...page_credits''page_footer1''page_footer2''page_header1''page_header2...page_iconbar...page_icons_tableFalseshow_highlight_msgTrueshow_hostsFalseshow_interwikiTrueshow_namesFalseshow_rename_redirectFalseshow_section_numbersFalseshow_timingsFalseshow_version[]sistersitesu'Untitled Wiki'sitename[]stylesheetsFalsesupplementation_pageu'Discussion'supplementation_page_nameu'DiscussionTemplate'supplementation_page_template'modernized'theme_defaultFalsetheme_force5trail_sizeURLsVariable nameDefaultDescriptionNonenotification_bot_uri{}url_mappingsNoneurl_prefix_actionNoneurl_prefix_fckeditorNoneurl_prefix_local'/moin_static1911'url_prefix_staticUser Preferences relatedVariable nameDefaultDescription...email_subscribed_events_default[]jabber_subscribed_events_default[]quicklinks_default[]subscribed_pages_default0.0tz_offset[]userprefs_disabledUsers / User settingsVariable nameDefaultDescription...user_checkbox_defaults[]user_checkbox_disable...user_checkbox_fields[]user_checkbox_removeTrueuser_email_unique...user_form_defaults[]user_form_disable...user_form_fields[]user_form_removeu'Self'user_homewikiTrueuser_jid_unique...user_transient_fieldsVariousVariable nameDefaultDescriptionTruebang_meta['text_html']caching_formatsFalseconfig_check_enabled'wiki'default_markup''html_head...html_head_index...html_head_normal...html_head_posts...html_head_queries'en'language_defaultFalselanguage_ignore_browser1log_events_formatTruelog_remote_addrFalselog_reverse_dns_lookupsFalselog_timing...mimetypes_embed...mimetypes_xss_protectNonerefresh60rss_cache25search_results_per_page'default'siteidTruexmlrpc_overwrite_userXapian searchConfiguration of the Xapian based indexed search, see HelpOnXapian.Variable nameDefaultDescriptionNonexapian_index_dirFalsexapian_index_historyFalsexapian_searchFalsexapian_stemmingНекоторые параметры могут быть заданы только в MoinMoin/config/__init__.py (являющемся частью кода сервера и, таким образом, влияющие на поведение всех экземпляров вики, его использующих), и не могут быть заданы в конфигурации отдельных вики — их стоит менять только в случае обоснованной необходимости для таковых действий: ПараметрЗначение по умолчаниюОписаниеcharset'utf-8' Кодировка, используемая вики<!>Настоятельно не рекомендуется менять параметр config.charset. Это не тестировалось и ни коим образом не поддерживается.lowerlettersucs-2 lowercase letters Символы, считающиеся строчными буквами, используются для определения ВикиИмени. smileys[...] Список графических иконок, поддерживаемых МойнМойн — изображения и их размеры задаются в коде темы. umask0770 umask, используемая МойнМойн. Значение по умолчанию предоставляет права владельцу и группе, но не другим. upperlettersucs-2 uppercase letters Символы, считающиеся заглавными буквами, используются для определения ВикиИмени. url_schemas['http', 'ftp', ...] Протоколы URL, которые должны распознаваться в ссылках. СсылкиПомощьПоСпискамДоступа — как задавать списки доступа страниц ПомощьПоТемам — как изменить внешний вид вики КакПроверятьПравописание — как настроить функцию проверки орфографии /ПоддержкаПочты — работа с почтой в МойнМойнПомощьПоXmlСтраницам (настройка отображения XML и DocBook) /ПравилаДоступа/ПрикреплённыеФайлы/ЗащитаОтФлуда