WackoWiki: Файл Конфигурации

https://wackowiki.org/doc     Version: 63 (18.03.2024 10:55)

Файл Конфигурации

Имеется также Deutsch[link1], English[link2], Française[link3]

Более-менее подробное описание настроек конфигурации движка WackoWiki R6.1

Знак (?) означает что есть сомнение в правильности перевода. Кому известен точный вариант, либо уточнение деталей, приглашаются исправить.


1. Primary settings

Первичные установки конфигурации сайта, указываются в файле config/config.php. Настройки сайта можно менять в Админ Панели[link4] , далее по тексту АП

'base_url' => 'https://example.com/wiki/'
Полный адрес сайта
если вы предпочитаете использовать относительный URL-адрес: '/wiki/', его следует вызывать, например, локально по собственной сети и через xyz.dyndns.org.

'db_charset' => 'utf8mb4'
Устанавливает кодировку клиента

'db_driver' => 'mysqli_legacy'
'mysqli_legacy' -> mysqli
'mysql' -> pdo

'db_host' => 'localhost'
Имя хоста, на котором расположена СУБД MySQL (обычно localhost)

'db_port' => '3306'
Порт для подключения к базе данных, для MySQL по умолчанию будет использован 3306

'db_name' => 'wacko'
Имя базы данных

'db_user' => 'db_user'
Имя пользователя базы данных

'db_password' => 'mypassword'
Пароль к базе данных

'db_collation' => 'utf8mb4_unicode_520_ci'
Кодировка, с которой данные (страницы и т.п.) будут добавляться или читаться из базы, должна совпадать с кодировкой в которой создана база данных, Подробнее см документацию mysql : команда SET NAMES 'codepage' . Эта настройка применяется в функции connect() (см. файл wacko\db\mysql.php)//
Пример использования:
'db_collation' => 'utf8mb4_unicode_520_ci'

'table_prefix' => 'wacko_'
Префикс таблиц базы данных, при установке движка предлагается wacko_

'system_seed' => '12345678901234567890'
Системный идентификатор

'recovery_password' => ''
"Пароль восстановления" должен быть предварительно сгенерирован в результате Действия[link5] {{admin_recovery}}. Генерируется он на основании специально указанного в действии пароля (желательно отличающегося от пароля Администратора) и системного идентификатора. Без указанного здесь пароля невозможен доступ в АП. Пароль восстановления выглядит примерно так :
'recovery_password' => '$2y$6tfrQe/5dEG/97NsC6UDoEfOuo5yF/jzHx0vUZ6OmdC56rjzfW4sZi',

'wacko_version' => '6.1'
Номер версии движка (вручную не менять!)

2. Secondary settings

Вторичные установки. Полный набор установок хранится в базы данных в таблице prefix_config , если вы при установке не изменяли prefix таблиц то это таблица wacko_config

Изменить настройки можно через
  1. редактирование значения config_value прямо в базе данных в таблице prefix_config в панели phpMyAdmin.
    • config_name config_value
      news_cluster News
    • Не забудьте ! Чтобы изменение настроек вступило в силу необходимо удалить файл _cache/config/config.php или очистить кэш настроек через АП или действие[link5] {{admincache}}
  2. изменение настроек в АП[link4]


'root_page' => 'HomeWiki'
ВикиИмя корневой страницы. Станет корневой ссылкой сайта.

'wacko_name' => 'MyWackoWiki'
Название Вики-сайта. Будет показано в лого и заголовке (title) страниц

'rewrite_mode' => 1
Использовать короткие, красивые URL
'0' - нет
'1' - да
Если есть возможность включить на сервере mod_rewrite то рекомендуется выставлять 1. Поисковые системы любят короткие имена файлов.

'language' => 'ru'
Язык по-умолчанию. ru - русский; en - английский, и так далее.

'theme' => 'default'
Тема по умолчанию, скин, шаблон, внешний вид Вики. Лежат в папке themes/
Тему default можно изменять или создать свою тему и здесь указать её имя для применения по умолчанию.

'allow_themes' => '0'
'0' (по умолчанию) - все доступные темы (имеющиеся в папке themes/) будут доступны для переключения на них в настройках пользователей. Если надо ограничить применение тем то следует прямо указать имена (папки )разрешённых тем, например 'default, coffee'

