==== Логотип, favicon ====
Загрузить картинку с названием logo в корень ($DokuWiki/data/media), она подхватится автоматически.\\
favicon.ico - так же.
favicon должен быть многослойным 8-bit PNG 16x16px, 32x32px и 48x48px.
Сделать такой favicon можно GIMP-ом, сначала подготовив отдельные картинки нужного разрешения, затем открыть самую большую и подгрузить оставшиеся как слои (ПКМ на картинке -> File -> Open as layers). Экспортировать как favicon.ico.
https://www.dokuwiki.org/tips:favicons
==== Права ====
If you have root (super user rights) you can change the owner of files and directories. This means you can change the owner of the DokuWiki files to the web server user (e.g. www-data or nobody) and set the permissions to webserver only access. E.g. 0600 for files and 0700 for directories.
chown -R www-data:www-data /var/www/html
chmod -R 0700 /var/www/html
https://www.dokuwiki.org/install:permissions#which_permissions_to_set
==== "Красивые" ссылки ====
В консоли:
cd /var/www/html/wiki
cp .htaccess.dist .htaccess
nano .htaccess
Раскомментировать следующие строки:
## Uncomment these rules if you want to have nice URLs using
## $conf['userewrite'] = 1 - not needed for rewrite mode 2
RewriteEngine on
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
# Not all installations will require the following line. If you do,
# change "/dokuwiki" to the path to your dokuwiki directory relative
# to your document root.
RewriteBase /dokuwiki
Нижний параметр (RewriteBase /dokuwiki) исправить на нужное значение; если Dokuwiki стоит в корне, оставить только слэш. Выйти, записав файл.
Далее:
chown -R www-data:www-data /var/www/html
service apache2 reload
Зайти в Управление -> Настройки вики -> Блок "Тонкая настройка".\\
Изменить настройку "Удобочитаемые адреса (URL)" на .htaccess.\\
"Использовать слэш в URL" - поставить галку.\\
Внизу нажать кнопку "Сохранить".
https://www.dokuwiki.org/rewrite#apache
==== Перенос на другой хост ====
Необходимо сохранять даты файлов, чтобы в статьях правильно показывалась дата правки.
# С оригинального сервера
scp -rp /var/www/html/* user@docker.domain.ru:/home/user/wiki
# На новом сервере
cp -r --preserve=timestamps /home/user/wiki/* /var/lib/docker/volumes/home_wiki/_data/wiki
chown -R www-data:www-data /var/lib/docker/volumes/home_wiki/_data/wiki
https://www.dokuwiki.org/faq:servermove
==== Конвертер xlsx в таблицу Dokuwiki ====
$xlsx = Import-Excel "D:\temp\San switches.xlsx"
$headers = $xlsx[0].psobject.Properties.name -join "^" -replace "^|$","^"
$data = $xlsx |% {
$_.psobject.Properties.value -join "|" -replace "^|$","|"
}
# для сортируемых таблиц, нужен плагин https://www.dokuwiki.org/plugin:sortablejs
"`n" + "$headers`n" + ($data -join "`n") + "`n" |clip
# обычные таблицы
# "$headers`n" + ($data -join "`n") |clip
==== Конвертер CSV в таблицу Dokuwiki ====
$delim = ';'
$file = 'D:\temp\Сервера физ выведенные из экспл.csv'
$first = (gc $file)[0]
$rest = gc $file |select -Skip 1
$first = $first -replace '^','^' -replace "$delim|$",' ^'
$rest = $rest -replace '^','|' -replace "$delim|$",' |'
$first, $rest |Set-Clipboard
==== Kerberos + SSO ====
https://www.dokuwiki.org/auth:ad
Важно:
* Для корректной работы SSO A-запись DNS должна совпадать с основной частью SPN, т. е. если SPN ''HTTP/wiki.domain.ru@DOMAIN.RU'', то А-запись - ''wiki.domain.ru''. Алиасы (CNAME) могут быть любые, они роли не играют.
* Адрес входа тоже должен быть полным (опять же, совпадающим с SPN). Т. е., при входе на ''%%http://wiki.domain.ru%%'' SSO работать будет, но на ''%%http://wiki%%'' - нет (решается редиректом на веб-сервере).
* Практичнее keytab делать со случайным паролем, нет никакого смысла в его задавании извне.
Сделать keytab-файл на контроллере домена (регистр важен):
ktpass -out wiki.keytab -mapUser wiki-krb5@DOMAIN.RU +rndPass -mapOp set -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -princ HTTP/wiki.domain.ru@DOMAIN.RU
Включить в свойствах учётки ''wiki-krb5'' (в данном случае) опцию "Данная учётная запись поддерживает 256-разрядное шифрование".\\
Перенести keytab на целевой сервер.\\
https://social.technet.microsoft.com/wiki/contents/articles/36470.active-directory-using-kerberos-keytabs-to-integrate-non-windows-systems.aspx
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = DOMAIN.RU
default_keytab_name = /etc/apache2/wiki.keytab
ticket_lifetime = 24h
forwardable = yes
# The following krb5.conf variables are only for MIT Kerberos.
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
# The following libdefaults parameters are only for Heimdal Kerberos.
fcc-mit-ticketflags = true
[realms]
DOMAIN.RU = {
kdc = dc1.domain.ru
kdc = dc2.domain.ru
kdc = dc3.domain.ru
admin_server = dc3.domain.ru
default_domain = domain.ru
}
[domain_realm]
wiki = DOMAIN.RU
wiki.domain.ru = DOMAIN.RU
.domain.ru = DOMAIN.RU
domain.ru = DOMAIN.RU
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
# Apache2 Kerberos module
apt install libapache2-mod-auth-gssapi
AuthType GSSAPI
AuthName "GSSAPI Wiki SSO"
GssapiBasicAuth On
Require valid-user
Чтобы не переделывать на клиентах ссылки типа ''%%http://wiki%%'' на ''%%http://wiki.domain.ru%%'', сделать редирект.
Redirect "/" "http://wiki.domain.ru/"
https://httpd.apache.org/docs/2.4/rewrite/remapping.html
==== Прочее ====
=== Дополнительные асширения файлов для загрузки ===
nano /var/www/html/conf/mime.local.conf
vsd application/vnd.visio
vsdx application/vnd.visio
https://www.dokuwiki.org/mime#adding_additional_mime_types
=== Ширина страницы ===
mkdir /var/www/html/conf/tpl/dokuwiki --parents
echo '[replacements]' > /var/www/html/conf/tpl/dokuwiki/style.ini
echo '__site_width__ = "100%"' >> /var/www/html/conf/tpl/dokuwiki/style.ini
https://www.dokuwiki.org/template:dokuwiki#changing_the_width_and_other_styles
=== Техническая информация о странице ===
Добавить в конец ссылки
?do=check
https://www.dokuwiki.org/faq:version
==== Дополнительно ====
Обслуживание: https://www.dokuwiki.org/tips:maintenance\\
Best practice: https://www.dokuwiki.org/tips:tailorwikirules