20170305

Установка DokuWiki

1. Качаем свежую версию с https://download.dokuwiki.org/
Выбираем порддерживаемые языки, мб сразу аттачим нужные плагины.

# cd ~/src 
# wget https://download.dokuwiki.org/out/dokuwiki-bzzzxxx37.tgz
# tar zxvf dokuwiki-bzzzxxx37.tgz
# ll
drwxr-xr-x 8 apache root     4096 Feb 26 10:09 dokuwiki
-rw-r--r-- 1 root   root  2435217 Feb 26 10:08 dokuwiki-bzzzxxx37.tgz

 2. Копируем файлы dokuwiki в рабочую директорию апача и выставляем владельцев.

# cp -R ~/src/dokuwiki /var/www/
# chown -R apache:root /var/www/dokuwiki/
# ll /var/www/dokuwiki/
drwxr-xr-x  2 apache root  4096 Feb 26 10:09 bin
drwxr-xr-x  2 apache root  4096 Feb 26 10:09 conf
-rw-rw-r--  1 apache root 18092 Feb 20 22:41 COPYING
drwxr-xr-x 12 apache root  4096 Feb 26 10:09 data
-rw-rw-r--  1 apache root  3674 Feb 20 22:41 doku.php
-rw-rw-r--  1 apache root 19374 Feb 20 22:41 feed.php
drwxr-xr-x  6 apache root  4096 Feb 26 10:09 inc
-rw-rw-r--  1 apache root  2097 Feb 20 22:41 index.php
-rw-rw-r--  1 apache root 20700 Feb 20 22:41 install.php
drwxr-xr-x  8 apache root  4096 Feb 26 10:09 lib
-rw-rw-r--  1 apache root   306 Feb 20 22:41 README
drwxr-xr-x  8 apache root  4096 Feb 26 10:09 vendor
-rw-rw-r--  1 apache root    33 Feb 20 22:41 VERSION

3. Донастраиваем апач.
В /etc/httpd/conf.d/vhosts.conf пишем:

<VirtualHost *:443>
        ServerName      wiki.sitename.org
        ServerAdmin     i@am.org
        DocumentRoot /var/www/dokuwiki/
    ####
    SSLEngine on
    SSLCertificateFile /etc/httpd/ssl/wiki.sitename.org.crt
    SSLCertificateKeyFile /etc/httpd/ssl/wiki.sitename.org.key
    ####
    ErrorLog logs/wiki_sitename_org_error.log
    CustomLog logs/wiki_sitename_org_access.log common
    ####
</VirtualHost>


4. SSL
Тем или иным способом получаем ssl сертификат, в данном случаем самоподписанный:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/wiki.sitename.org.key -out /etc/httpd/ssl/wiki.sitename.org.crt

Перезапускаем апач.

5. Базовая настройка dokuwiki:
-- переходим на https://wiki.sitename.org/install.php
-- даем имя wiki
-- заведим суперпользователя
-- зададаем тип wiki - открытая, readonly или закрытая
-- выбираем тип лицензии

После настройки надо удалить install.php
# rm -f /var/www/dokuwiki/install.php


6. Переносим директории data, conf, bin за пределы веб-сервера.
# mkdir /var/www/dokudata
# mv /var/www/dokuwiki/data/ /var/www/dokudata/
# mv /var/www/dokuwiki/conf/ /var/www/dokudata/
# mv /var/www/dokuwiki/bin/ /var/www/dokudata/


Директория conf
В /var/www/dokuwiki/inc создаем файл preload.php сдел. содержания:

<?php
// DO NOT use a closing php tag. This causes a problem with the feeds,
// among other things. For more information on this issue, please see:w
// http://www.dokuwiki.org/devel:coding_style#php_closing_tags

define('DOKU_CONF','/var/www/dokudata/conf/');

Владельцев ставим apache:root

Директория data
В конец файла /var/www/dokudata/conf/local.php пишем след. строчку:

$conf['savedir'] = '/var/www/dokudata/data';

7. Выставляем прав.
chown -R apache:root /var/www/dokuwiki/
chmod -R 660 /var/www/dokuwiki/
find /var/www/dokuwiki/ -type d -exec chmod 770 {} \;

chown -R apache:root /var/www/dokudata/
chmod -R 660 /var/www/dokudata/
find /var/www/dokudata/ -type d -exec chmod 770 {} \;


Еще раз перезапускаем апач и можно пользоваться.

---

При написании заметки использовались материалы:
https://www.rosehosting.com/blog/install-and-run-dokuwiki-the-most-versatile-wiki-on-a-centos-7-vps/
https://www.dokuwiki.org/security
https://linuxcluster.wordpress.com/2014/07/16/installing-dokuwiki-on-centos-6/