Содержание

Настройка прав доступа к папкам и файлам

dokuwiki_permissions.sh
#!/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. Нужно создать файл:

/opt/dokuwiki/conf/apache.conf
AliasMatch ^/dokuwiki/sites/[^/]+$      /opt/dokuwiki/
AliasMatch ^/dokuwiki/sites/[^/]+/(.*)$ /opt/dokuwiki/$1
Alias	/dokuwiki	/opt/dokuwiki/
 
<Directory /opt/dokuwiki/>
	Options +FollowSymLinks
	AllowOverride All
	order allow,deny
	Allow from all
	<IfModule mod_rewrite.c>
		# Uncomment to implement server-side URL rewriting
		# (cf. <http://www.dokuwiki.org/config:userewrite>).
		# 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]
	</IfModule>
</Directory>
 
<Directory /opt/dokuwiki/bin>
	Deny from all
</Directory>
 
<Directory /opt/dokuwiki/data>
	Deny from all
</Directory>
 
<VirtualHost *:80>
	DocumentRoot /opt/dokuwiki/
	ServerName wiki.domain.ru
</VirtualHost>

2. Выполнить следующие действия:

dokuwiki_install.sh
#!/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

Назначение папок

Папка с настройками 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:

local.php
# Имя группы администраторов
$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-преобразование

Добавить модуль в Apache

a2enmod rewrite
service apache2 restart

Разрешить преобразование:

dokuwiki/local.php
$conf['userewrite'] = '1';

Включить правила:

В файле dokuwiki/htaccess нужно убрать символ комментария с следующих строк:

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

Дополнительно можно использовать расширение BackupTool for DokuWiki

Восстановление

При восстановлении данных из резервной копии необходимо создать папки:

mkdir /opt/dokuwiki/data/locks
mkdir /opt/dokuwiki/data/tmp

Шаблоны

Внешняя ссылка

Расширения

Расширения

Writer2DokuWiki

Преобразование синтаксиса форматирования LibreOffice в формат DocuWiki: Расширение Writer2DokuWiki

Установка

В меню Сервис\Управление расширениями…\Добавить, открыть Writer2DokuWiki.oxt, перезапустить LibreOffice

Выполнение

Выбрать меню Сервис\Дополнения\Writer2DokuWiki

Проблема в версии 0.0.20140505.a+dfsg-4+deb8u1

Проблема возникает при попытке загрузить файл.

Решение проблемы: нужно применить заплатку: ajax.diff

cd /usr/share/dokuwiki/lib/exe patch ajax.php<ajax.diff

Ошибки расширений после перехода на PHP7

В общем случае нужна замена аргументов функций.

Образец:

Заменяем

function register(&$c)

на

function register(Doku_Event_Handler $c)

Declaration should be compatible with... | Andreas Gohr on Patreon

Error Messages for plugins after update to PHP7 - DokuWiki User Forum

CSS

В этом разделе описаны изменения таблиц стилей CSS.

https://www.dokuwiki.org/devel:css

userstyle.css

В файл conf/userstyle.css для примера внесены следующие изменения:

  1. Выравнивание по ширине и «красная строка» для основного текста
  2. Исправление после изменений «для основного текста» для расширения WRAP
  3. Таблицы: вертикальное выравнивание по середине ячейки
Заголовок
1
Заголовок
2
Заголовок
2/2
Строка
1
Строка
2
Строка 1/2

Отключение фона из блоков CODE Расширение Hidden

conf/userstyle.css
/* Выравнивание текста */
/* Основной тест */
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;
}

Логотип

Ссылки

Ссылка на источник статьи