'show_spaces' => 1
Показывать пробелы в ВикиИменах
Пробелы рекомендуется оставлять - это полезно для поисковых систем.

'default_typografica' => '1'
- использовать встроенную типографику
'0' - нет
'1' - да

'paragrafica' => 1
Использовать встроенную параграфику
'0' - нет
'1' - да

'allow_x11colors' => 0
Установка 1 разрешит использовать расширенное цветовое форматирование - X11 Color Names[link6]

'referrers_purge_time' => 1
Время хранения информации о ссылках на данную страницу (кол-во дней)
'0' - неограниченное кол-во времени, не рекомендуется чтобы не увеличивать размер базы данных.

'pages_purge_time' => 0
Время хранения истории изменений страницы.
'0' - неограниченное время.
'1' - один день,
'90' - 90 дней и т.д.

'store_deleted_pages' => 1
Сохранять копии удаленных страниц
'1' - да (по умолчанию)
'0' - нет

'keep_deleted_time' => 0
Указывает сколько дней хранить копии удалённых страниц, при условии что включена опция store_deleted_pages.
'0' - неограниченное время.
'1' - один день,
'90' - 90 дней и т.д.
В процессе удаления страницы можно указать опцию "Не сохранять копию удаленной страницы и комментариев"

'edit_summary' => 0
Показывать поле для Описания изменений в режиме редактирования
'0' - нет (по умолчанию)
'1' - разрешить
'2' - обязательно, и тогда даже Админу придётся описывать каждое внесённое изменение

'minor_edit' => 0
Разрешить обозначать незначительные правки
'0' - нет (по умолчанию)
'1' - да
С установленной 1 при сравнении версий страниц можно будет отключить показ версий страниц с отмеченными незначительными правками

'section_edit' => 0,
- Включает редактирование разделов в режиме редактирования. При включенном редактировании раздела каждый заголовок начинает новый раздел. Когда страница доступна для записи, рядом с заголовком появляется небольшая ссылка на редактирование. При использовании этой ссылки в редактор загружается только данный раздел.
'0' - отключено (по умолчанию)
'1' - включено

'hide_comments' => 0
Скрывать комментарии к странице.
'0' - нет
'1' - да, скрыть от всех
'2' - да, скрыть от "гостей"

'hide_files' => 0
Скрывать список загруженных файлов к этой странице
'0' - нет
'1' - да, скрыть от всех
'2' - да, скрыть от "гостей"

'debug' => 0
Включение режима отладки. Нужен разработчикам и Админам.

'debug_admin_only' => 0
Вывод ошибок обработки на текущую страницу
'0' - не показывать
'1' - debug будет виден только Админам

'debug_sql_threshold' => 0
0 показывает все SQL-запросы, 0.01, например, только запросы, достигающие порога времени выполнения более 0.01 секунды.

'log_min_level' => 0
'0' - disabled
'1' - critical : admin action, object deletion, suspected hacking attempt
'2' - highest: locking, acl change, unsuccessful user login
'3' - high: page renaming/moving/splitting/merging, user password change/reminder, successful user login
'4' - medium: page creation (settings change), file upload, pm sending, user registration and email activation, page ownership claim
'5' - low: comment posting, user logout
'6' - lowest: page edit, user settings update
'7' - debugging: everything, where logging is necessary

'youarehere_text' => ' '
Убирает на странице ссылки на нее же и форматирует их указанным образом. Например код <b>####</b> не даст указать линк на саму себя и выделит его жирным шрифтом

'hide_locked' => 1
Скрывать страницы с ограниченными правами доступа от тех, для кого этот доступ не предназначен. 'Скрывать' означает не выводить в различных списках, таких как RecentChanges.
'1' - да , чтобы недопущенные не расстраивались
'0' - нет, тогда рядом с ссылкой на скрытые страницы появится замочек (для недопущенных) или ключик (для допущенных, чтобы показать что доступ к данной странице ограничен).

'allow_rawhtml' => 0
'1' - да, разрешать вставку HTML-кода. При этом следует включить опцию Поддержка SafeHTML чтобы фильтровать опасный код
'0' - нет, при вставке HTML-кода на странице вместо него отобразится <# <input type="text"> #>

'disable_safehtml' => '0'
Поддержка SafeHTML.

