===== Настройка прав доступа к папкам и файлам =====
#!/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/wiki:devel:dirlayout|Назначение папок]]
{{tablelayout?rowsHeaderSource=Auto}}
|Папка с настройками |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
Установка:
apt-get install php5-ldap
Пример для сервера 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/wiki:auth:ldap
===== PHP =====
Настройка PHPsoftware:development:ps_pycharm:php:php_setting
Преобразование URL средствами веб-сервера
Для того, чтобы привести URL к «красивому» виду можно включить Преобразование URL средствами веб-сервера, более подробно описано по адресу: URL-преобразование
Добавить модуль в [[https://sysadminmosaic.ru/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|Внешняя ссылка]]
===== Расширения =====
[[https://sysadminmosaic.ru/dokuwiki/plugins|Расширения]]
==== Writer2DokuWiki =====
Преобразование синтаксиса форматирования LibreOffice в формат DocuWiki: Расширение Writer2DokuWiki
**Установка**
В меню Сервис\Управление расширениями…\Добавить, открыть Writer2DokuWiki.oxt, перезапустить 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»
Решение проблемы: нужно применить заплатку: [[https://sysadminmosaic.ru/_media/dokuwiki/ajax.diff|ajax.diff]]
cd /usr/share/dokuwiki/lib/exe
patch ajax.php
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 для примера внесены следующие изменения:
- Выравнивание по ширине и «красная строка» для основного текста
- Исправление после изменений «для основного текста» для расширения **WRAP**
- Таблицы: вертикальное выравнивание по середине ячейки
{{tablelayout?rowsHeaderSource=Auto}}
^ Заголовок \\ 1 ^ Заголовок \\ 2 ^
^ ::: ^ Заголовок \\ 2/2 ^
| Строка \\ 1 | Строка \\ 2 |
| Строка 1/2 | ::: |
Увеличение размера шрифта в редакторе страниц
Отключение фона из блоков CODE
Расширение [[https://sysadminmosaic.ru/dokuwiki/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://sysadminmosaic.ru/dokuwiki/dokuwiki|Ссылка на источник статьи]]