====== DokuWiki ====== «ДокуВики» (DokuWiki) — это совместимая со стандартами и лёгкая в использовании вики, предназначенная в первую очередь для создания разного рода документации. Она ориентирована на команды разработчиков, рабочие группы и небольшие компании. Все данные хранятся в простых текстовых файлах, поэтому для работы не требуется СУБД). Простой, но мощный синтаксис облегчает создание структурированных текстов и позволяет при необходимости читать файлы данных даже за пределами вики. [[https://www.dokuwiki.org/start?id=ru:dokuwiki|«ДокуВики» (DokuWiki)]] [[https://www.dokuwiki.org/devel:releases|Информация о версиях]] Здесь описана работа с стандартным продуктом: [[https://www.dokuwiki.org|www.dokuwiki.org]], работа с программой из пакетной базы [[debian:debian|]] находится на [[debian:dokuwiki|этой]] странице. ====== Установка ====== Папка для установки: ''/opt/dokuwiki/'' Нужно скачать актуальный архив с продуктом и распаковать его в папку для установки: wget http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz tar -zxvf dokuwiki-stable.tgz -C /tmp/ Сначала нужно установить [[apache:apache|Apache]] и необходимые пакеты: * в Debian 9 (stretch): apt install php7.0 libapache2-mod-php7.0 php7.0-mcrypt php7.0-xml * в Debian 10 (buster): apt install php libapache2-mod-php php http://download.dokuwiki.org/ [[http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz|Стабильная версия]] ===== Настройка прав доступа к папкам и файлам ===== #!/bin/bash root_path=/opt/dokuwiki/ chown -R www-data:www-data $root_path find $root_path -type d -exec chmod -v 770 {} \; find $root_path -type f -exec chmod -v 660 {} \; ===== Настройка HTTP сервера ===== 1. Нужно создать файл: AliasMatch ^/dokuwiki/sites/[^/]+$ /opt/dokuwiki/ AliasMatch ^/dokuwiki/sites/[^/]+/(.*)$ /opt/dokuwiki/$1 Alias /dokuwiki /opt/dokuwiki/ Options +FollowSymLinks AllowOverride All order allow,deny Allow from all # Uncomment to implement server-side URL rewriting # (cf. ). # Do *not* mix that with multisite! #RewriteEngine on #RewriteBase /dokuwiki #RewriteRule ^lib - [L] #RewriteRule ^doku.php - [L] #RewriteRule ^feed.php - [L] #RewriteRule ^_media/(.*) lib/exe/fetch.php?media=$1 [QSA,L] #RewriteRule ^_detail/(.*) lib/exe/detail.php?media=$1 [QSA,L] #RewriteRule ^_export/([^/]+)/(.*) doku.php?do=export_$1&id=$2 [QSA,L] #RewriteRule ^$ doku.php [L] #RewriteRule (.*) doku.php?id=$1 [QSA,L] Deny from all Deny from all DocumentRoot /opt/dokuwiki/ ServerName wiki.domain.ru 2. Выполнить следующие действия: #!/bin/bash # Создаем символическую ссылку ln -s /opt/dokuwiki/conf/apache.conf /etc/apache2/sites-available/dokuwiki.conf # Разрешаем сайт a2ensite dokuwiki # Перезапуск service apache2 reload ====== Настройка ====== Начальная настройка: http://wiki/dokuwiki/install.php?l=ru ===== Назначение папок и файлов ===== FIXME [[https://www.dokuwiki.org/start?id=devel:dirlayout|Назначение папок (EN)]] [[https://www.dokuwiki.org/ru:devel:dirlayout|Назначение папок]] |**Папка с настройками**|''conf/''| |Основные настройки|''conf/local.php''| |**Папка с данными**|''data/''| |Старые версии страниц|''data/attic/''| |Страницы|''data/pages/''| |Кэш (html)|''data/cache/''| |Индексы|''data/index/''| |Блокировки|''data/locks/''| |Файлы|''data/media/''| |Старые версии файлов|''data/media_attic/''| |Временные файлы|''data/tmp/''| ===== LDAP ===== Авторизация через [[ldap:ldap|LDAP]] Установка: apt-get install php5-ldap Пример для сервера [[openldap:openldap|OpenLDAP]]: # Имя группы администраторов $conf['superuser'] = '@dokuwiki-admin'; # LDAP $conf['openregister']= 0; $conf['authtype'] = 'ldap'; $conf['auth']['ldap']['version'] = 3; $conf['auth']['ldap']['server'] = 'Сервер_LDAP'; $conf['auth']['ldap']['port'] = 389; $conf['auth']['ldap']['binddn'] = 'cn=admin,dc=domain'; $conf['auth']['ldap']['bindpw'] = 'ПАРОЛЬ'; $conf['auth']['ldap']['usertree'] = 'cn=%{user},ou=users,dc=domain'; $conf['auth']['ldap']['userfilter'] = '(&(cn=%{user})(objectClass=posixAccount))'; $conf['auth']['ldap']['grouptree'] = 'ou=groups,dc=domain'; $conf['auth']['ldap']['groupfilter'] = '(|(memberUid=%{user})(gidNumber=%{gid}))'; # $conf['auth']['ldap']['debug'] = 1; ---- https://www.dokuwiki.org/ru:auth:ldap ===== PHP ===== [[php:php#Настройка|Настройка PHP]] ====== Преобразование URL средствами веб-сервера ====== Для того, чтобы привести URL к "красивому" виду можно включить ''Преобразование URL средствами веб-сервера'', более подробно описано по адресу: [[https://www.dokuwiki.org/ru:rewrite|URL-преобразование]] - Добавить модуль в [[apache:apache|Apache]] a2enmod rewrite service apache2 restart - Разрешить преобразование: $conf['userewrite'] = '1'; - Включить правила: В файле ''dokuwiki/htaccess'' нужно убрать символ комментария с следующих строк: RewriteEngine on # Путь dokuwiki на веб сервере RewriteBase /dokuwiki RewriteCond %{HTTPS} !=on RewriteRule ^lib/exe/xmlrpc.php$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301] RewriteRule ^_media/(.*) lib/exe/fetch.php?media=$1 [QSA,L] RewriteRule ^_detail/(.*) lib/exe/detail.php?media=$1 [QSA,L] RewriteRule ^_export/([^/]+)/(.*) doku.php?do=export_$1&id=$2 [QSA,L] RewriteRule ^$ doku.php [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) doku.php?id=$1 [QSA,L] RewriteRule ^index.php$ doku.php После этого URL будут выглядеть примерно так: http://dokuwiki/start:1 При этом старые URL, например: http://dokuwiki/doku.php?id=start:1 тоже будут работать. ====== Резервное копирование ====== Список папок: /opt/dokuwiki/dokuwiki Исключение: /opt/dokuwiki/data/cache /opt/dokuwiki/data/locks /opt/dokuwiki/data/tmp Дополнительно можно использовать расширение [[https://www.dokuwiki.org/plugin:backup|BackupTool for DokuWiki]] ===== Восстановление ===== При восстановлении данных из резервной копии необходимо создать папки: mkdir /opt/dokuwiki/data/locks mkdir /opt/dokuwiki/data/tmp ====== Шаблоны ====== [[https://www.dokuwiki.org/template:default|Old default template]] ====== Расширения ====== [[dokuwiki:plugins|Расширения]] ===== Writer2DokuWiki ===== Преобразование синтаксиса форматирования [[libreoffice:libreoffice|LibreOffice]] в формат DocuWiki: [[http://www.ooowiki.de/Writer2DokuWiki.html|Расширение Writer2DokuWiki]] **Установка** В меню ''Сервис\Управление расширениями…\Добавить'', открыть Writer2DokuWiki.oxt, перезапустить [[libreoffice:libreoffice|LibreOffice]] **Выполнение** Выбрать меню ''Сервис\Дополнения\Writer2DokuWiki'' ====== Проблема в версии 0.0.20140505.a+dfsg-4+deb8u1 ====== Проблема возникает при попытке загрузить файл. * Пакет: ''dokuwiki_0.0.20140505.a+dfsg-4+deb8u1_all.deb'' * DokuWiki: ''2014-05-05a "Ponder Stibbons"'' Решение проблемы: нужно применить заплатку: {{:dokuwiki:ajax.diff|}} cd /usr/share/dokuwiki/lib/exe patch ajax.php ====== Ошибки расширений после перехода на PHP7 ====== В общем случае нужна замена аргументов функций. Образец: |Заменяем function register(&$c) \\ на \\ function register(Doku_Event_Handler $c)| [[https://www.patreon.com/posts/declaration-be-20638123|Declaration should be compatible with... | Andreas Gohr on Patreon]] [[https://forum.dokuwiki.org/thread/15046|Error Messages for plugins after update to PHP7 - DokuWiki User Forum]] ====== CSS ====== В этом разделе описаны изменения таблиц стилей CSS. https://www.dokuwiki.org/devel:css ===== userstyle.css ===== В файл ''conf/userstyle.css'' для примера внесены следующие изменения: - Выравнивание по ширине и "красная строка" для основного текста - Исправление после изменений "для основного текста" для расширения [[plugins#WRAP|WRAP]] - Таблицы: вертикальное выравнивание по середине ячейки ^ Заголовок \\ 1 ^ Заголовок \\ 2 ^ ^:::^ Заголовок \\ 2/2 ^ | Строка \\ 1 | Строка \\ 2 | | Строка \\ 1/2 |:::| - Увеличение размера шрифта в редакторе страниц - Отключение фона из блоков CODE - Расширение [[plugins#hidden-css|Hidden]] /* Выравнивание текста */ /* Основной тест */ p { text-align: justify; /* text-indent: 1.5em; */ } /* Списки */ li { text-align: justify; /* text-indent: 0em; */ } /* Содержание */ #dw__toc li{ text-align: left; } /* Plugin WRAP */ .wrap_leftalign p{ text-align: left; } .wrap_centeralign p{ text-align: center; } .wrap_rightalign p{ text-align: right; } .wrap_justify p{ text-align: justify; } /* Таблицы */ td, th { vertical-align: middle; } /* CODE */ pre, code, samp, kbd { line-height: 15px; background-color: transparent; box-shadow: none; } /* Редактор */ .dokuwiki textarea.edit { font-family: monospace; font-size: 150% } /* Строка поиска */ form.search input { padding-left: 0.5em; } ====== Логотип ====== - ''lib/tpl/dokuwiki/images'' * ''apple-touch-icon.png'' * ''favicon.ico'' * ''logo.png'' - ''data/media'' * ''logo.png'' ====== Ссылки ====== **[[https://www.dokuwiki.org/ru:manual|Руководство пользователя]]** **[[https://www.dokuwiki.org/ru:wiki:syntax|Синтаксис форматирования]]** [[https://www.dokuwiki.org/start?id=ru:install|Установка]] [[https://www.dokuwiki.org/ru:install:upgrade|Обновление]] [[https://www.dokuwiki.org/faq:forgotten_password|Forgotten Password]] [[https://www.dokuwiki.org/start?id=ru:install:dokuwiki_on_a_stick|«ДокуВики» на флешке]] [[https://www.dokuwiki.org/start?id=ru:search|Синтаксис поиска]] [[http://nikita.melnichenko.name/projects/dokuwiki-diagram/index.php?lang=ru|Модуль Диаграмма]] [[http://www.w3.org/TR/CSS2/syndata.html#value-def-color|Значения цвета в стиле CSS2]] [[http://www.w3.org/TR/2003/CR-css3-color-20030514/#svg-color|Набор ключевых слов SVG для цветов]] [[https://www.dokuwiki.org/plugin:wrap|Wrap Plugin]] http://wiki.dieg.info/dokuwiki **[[https://www.dokuwiki.org/tips:favicons|Favicons]]** **[[https://www.dokuwiki.org/start?id=ru:tips:httpslogin|Принудительное использование HTTPS при авторизации]]** {{tag>Documentation HTTP Dokuwiki}}