'canonical' => 0,
Полные канонические адреса
0 - URL относительно корня сервера в форме /wiki должны быть предпочтительными.
1 - Все ссылки создаются в виде абсолютных URL в виде https://example.com/wiki.

'urls_underscores' => 0
Формировать адреса (URLs) с подчерками (например, https://somewhere/Wiki_Page).

'default_write_acl' => '$'
Права по умолчанию на возможность создавать новые записи на страницах. Смотри ПраваДоступа[link7]

'default_read_acl' => '*'
Права по умолчанию на чтение

'default_create_acl' => '$'
Права создания подстраниц по умолчанию

'default_comment_acl' => '*'
Права по умолчанию на возможность оставлять комментарии

'default_upload_acl' => 'Admins',
Права загрузки файлов по умолчанию

'rename_globalacl' => 'Admins'
Указываются пользователи или группы обладающие правом на глобальное переименование страниц

'default_rename_redirect' => 1
По умолчанию устанавливать редирект со старой страницы на другую при переименовании. При этом на месте старой страницы останется только надпись Эта страница перенесена и доступна теперь по адресу ДругаяСтраница
'0' - не устанавливать редирект после переименования и тогда старая страница бесследно пропадёт если вы не передумали и в панели переименования не изменили эту настройку

'owners_can_remove_comments' => 1
Владельцы имеют право удалять комментарии к своим страницам (?)
'0' - удалять могут только администраторы (?)

'allow_registration' => 1
'1' - открытая регистрация.
'0' - регистрировать новых пользователей могут только администраторы (?)

'standard_handlers' => 'acls|addcomment|claim| diff|edit|msword|print|referrers| referrers_sites|remove|rename| revisions|revisions\.xml|show| watch|settings',
Набор обработчиков для каждой страницы сайта

'footer_comments' => 1
'1' - показывать панель комментариев на странице
'0' - не показывать

'footer_files' => 0
'1' - показывать форму загрузки файлов на странице
'0' - не показывать

'disable_tikilinks' => 0
Запретить создание Tiki.Links. Этот параметр и собственно поддержка Tiki.Links отменены в версиях выше R5.5.13

'remove_onlyadmins' => 0
'1' - только Админы имеют право на удаление страниц
'0' - Владельцы имеют право на удаление страниц

'upload' => 'admins'
Разрешает право на загрузку файлов указанной группе. 'admins' означает, что только группа Аdmins может загружать файлы
'0' (нуль) означает, что загрузка отключена.
здесь[link8] написано: upload = false, true, “admins” — кто может загружать. Анонимы не могут загружать никогда

'upload_images_only' => 0
Загружать разрешено только картинки
'1' - да
'0' - нет

'upload_max_size' => 100
Максимальный размер одного загружаемого файла, кБ

'upload_banned_exts' => 'php|cgi|js|php|php3|php4|php5| pl|ssi|jsp|phtm|phtml|shtm| shtml|xhtm|xht|asp|aspx| htw|ida|idq|cer|cdx|asa|htr|idc| stm|printer|asax|ascx|ashx| asmx|axd|vdisco|rem|soap| config|cs|csproj|vb|vbproj| webinfo|licx|resx|resources',
Файлы с такими расширениями загружать запрещено

'disable_autosubscribe' => 0
Выключить автоматическую подписку на наблюдение за своими страницами
'0' - нет
Рекомендуется оставить значение '0'. В этом случае при создании страницы будет включена подписка на наблюдение за ней и владельцу будут отправляться по почте уведомления об изменениях.

'allow_gethostbyaddr' => 1
Для анонимных пользователей попытаться записать и отобразить имя хоста, вместо IP адреса.

'multilanguage' => 0
Возможность выбора языка интерфейса из доступных. Их набор указывается при установке движка.
1 - да; 0 - нет
Если значение '0', значит будет использоваться язык указанный по умолчанию (см. 'language' => 'ru')

'cache' => 1
Использование кэша (временного сохранения сгенерированных файлов)который позволяет ускорить загрузку страниц Вики благодаря тому, что не нужно тратить ресурсы на генерацию уже сохраненных страниц. Кэшируются все просмотренные страницы без исключения.
На практике был такой случай: Вика размером в 1400 страниц за 3 дня 'накэшировала' 10000 файлов общим размером в 300 мегов. Появились торможения в работе скрипта и проблемы с выделенным под хостинг местом. Кэш пришлось отключить.
Для очистки кэша необходимо создать страницу, вставить туда действие[link5] {{admincache}}. После сохранения страницы появится кнопка очистки кэша. Данная возможность доступна только администраторам.

'cache_ttl' => 600
Время валидности кэша в секундах. По прошествии данного времени файл в кэше будет считаться 'недействительным'. Страница будет заново сформирована на основе запросов в БД и сохранена в кэш.

'cache_sql' => 0,,
- Сохранять в локальном кэше результаты определенных ресурсоемких SQL-запросов. (_cache/queries)
'0' - нет (по умолчанию)
'1' - да

'cache_sql_ttl' => 600,,
- Кэшировать результаты SQL-запросов не более чем на указанное число секунд. Использование значений свыше 1200 нежелательно.
- '600' (по умолчанию) 10 мин
- '1200' (suggested max) 20 мин

'spam_filter' => 1
Включение (цензуры) - спам фильтра spam_filter нежелательных слов. Все слова указанные в файле config/antispam.conf считаются запрещенными. Наличие такого слова запретит сохранение страницы и будет выдано сообщение типа Идентифицировано как возможный СПАМ : hоnigkuchenpferd

'pwd_min_chars' => 10
Минимальная длина пароля Пользователя

'pwd_admin_min_chars' => 15
Минимальная длина пароля Администратора

'pwd_char_classes' => 0
Требуемая сложность пароля
'0' - не проверяется
'1' - любые буквы + цифры
'2' - Заглавные и строчные + цифры
'3' - Заглавные и строчные + цифры + символы

'pwd_unlike_login' => 1
Дополнительная сложность
'0' - не проверяется
'1' - пароль не идентичен логину
'2' - пароль не содержит логин

'enable_captcha' => 1
Использовать Капчу[link9]

'captcha_new_comment' => 1,

'captcha_new_page' => 1

'captcha_edit_page' => 1

'captcha_registration' => 1

'date_format' => 'dd/MM/yyyy',
'time_format' => 'HH:mm',
'time_format_seconds' => 'HH:mm:ss',
'timezone' => 'UTC',
'name_date_macro' => '%s (%s)'
Формат указания даты и времени, см. php:date[link10] для указания желательного формата
Начиная с R6.1.4 он использует ICU Formats[link11] для форматирования локального времени/даты.

'admin_name' => 'AdminWiki'
ВикиИмя[link12] администратора, оно же логин для входа.

'referrer_policy' => 6
HTTP-заголовок Referrer-Policy определяет, какая информация о реферере, отправленная в заголовке Referer, должна быть включена в сделанные запросы.
1 no-referrer - информация о реферере не отправляется
2 no-referrer-when-downgrade - стандартное поведение, если политика не задана; передает полный путь и передает значение из HTTPS > HTTPS, но не HTTPS > HTTP.
3 same-origin -отправляет полный путь, если это тот же домен, но удаляет значение при переходе на другой сайт
4 origin - отправляет домен, но не полный путь
5 strict-origin - отправляет домен по HTTPS > HTTPS и HTTP > HTTP, но не по HTTPS > HTTP
6 origin-when-cross-origin - отправляет полный путь в том же домене и только домен при переходе на другой сайт
7 strict-origin-when-cross-origin - отправляет полный путь, если находится в одном и том же домене и с одной защищенной страницы на другую, отправляет домен при переходе с HTTPS на одном домене в другой домен и не передается при переходе с безопасного домена в небезопасный домен
8 unsafe-url - отправляет полный путь

3. Email settings

Эти настройки будут применены при отправке имейл пользователям. Пожалуйста, убедитесь, что указанный вами адрес электронной почты admin_email является действительным. На него, скорее всего, будут отправлены любые сообщения с ошибками или недоставленные сообщения. Если ваш хостер не предоставляет родной (PHP) почтовый сервис, вы можете отправлять сообщения напрямую через SMTP. Для этого потребуется адрес соответствующего сервера (при необходимости обратитесь к своему провайдеру). Если сервер требует аутентификации (и только если она требуется) введите необходимое имя пользователя, пароль и способ аутентификации.

'enable_email' => 1
Разрешить использование имейл
'1' - да
'0' - нет

'enable_email_notification' => 1
Разрешить отправку уведомлений по электронной почте.
'1' - да
'0' - нет
Установка 0 т.е. отключение уведомлений по электронной почте не влияет на сообщения электронной почты, генерируемые в процессе регистрации пользователя.


'phpmailer_method' => ' '
Метод отправки имейл
  1. mail PHP mail
  2. sendmail sendmail
  3. smtp SMTP сервер

'email_from' => ' '
Имя отправителя, будет показано в поле "From:" заголовка имейл всех отправляеных уведомлений

'admin_email' => 'admin@example.com'
е-майл администратора сайта

'abuse_email' => 'admin@example.com'
Адрес для жалоб и запросов по срочным вопросам. Может совпадать с предыдущим.

'smtp_host' => ' '
Адрес SMTP сервера. Учтите, что необходимо указывать протокол для соединения с сервером SMTP. Например: ssl://mail.example.com

'smtp_port' => ' '
- укажите точный номер порта выбранного сервера. Стандартно: SMTP порт 25 – non-encrypted или Port 465 – SSL/TLS также известный как SMTPS(ecure)

'smtp_connection_mode' => ' '
Метод аутентификации для SMTP:
Используется только в случае, если требуется имя/пароль. Спросите у своего провайдера, если не уверены, какой метод аутентификации использовать..

'smtp_username' => ' '
Имя пользователя SMTP. Введите имя только в случае, если сервер SMTP требует этого

'smtp_password' => ' '
Пароль SMTP. Введите пароль, только если SMTP требует этого.
Внимание: этот пароль будет сохранён в базе данных в незашифрованном виде и будет виден всем, кто имеет доступ к ней или к этому файлу настроек.

4. Constants

Описание настроек в файле constants.php
const CONFIG_DIR = 'config'
Место папки для хранения файлов настроек. Не следует менять т.к. зарезервировано для bootstrap тем
const CONFIG_FILE = 'config/config.php'
Место файла config.php

const CONFIG_DEFAULTS = 'config/config_defaults.php'
Место файла config_defaults.php. В этом файле записаны настрйки которые применяются при первичной установке движка

const SITE_LOCK = 'config/lock'
Место файла lock закрывающего сайт для посетителей. В этом файле записан всего один бит :
'1' - Сайт закрыт. Посетители увидят The site is temporarily unavailable due to system maintenance. Please try again later. Рекомендуется временно закрывать сайт при проведении технических работ для предотвращения повреждения базы данных. Закрыть сайт можно также из АП. Открыть сайт можно перезаписью бита в 0 в файле config/lock
'0' - Сайт открыт

const AP_LOCK= 'config/lock_ap';
Место файла lock_ap закрывающего доступ в АП. В этом файле записан всего один бит :
'1' - Панель закрыта. Рекомендуется закрывать её если не планируется частое использование. Открыть панель можно перезаписью бита в 0 в файле config/lock_ap
'0' - Панель открыта и доступна по адресу http://example.com/wiki/admin.php

const ACTION_DIR = 'action'
Место папки action для хранения Действий[link5]

const LANG_DIR= 'lang'
Место папки lang для хранения файлов с переводами на разные языки

const FORMATTER_DIR= 'formatter'
Место папки formatter для хранения файлов форматтеров

const HANDLER_DIR = 'handler'
Место папки handler для хранения файлов обработчиков

const IMAGE_DIR = 'image'
Место папки image для хранения файлов картинок используемых движком, например лого, иконки и т.п.

const THEME_DIR = 'theme'
Место папки theme для хранения файлов тем оформления

const THUMB_DIR = 'file/thumb'
Место папки thumb для хранения файлов уменьшенных копий картинок

const UPLOAD_GLOBAL_DIR = 'file/global'
Место папки global для хранения файлов доступных с любой страницы

const UPLOAD_LOCAL_DIR = 'file/perpage'
Место папки perpage для хранения файлов доступных с заданной определённой страницы. Имя файлов содержит имя этой страницы для обеспечения уникальности имён.

const UPLOAD_BACKUP_DIR = 'file/backup'
Место папки backup для хранения файлов резервных архивных копий базы и/или содежимого perpage и global. Архивы создаются в АП

const XML_DIR = 'xml'
Место папки xml для хранения файлов xml

Далее указываются места папок соответствующих кешей
const CACHE_CONFIG_DIR = '_cache/config'
const CACHE_FEED_DIR = '_cache/feed'
const CACHE_PAGE_DIR = '_cache/page'
const CACHE_SQL_DIR = '_cache/query'
const CACHE_TEMPLATE_DIR = '_cache/template'
const CACHE_SESSION_DIR = '/tmp'; // '_cache/session'

Указываются маски права доступа к файлам на сервере
const CHMOD_SAFE = 0640; // better to use 0600 in production
const CHMOD_FILE = 0644; // file creation mode
const CHMOD_DIR = 0755; // directory creation mode

const SITEMAP_XML = 'sitemap.xml'
Место файла sitemap.xml содержащего карту сайта для поисковых ботов. Карта генерируется по расписанию заданному в АП

const HTTP_403 = 'image/upload403.svg'
Место файла upload403.svg содержащего графическое изображение обозначающее ответ сервера - Ошибка 403 (Forbidden, доступ запрещен)

const HTTP_404 = 'image/upload404.svg'
Место файла upload404.svg содержащего графическое изображение обозначающее ответ сервера - Ошибка 404 (Not Found, не найдено)

const DAYSECS = 86400 // 24 * 60 * 60

const BACKUP_COMPRESSION_RATE = 9 // gzip compression rate
Указание степени сжатия файлов в создаваемых архивах

const BACKUP_MEMORY_STEP = 1048576 // max bytes to process per cycle (make sure it's at least 10 times less than PHP memory limit!)

const BACKUP_FILE_LOG = 'backup.log' // backup log filename

Форматы имён файлов в архивах
const BACKUP_FILE_STRUCTURE = 'structure.sql' // tables structure filename
const BACKUP_FILE_DUMP_SUFFIX = '.dat.gz' // tables dump filename suffix
const BACKUP_FILE_GZIP_SUFFIX = '.gz' // regular compressed files suffix

const GLOB_ALL = '{,.}*' // for glob()
const ADD_NO_DIV = '*' // for Wacko::method()
const SYSTEM_LANG = -1 // for Wacko::_t()

const AUTH_TOKEN = 'Auth'
const GUEST = 'guest@wacko'
const INTERCOM_MAX_SIZE = 262144

const LOAD_NOCACHE = 0
const LOAD_CACHE = 1
const LOAD_ALL = 0
const LOAD_META = 1

const MENU_AUTO = 0
const MENU_USER = 1
const MENU_DEFAULT = 2

const LINK_PAGE = 0
const LINK_FILE = 1
const LINK_EXTERNAL = 2

const OBJECT_PAGE = 1
const OBJECT_FILE = 2

const RECOVERY_MODE = 0; // 1 - restore database
const AUTO_REWRITE = 1; // 0 - off, turns off auto rewrite for debugging, with mode_rewrite still active on your webserver, you're also required to deactivate the rules in the .htaccess file

const SQL_MODE_STRICT = 'TRADITIONAL,NO_ENGINE_SUBSTITUTION,ONLY_FULL_GROUP_BY'
const SQL_MODE_PERMISSIVE = 'NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER'

Не изменяйте следующие три строки, НАСТОЯТЕЛЬНО ПРОСИМ! Впрочем, лучше вообще ничего тут не меняйте!
const WACKO_VERSION = '6.1.5'
const HTML_ENTITIES_CHARSET = 'UTF-8'
const XML_HTMLSAX3 = 'lib/HTMLSax3/'

const WACKO_ENV = 4; // Environment: 1 - development, 2 - test, 3 - stage, 4 - production
const HTML_FILTERING = null; // safehtml, htmlpurifier

const ACTION4DIFF = 'anchor, toc'; // allowed actions in DIFF

const DB_MIN_VERSION = ['mariadb' => '10.2.2', 'mysql' => '5.7.7']
const DB_ERROR_MODE = 1; // DB error mode: 0 - silent, 1 - warning, 2 - exception

const PHP_MIN_VERSION = '8.0'; // minimum required PHP version
const PHP_MAX_VERSION = '8.1'; // maximum required PHP version
const PHP_ERROR_REPORTING = 6; // PHP error reporting: 0 - off, 6 - all